From d380c61be4a119cc3d658dcfbdd4844648646a63 Mon Sep 17 00:00:00 2001
From: echicken <>
Date: Thu, 12 Jan 2017 19:01:54 +0000
Subject: [PATCH] Don't assume the first null message index is the last message
 in the sub.  Don't create an Array just to have something to set arbitrary
 properties on.  This may fix the problem observed on Vert by KenDB3 (messages
 after mid Nov. 2016 not being displayed).

---
 web/lib/msgslib.ssjs | 26 +++++++++++++++-----------
 1 file changed, 15 insertions(+), 11 deletions(-)

diff --git a/web/lib/msgslib.ssjs b/web/lib/msgslib.ssjs
index fd2f7bfe05..eb2148484f 100644
--- a/web/lib/msgslib.ssjs
+++ b/web/lib/msgslib.ssjs
@@ -47,12 +47,15 @@ var err=null;
 
 function get_message_offsets(type)
 {
-	offsets=new Array;
-	var last_offset;
-	var idx;
-	var hdr;
-
-	for(last_offset=0; (idx=msgbase.get_msg_index(true,last_offset)) != null;last_offset++) {
+	offsets=[];//new Array; // is this global or something?
+//	var last_offset;
+//	var idx;
+//	var hdr;
+
+//	for(last_offset=0; (idx=msgbase.get_msg_index(true,last_offset)) != null;last_offset++) {
+	for (var last_offset = 0; last_offset <= msgbase.last_msg; last_offset++) {
+		var idx = msgbase.get_msg_index(true, last_offset);
+		if (typeof idx === 'undefined' || idx === null) continue;
 		if(idx.attr&MSG_DELETE)
 			continue;
 		if(sub=='mail' && idx.to!=user.number)
@@ -66,11 +69,12 @@ function get_message_offsets(type)
 				continue;
 		}
 		if(idx.attr&MSG_MODERATED && !(idx.attr&MSG_VALIDATED))
-			break;
-		msg=new Array;
-		msg.idx=idx;
-		msg.offset=last_offset;
-		offsets.push(msg);
+			break; // pourquoi?
+		// msg=new Array;
+		// msg.idx=idx;
+		// msg.offset=last_offset;
+		// offsets.push(msg);
+		offsets.push({ idx : idx, offset : last_offset });
 	}
 	return(offsets);
 }
-- 
GitLab