disabled server-side message sequencing code
authorArt Cancro <ajc@citadel.org>
Thu, 8 Feb 2018 22:11:42 +0000 (17:11 -0500)
committerArt Cancro <ajc@citadel.org>
Thu, 8 Feb 2018 22:11:42 +0000 (17:11 -0500)
webcit-ng/forum_view.c
webcit-ng/room_functions.c
webcit-ng/static/js/views.js

index 995a6e187ff28d176ed2a913da66bddf1c2c1a0e..7745e019e199c7a5391f9ea92c172ad4fb713ecb 100644 (file)
@@ -173,6 +173,7 @@ void thread_o_print(struct ctdlsession *c, StrBuf *sj, struct mthread *m, int nu
        }
 }
 
+#if 0
 
 // Threaded view (entry point)
 //
@@ -289,3 +290,5 @@ void flat_view(struct http_transaction *h, struct ctdlsession *c, char *which)
        h->response_body = SmashStrBuf(&sj);
        return;
 }
+
+#endif
index 21fe56460fa5cc407b2ad3e4faff034335433dc7..12818421cc04e8db6507950ad9b1d653c70e9ffe 100644 (file)
@@ -131,6 +131,7 @@ void object_in_room(struct http_transaction *h, struct ctdlsession *c)
                return;
        }
 
+#if 0
        if (!strncasecmp(buf, "threads", 5)) {                  // Client is requesting a threaded view (still kind of fuzzy here)
                threaded_view(h, c, &buf[5]);
                return;
@@ -140,6 +141,7 @@ void object_in_room(struct http_transaction *h, struct ctdlsession *c)
                flat_view(h, c, &buf[5]);
                return;
        }
+#endif
 
        if (    (c->room_default_view == VIEW_CALENDAR)         // room types where objects are referenced by EUID
                || (c->room_default_view == VIEW_TASKS)
@@ -166,6 +168,11 @@ void object_in_room(struct http_transaction *h, struct ctdlsession *c)
        syslog(LOG_DEBUG, "msgnum is %ld, method is %s", msgnum, h->method);
 
 
+       /*
+        * Does the client want us to render the message for them?
+        */
+       // FIXME put that logic here
+
        /*
         * Was the client actually requesting a specific component within the message?
         */
index ba1be92108cb2f04413fffdd5da1c0bd751f164c..b569cd6640c1ce73e60bbadea721d36671ceca48 100644 (file)
@@ -38,7 +38,7 @@ function render_room_view()
        {
                case views.VIEW_MAILBOX:                                                // FIXME view mail rooms as forums for now
                case views.VIEW_BBS:
-                       forum_readmessages("flat");
+                       forum_readmessages();
                        break;
                default:
                        document.getElementById("main").innerHTML = "The view for " + current_room + " is " + current_view + " but there is no renderer." ;
@@ -80,9 +80,9 @@ function XX_forum_readmessages(flat_or_threads)
 }
 
 
-// Forum view -- let's have another go at this with the rendering done client-side
+// Forum view (flat) -- let's have another go at this with the rendering done client-side
 //
-function forum_readmessages(flat_or_threads)
+function forum_readmessages()
 {
        var innerdivname = randomString(5);
        document.getElementById("main").innerHTML = "<div id=\"" + innerdivname +
@@ -97,13 +97,31 @@ function forum_readmessages(flat_or_threads)
                {
                        if ((this.status / 100) == 2)
                        {
-                               document.getElementById(innerdivname).innerHTML = "Are we logged in? " + logged_in + "<br>" + "Last seen: " + last_seen + "<br><ul>" ;
                                msgs = JSON.parse(this.responseText);
+                               document.getElementById(innerdivname).innerHTML =
+                                       "Are we logged in? " + logged_in + "<br>"
+                                       + "Last seen: " + last_seen + "<br>"
+                                       + "Number of messages: " + msgs.length + "<br>" ;
+
+                               if (msgs.length == 0)
+                               {
+                                               document.getElementById(innerdivname).innerHTML += "FIXME no msgs" ;
+                               }
+
+                               // show us the last 20 messages and scroll to the bottom (this will become the not-logged-in behavior)
+                               else if ((logged_in) | (!logged_in))
+                               {
+                                       if (msgs.length > messages_per_page)
+                                       {
+                                               msgs = msgs.slice(msgs.length - messages_per_page);
+                                               document.getElementById(innerdivname).innerHTML += "link to msgs less than " + msgs[0] + "<br>" ;
+                                       }
+                               }
+
                                for (var i in msgs)
                                {
-                                       document.getElementById(innerdivname).innerHTML += "<li>" + msgs[i] + "</li>" ;
+                                       document.getElementById(innerdivname).innerHTML += "message # " + msgs[i] + "<br>" ;
                                }
-                               document.getElementById(innerdivname).innerHTML += "</ul>" ;
                        }
                        else
                        {