Fossil SCM

Futher viewing enhancements for larger forum posts. The default CSS now limits the maximum height to 25em (because that amount fits nicely on a single screen on an iPhone) and all messages have a "source" link which shows the fully expanded text without scrollbars.

drh 2020-04-06 15:44 trunk
Commit 46dd6963027259f1ee479a022ebb91f755eb999ad7323d10291025094c50824e
--- src/default_css.txt
+++ src/default_css.txt
@@ -759,11 +759,11 @@
759759
padding-left: 1ex;
760760
padding-right: 1ex;
761761
margin-top: 1ex;
762762
}
763763
div.forumPostBody {
764
- max-height: 50em;
764
+ max-height: 25em;
765765
overflow: auto;
766766
}
767767
div.forumSel {
768768
background-color: #cef;
769769
}
770770
--- src/default_css.txt
+++ src/default_css.txt
@@ -759,11 +759,11 @@
759 padding-left: 1ex;
760 padding-right: 1ex;
761 margin-top: 1ex;
762 }
763 div.forumPostBody {
764 max-height: 50em;
765 overflow: auto;
766 }
767 div.forumSel {
768 background-color: #cef;
769 }
770
--- src/default_css.txt
+++ src/default_css.txt
@@ -759,11 +759,11 @@
759 padding-left: 1ex;
760 padding-right: 1ex;
761 margin-top: 1ex;
762 }
763 div.forumPostBody {
764 max-height: 25em;
765 overflow: auto;
766 }
767 div.forumSel {
768 background-color: #cef;
769 }
770
+20 -16
--- src/forum.c
+++ src/forum.c
@@ -309,11 +309,12 @@
309309
*/
310310
void forum_render(
311311
const char *zTitle, /* The title. Might be NULL for no title */
312312
const char *zMimetype, /* Mimetype of the message */
313313
const char *zContent, /* Content of the message */
314
- const char *zClass /* Put in a <div> if not NULL */
314
+ const char *zClass, /* Put in a <div> if not NULL */
315
+ int bScroll /* Large message content scrolls if true */
315316
){
316317
if( zClass ){
317318
@ <div class='%s(zClass)'>
318319
}
319320
if( zTitle ){
@@ -323,11 +324,15 @@
323324
@ <h1><i>Deleted</i></h1>
324325
}
325326
}
326327
if( zContent && zContent[0] ){
327328
Blob x;
328
- @ <div class='forumPostBody'>
329
+ if( bScroll ){
330
+ @ <div class='forumPostBody'>
331
+ }else{
332
+ @ <div class='forumPostFullBody'>
333
+ }
329334
blob_init(&x, 0, 0);
330335
blob_append(&x, zContent, -1);
331336
wiki_render_by_mimetype(&x, zMimetype);
332337
blob_reset(&x);
333338
@ </div>
@@ -446,20 +451,21 @@
446451
zUuid = p->pLeaf->zUuid;
447452
}
448453
if( p->fpid!=target ){
449454
@ %z(href("%R/forumpost/%S?t=%c",zUuid,cMode))[link]</a>
450455
}
451
- if( !bRawMode && fossil_strcmp(pPost->zMimetype,"text/plain")!=0 ){
456
+ if( !bRawMode ){
452457
@ %z(href("%R/forumpost/%S?raw",zUuid))[source]</a>
453458
}
454459
isPrivate = content_is_private(p->fpid);
455460
sameUser = notAnon && fossil_strcmp(pPost->zUser, g.zLogin)==0;
456461
@ </h3>
457462
if( isPrivate && !g.perm.ModForum && !sameUser ){
458463
@ <p><span class="modpending">Awaiting Moderator Approval</span></p>
459464
}else{
460
- forum_render(0, bRawMode?"text/plain":pPost->zMimetype, pPost->zWiki, 0);
465
+ forum_render(0, bRawMode?"text/plain":pPost->zMimetype, pPost->zWiki,
466
+ 0, 1);
461467
}
462468
if( g.perm.WrForum && p->pLeaf==0 ){
463469
int sameUser = login_is_individual()
464470
&& fossil_strcmp(pPost->zUser, g.zLogin)==0;
465471
@ <p><form action="%R/forumedit" method="POST">
@@ -567,13 +573,11 @@
567573
manifest_destroy(pOPost);
568574
}
569575
if( fpid!=target ){
570576
@ %z(href("%R/forumpost/%S",zUuid))[link]</a>
571577
}
572
- if( fossil_strcmp(pPost->zMimetype,"text/plain")!=0 ){
573
- @ %z(href("%R/forumpost/%S?raw",zUuid))[source]</a>
574
- }
578
+ @ %z(href("%R/forumpost/%S?raw",zUuid))[source]</a>
575579
if( p->firt ){
576580
ForumEntry *pIrt = p->pPrev;
577581
while( pIrt && pIrt->fpid!=p->firt ) pIrt = pIrt->pPrev;
578582
if( pIrt ){
579583
@ in reply to %z(href("%R/forumpost/%S?t=h",pIrt->zUuid))\
@@ -584,11 +588,11 @@
584588
isPrivate = content_is_private(fpid);
585589
sameUser = notAnon && fossil_strcmp(pPost->zUser, g.zLogin)==0;
586590
if( isPrivate && !g.perm.ModForum && !sameUser ){
587591
@ <p><span class="modpending">Awaiting Moderator Approval</span></p>
588592
}else{
589
- forum_render(0, pPost->zMimetype, pPost->zWiki, 0);
593
+ forum_render(0, pPost->zMimetype, pPost->zWiki, 0, 1);
590594
}
591595
if( g.perm.WrForum ){
592596
@ <p><form action="%R/forumedit" method="POST">
593597
@ <input type="hidden" name="fpid" value="%s(zUuid)">
594598
if( !isPrivate ){
@@ -719,11 +723,11 @@
719723
int notAnon = login_is_individual();
720724
int sameUser = notAnon && fossil_strcmp(pPost->zUser, g.zLogin)==0;
721725
if( isPrivate && !g.perm.ModForum && !sameUser ){
722726
@ <p><span class="modpending">Awaiting Moderator Approval</span></p>
723727
}else{
724
- forum_render(0, "text/plain", pPost->zWiki, 0);
728
+ forum_render(0, "text/plain", pPost->zWiki, 0, 0);
725729
}
726730
manifest_destroy(pPost);
727731
}
728732
}else if( zMode[0]=='c' ){
729733
style_submenu_element("Hierarchical", "%R/%s/%s?t=h", g.zPath, zName);
@@ -951,11 +955,11 @@
951955
if( P("submit") ){
952956
if( forum_post(zTitle, 0, 0, 0, zMimetype, zContent) ) return;
953957
}
954958
if( P("preview") ){
955959
@ <h1>Preview:</h1>
956
- forum_render(zTitle, zMimetype, zContent, "forumEdit");
960
+ forum_render(zTitle, zMimetype, zContent, "forumEdit", 1);
957961
}
958962
style_header("New Forum Thread");
959963
@ <form action="%R/forume1" method="POST">
960964
@ <h1>New Thread:</h1>
961965
forum_from_line();
@@ -1069,13 +1073,13 @@
10691073
zContent = "";
10701074
if( pPost->zThreadTitle ) zTitle = "";
10711075
style_header("Delete %s", zTitle ? "Post" : "Reply");
10721076
@ <h1>Original Post:</h1>
10731077
forum_render(pPost->zThreadTitle, pPost->zMimetype, pPost->zWiki,
1074
- "forumEdit");
1078
+ "forumEdit", 1);
10751079
@ <h1>Change Into:</h1>
1076
- forum_render(zTitle, zMimetype, zContent,"forumEdit");
1080
+ forum_render(zTitle, zMimetype, zContent,"forumEdit", 1);
10771081
@ <form action="%R/forume2" method="POST">
10781082
@ <input type="hidden" name="fpid" value="%h(P("fpid"))">
10791083
@ <input type="hidden" name="nullout" value="1">
10801084
@ <input type="hidden" name="mimetype" value="%h(zMimetype)">
10811085
@ <input type="hidden" name="content" value="%h(zContent)">
@@ -1093,14 +1097,14 @@
10931097
zTitle = fossil_strdup(pPost->zThreadTitle);
10941098
}
10951099
style_header("Edit %s", zTitle ? "Post" : "Reply");
10961100
@ <h2>Original Post:</h2>
10971101
forum_render(pPost->zThreadTitle, pPost->zMimetype, pPost->zWiki,
1098
- "forumEdit");
1102
+ "forumEdit", 1);
10991103
if( P("preview") ){
11001104
@ <h2>Preview of Edited Post:</h2>
1101
- forum_render(zTitle, zMimetype, zContent,"forumEdit");
1105
+ forum_render(zTitle, zMimetype, zContent,"forumEdit", 1);
11021106
}
11031107
@ <h2>Revised Message:</h2>
11041108
@ <form action="%R/forume2" method="POST">
11051109
@ <input type="hidden" name="fpid" value="%h(P("fpid"))">
11061110
@ <input type="hidden" name="edit" value="1">
@@ -1119,14 +1123,14 @@
11191123
zDate = db_text(0, "SELECT datetime(%.17g)", pPost->rDate);
11201124
zDisplayName = display_name_from_login(pPost->zUser);
11211125
@ <h3 class='forumPostHdr'>By %h(zDisplayName) on %h(zDate)</h3>
11221126
fossil_free(zDisplayName);
11231127
fossil_free(zDate);
1124
- forum_render(0, pPost->zMimetype, pPost->zWiki, "forumEdit");
1128
+ forum_render(0, pPost->zMimetype, pPost->zWiki, "forumEdit", 1);
11251129
if( P("preview") ){
11261130
@ <h2>Preview:</h2>
1127
- forum_render(0, zMimetype,zContent, "forumEdit");
1131
+ forum_render(0, zMimetype,zContent, "forumEdit", 1);
11281132
}
11291133
@ <h2>Enter Reply:</h2>
11301134
@ <form action="%R/forume2" method="POST">
11311135
@ <input type="hidden" name="fpid" value="%h(P("fpid"))">
11321136
@ <input type="hidden" name="reply" value="1">
11331137
--- src/forum.c
+++ src/forum.c
@@ -309,11 +309,12 @@
309 */
310 void forum_render(
311 const char *zTitle, /* The title. Might be NULL for no title */
312 const char *zMimetype, /* Mimetype of the message */
313 const char *zContent, /* Content of the message */
314 const char *zClass /* Put in a <div> if not NULL */
 
315 ){
316 if( zClass ){
317 @ <div class='%s(zClass)'>
318 }
319 if( zTitle ){
@@ -323,11 +324,15 @@
323 @ <h1><i>Deleted</i></h1>
324 }
325 }
326 if( zContent && zContent[0] ){
327 Blob x;
328 @ <div class='forumPostBody'>
 
 
 
 
329 blob_init(&x, 0, 0);
330 blob_append(&x, zContent, -1);
331 wiki_render_by_mimetype(&x, zMimetype);
332 blob_reset(&x);
333 @ </div>
@@ -446,20 +451,21 @@
446 zUuid = p->pLeaf->zUuid;
447 }
448 if( p->fpid!=target ){
449 @ %z(href("%R/forumpost/%S?t=%c",zUuid,cMode))[link]</a>
450 }
451 if( !bRawMode && fossil_strcmp(pPost->zMimetype,"text/plain")!=0 ){
452 @ %z(href("%R/forumpost/%S?raw",zUuid))[source]</a>
453 }
454 isPrivate = content_is_private(p->fpid);
455 sameUser = notAnon && fossil_strcmp(pPost->zUser, g.zLogin)==0;
456 @ </h3>
457 if( isPrivate && !g.perm.ModForum && !sameUser ){
458 @ <p><span class="modpending">Awaiting Moderator Approval</span></p>
459 }else{
460 forum_render(0, bRawMode?"text/plain":pPost->zMimetype, pPost->zWiki, 0);
 
461 }
462 if( g.perm.WrForum && p->pLeaf==0 ){
463 int sameUser = login_is_individual()
464 && fossil_strcmp(pPost->zUser, g.zLogin)==0;
465 @ <p><form action="%R/forumedit" method="POST">
@@ -567,13 +573,11 @@
567 manifest_destroy(pOPost);
568 }
569 if( fpid!=target ){
570 @ %z(href("%R/forumpost/%S",zUuid))[link]</a>
571 }
572 if( fossil_strcmp(pPost->zMimetype,"text/plain")!=0 ){
573 @ %z(href("%R/forumpost/%S?raw",zUuid))[source]</a>
574 }
575 if( p->firt ){
576 ForumEntry *pIrt = p->pPrev;
577 while( pIrt && pIrt->fpid!=p->firt ) pIrt = pIrt->pPrev;
578 if( pIrt ){
579 @ in reply to %z(href("%R/forumpost/%S?t=h",pIrt->zUuid))\
@@ -584,11 +588,11 @@
584 isPrivate = content_is_private(fpid);
585 sameUser = notAnon && fossil_strcmp(pPost->zUser, g.zLogin)==0;
586 if( isPrivate && !g.perm.ModForum && !sameUser ){
587 @ <p><span class="modpending">Awaiting Moderator Approval</span></p>
588 }else{
589 forum_render(0, pPost->zMimetype, pPost->zWiki, 0);
590 }
591 if( g.perm.WrForum ){
592 @ <p><form action="%R/forumedit" method="POST">
593 @ <input type="hidden" name="fpid" value="%s(zUuid)">
594 if( !isPrivate ){
@@ -719,11 +723,11 @@
719 int notAnon = login_is_individual();
720 int sameUser = notAnon && fossil_strcmp(pPost->zUser, g.zLogin)==0;
721 if( isPrivate && !g.perm.ModForum && !sameUser ){
722 @ <p><span class="modpending">Awaiting Moderator Approval</span></p>
723 }else{
724 forum_render(0, "text/plain", pPost->zWiki, 0);
725 }
726 manifest_destroy(pPost);
727 }
728 }else if( zMode[0]=='c' ){
729 style_submenu_element("Hierarchical", "%R/%s/%s?t=h", g.zPath, zName);
@@ -951,11 +955,11 @@
951 if( P("submit") ){
952 if( forum_post(zTitle, 0, 0, 0, zMimetype, zContent) ) return;
953 }
954 if( P("preview") ){
955 @ <h1>Preview:</h1>
956 forum_render(zTitle, zMimetype, zContent, "forumEdit");
957 }
958 style_header("New Forum Thread");
959 @ <form action="%R/forume1" method="POST">
960 @ <h1>New Thread:</h1>
961 forum_from_line();
@@ -1069,13 +1073,13 @@
1069 zContent = "";
1070 if( pPost->zThreadTitle ) zTitle = "";
1071 style_header("Delete %s", zTitle ? "Post" : "Reply");
1072 @ <h1>Original Post:</h1>
1073 forum_render(pPost->zThreadTitle, pPost->zMimetype, pPost->zWiki,
1074 "forumEdit");
1075 @ <h1>Change Into:</h1>
1076 forum_render(zTitle, zMimetype, zContent,"forumEdit");
1077 @ <form action="%R/forume2" method="POST">
1078 @ <input type="hidden" name="fpid" value="%h(P("fpid"))">
1079 @ <input type="hidden" name="nullout" value="1">
1080 @ <input type="hidden" name="mimetype" value="%h(zMimetype)">
1081 @ <input type="hidden" name="content" value="%h(zContent)">
@@ -1093,14 +1097,14 @@
1093 zTitle = fossil_strdup(pPost->zThreadTitle);
1094 }
1095 style_header("Edit %s", zTitle ? "Post" : "Reply");
1096 @ <h2>Original Post:</h2>
1097 forum_render(pPost->zThreadTitle, pPost->zMimetype, pPost->zWiki,
1098 "forumEdit");
1099 if( P("preview") ){
1100 @ <h2>Preview of Edited Post:</h2>
1101 forum_render(zTitle, zMimetype, zContent,"forumEdit");
1102 }
1103 @ <h2>Revised Message:</h2>
1104 @ <form action="%R/forume2" method="POST">
1105 @ <input type="hidden" name="fpid" value="%h(P("fpid"))">
1106 @ <input type="hidden" name="edit" value="1">
@@ -1119,14 +1123,14 @@
1119 zDate = db_text(0, "SELECT datetime(%.17g)", pPost->rDate);
1120 zDisplayName = display_name_from_login(pPost->zUser);
1121 @ <h3 class='forumPostHdr'>By %h(zDisplayName) on %h(zDate)</h3>
1122 fossil_free(zDisplayName);
1123 fossil_free(zDate);
1124 forum_render(0, pPost->zMimetype, pPost->zWiki, "forumEdit");
1125 if( P("preview") ){
1126 @ <h2>Preview:</h2>
1127 forum_render(0, zMimetype,zContent, "forumEdit");
1128 }
1129 @ <h2>Enter Reply:</h2>
1130 @ <form action="%R/forume2" method="POST">
1131 @ <input type="hidden" name="fpid" value="%h(P("fpid"))">
1132 @ <input type="hidden" name="reply" value="1">
1133
--- src/forum.c
+++ src/forum.c
@@ -309,11 +309,12 @@
309 */
310 void forum_render(
311 const char *zTitle, /* The title. Might be NULL for no title */
312 const char *zMimetype, /* Mimetype of the message */
313 const char *zContent, /* Content of the message */
314 const char *zClass, /* Put in a <div> if not NULL */
315 int bScroll /* Large message content scrolls if true */
316 ){
317 if( zClass ){
318 @ <div class='%s(zClass)'>
319 }
320 if( zTitle ){
@@ -323,11 +324,15 @@
324 @ <h1><i>Deleted</i></h1>
325 }
326 }
327 if( zContent && zContent[0] ){
328 Blob x;
329 if( bScroll ){
330 @ <div class='forumPostBody'>
331 }else{
332 @ <div class='forumPostFullBody'>
333 }
334 blob_init(&x, 0, 0);
335 blob_append(&x, zContent, -1);
336 wiki_render_by_mimetype(&x, zMimetype);
337 blob_reset(&x);
338 @ </div>
@@ -446,20 +451,21 @@
451 zUuid = p->pLeaf->zUuid;
452 }
453 if( p->fpid!=target ){
454 @ %z(href("%R/forumpost/%S?t=%c",zUuid,cMode))[link]</a>
455 }
456 if( !bRawMode ){
457 @ %z(href("%R/forumpost/%S?raw",zUuid))[source]</a>
458 }
459 isPrivate = content_is_private(p->fpid);
460 sameUser = notAnon && fossil_strcmp(pPost->zUser, g.zLogin)==0;
461 @ </h3>
462 if( isPrivate && !g.perm.ModForum && !sameUser ){
463 @ <p><span class="modpending">Awaiting Moderator Approval</span></p>
464 }else{
465 forum_render(0, bRawMode?"text/plain":pPost->zMimetype, pPost->zWiki,
466 0, 1);
467 }
468 if( g.perm.WrForum && p->pLeaf==0 ){
469 int sameUser = login_is_individual()
470 && fossil_strcmp(pPost->zUser, g.zLogin)==0;
471 @ <p><form action="%R/forumedit" method="POST">
@@ -567,13 +573,11 @@
573 manifest_destroy(pOPost);
574 }
575 if( fpid!=target ){
576 @ %z(href("%R/forumpost/%S",zUuid))[link]</a>
577 }
578 @ %z(href("%R/forumpost/%S?raw",zUuid))[source]</a>
 
 
579 if( p->firt ){
580 ForumEntry *pIrt = p->pPrev;
581 while( pIrt && pIrt->fpid!=p->firt ) pIrt = pIrt->pPrev;
582 if( pIrt ){
583 @ in reply to %z(href("%R/forumpost/%S?t=h",pIrt->zUuid))\
@@ -584,11 +588,11 @@
588 isPrivate = content_is_private(fpid);
589 sameUser = notAnon && fossil_strcmp(pPost->zUser, g.zLogin)==0;
590 if( isPrivate && !g.perm.ModForum && !sameUser ){
591 @ <p><span class="modpending">Awaiting Moderator Approval</span></p>
592 }else{
593 forum_render(0, pPost->zMimetype, pPost->zWiki, 0, 1);
594 }
595 if( g.perm.WrForum ){
596 @ <p><form action="%R/forumedit" method="POST">
597 @ <input type="hidden" name="fpid" value="%s(zUuid)">
598 if( !isPrivate ){
@@ -719,11 +723,11 @@
723 int notAnon = login_is_individual();
724 int sameUser = notAnon && fossil_strcmp(pPost->zUser, g.zLogin)==0;
725 if( isPrivate && !g.perm.ModForum && !sameUser ){
726 @ <p><span class="modpending">Awaiting Moderator Approval</span></p>
727 }else{
728 forum_render(0, "text/plain", pPost->zWiki, 0, 0);
729 }
730 manifest_destroy(pPost);
731 }
732 }else if( zMode[0]=='c' ){
733 style_submenu_element("Hierarchical", "%R/%s/%s?t=h", g.zPath, zName);
@@ -951,11 +955,11 @@
955 if( P("submit") ){
956 if( forum_post(zTitle, 0, 0, 0, zMimetype, zContent) ) return;
957 }
958 if( P("preview") ){
959 @ <h1>Preview:</h1>
960 forum_render(zTitle, zMimetype, zContent, "forumEdit", 1);
961 }
962 style_header("New Forum Thread");
963 @ <form action="%R/forume1" method="POST">
964 @ <h1>New Thread:</h1>
965 forum_from_line();
@@ -1069,13 +1073,13 @@
1073 zContent = "";
1074 if( pPost->zThreadTitle ) zTitle = "";
1075 style_header("Delete %s", zTitle ? "Post" : "Reply");
1076 @ <h1>Original Post:</h1>
1077 forum_render(pPost->zThreadTitle, pPost->zMimetype, pPost->zWiki,
1078 "forumEdit", 1);
1079 @ <h1>Change Into:</h1>
1080 forum_render(zTitle, zMimetype, zContent,"forumEdit", 1);
1081 @ <form action="%R/forume2" method="POST">
1082 @ <input type="hidden" name="fpid" value="%h(P("fpid"))">
1083 @ <input type="hidden" name="nullout" value="1">
1084 @ <input type="hidden" name="mimetype" value="%h(zMimetype)">
1085 @ <input type="hidden" name="content" value="%h(zContent)">
@@ -1093,14 +1097,14 @@
1097 zTitle = fossil_strdup(pPost->zThreadTitle);
1098 }
1099 style_header("Edit %s", zTitle ? "Post" : "Reply");
1100 @ <h2>Original Post:</h2>
1101 forum_render(pPost->zThreadTitle, pPost->zMimetype, pPost->zWiki,
1102 "forumEdit", 1);
1103 if( P("preview") ){
1104 @ <h2>Preview of Edited Post:</h2>
1105 forum_render(zTitle, zMimetype, zContent,"forumEdit", 1);
1106 }
1107 @ <h2>Revised Message:</h2>
1108 @ <form action="%R/forume2" method="POST">
1109 @ <input type="hidden" name="fpid" value="%h(P("fpid"))">
1110 @ <input type="hidden" name="edit" value="1">
@@ -1119,14 +1123,14 @@
1123 zDate = db_text(0, "SELECT datetime(%.17g)", pPost->rDate);
1124 zDisplayName = display_name_from_login(pPost->zUser);
1125 @ <h3 class='forumPostHdr'>By %h(zDisplayName) on %h(zDate)</h3>
1126 fossil_free(zDisplayName);
1127 fossil_free(zDate);
1128 forum_render(0, pPost->zMimetype, pPost->zWiki, "forumEdit", 1);
1129 if( P("preview") ){
1130 @ <h2>Preview:</h2>
1131 forum_render(0, zMimetype,zContent, "forumEdit", 1);
1132 }
1133 @ <h2>Enter Reply:</h2>
1134 @ <form action="%R/forume2" method="POST">
1135 @ <input type="hidden" name="fpid" value="%h(P("fpid"))">
1136 @ <input type="hidden" name="reply" value="1">
1137
+1 -1
--- src/timeline.c
+++ src/timeline.c
@@ -798,11 +798,11 @@
798798
if( pPost ){
799799
const char *zClass = "forumTimeline";
800800
if( forum_rid_has_been_edited(rid) ){
801801
zClass = "forumTimeline forumObs";
802802
}
803
- forum_render(0, pPost->zMimetype, pPost->zWiki, zClass);
803
+ forum_render(0, pPost->zMimetype, pPost->zWiki, zClass, 1);
804804
manifest_destroy(pPost);
805805
}
806806
}
807807
}
808808
if( suppressCnt ){
809809
--- src/timeline.c
+++ src/timeline.c
@@ -798,11 +798,11 @@
798 if( pPost ){
799 const char *zClass = "forumTimeline";
800 if( forum_rid_has_been_edited(rid) ){
801 zClass = "forumTimeline forumObs";
802 }
803 forum_render(0, pPost->zMimetype, pPost->zWiki, zClass);
804 manifest_destroy(pPost);
805 }
806 }
807 }
808 if( suppressCnt ){
809
--- src/timeline.c
+++ src/timeline.c
@@ -798,11 +798,11 @@
798 if( pPost ){
799 const char *zClass = "forumTimeline";
800 if( forum_rid_has_been_edited(rid) ){
801 zClass = "forumTimeline forumObs";
802 }
803 forum_render(0, pPost->zMimetype, pPost->zWiki, zClass, 1);
804 manifest_destroy(pPost);
805 }
806 }
807 }
808 if( suppressCnt ){
809

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button