From a2abc91a2a38d9689435df1ff98438fa5ab59815 Mon Sep 17 00:00:00 2001 From: MathMan05 Date: Tue, 20 Aug 2024 10:51:23 -0500 Subject: [PATCH] better bug fix --- .dist/channel.js | 21 +++++++++++++++------ webpage/channel.ts | 20 ++++++++++++++------ 2 files changed, 29 insertions(+), 12 deletions(-) diff --git a/.dist/channel.js b/.dist/channel.js index 4c459ec..beb0f2e 100644 --- a/.dist/channel.js +++ b/.dist/channel.js @@ -242,7 +242,12 @@ class Channel { this.nsfw = json.nsfw; this.position = json.position; this.lastreadmessageid = null; - this.lastmessageid = SnowFlake.getSnowFlakeFromID(json.last_message_id, Message); + if (json.last_message_id) { + this.lastmessageid = SnowFlake.getSnowFlakeFromID(json.last_message_id, Message); + } + else { + this.lastmessageid = null; + } this.setUpInfiniteScroller(); } isAdmin() { @@ -267,7 +272,8 @@ class Channel { if (!this.hasPermission("VIEW_CHANNEL")) { return false; } - return this.lastmessageid !== this.lastreadmessageid && this.type !== 4 && !this.lastmessageid; + console.log(this.lastmessageid, !!this.lastmessageid, ":3"); + return this.lastmessageid !== this.lastreadmessageid && this.type !== 4 && !!this.lastmessageid; } hasPermission(name, member = this.guild.member) { if (member.isAdmin()) { @@ -653,12 +659,13 @@ class Channel { const prom = this.infinite.delete(); history.pushState(null, "", "/channels/" + this.guild_id + "/" + this.snowflake); document.getElementById("channelname").textContent = "#" + this.name; + const channelTopic = document.getElementById("channelTopic"); if (this.topic) { - document.getElementById("channelTopic").innerHTML = new MarkDown(this.topic, this).makeHTML().innerHTML; - document.getElementById("channelTopic").removeAttribute("hidden"); + channelTopic.innerHTML = new MarkDown(this.topic, this).makeHTML().innerHTML; + channelTopic.removeAttribute("hidden"); } else - document.getElementById("channelTopic").setAttribute("hidden", ""); + channelTopic.setAttribute("hidden", ""); const loading = document.getElementById("loadingdiv"); Channel.regenLoadingMessages(); loading.classList.add("loading"); @@ -1016,7 +1023,9 @@ class Channel { const messagez = new Message(messagep.d, this); this.lastmessage = messagez; console.log(this.lastmessageid, messagez.snowflake, ":3"); - this.idToNext.set(this.lastmessageid, messagez.snowflake); + if (this.lastmessageid) { + this.idToNext.set(this.lastmessageid, messagez.snowflake); + } this.idToPrev.set(messagez.snowflake, this.lastmessageid); this.lastmessageid = messagez.snowflake; this.messageids.set(messagez.snowflake, messagez); diff --git a/webpage/channel.ts b/webpage/channel.ts index 0b3aa08..845d1a5 100644 --- a/webpage/channel.ts +++ b/webpage/channel.ts @@ -253,7 +253,11 @@ class Channel{ this.nsfw=json.nsfw; this.position=json.position; this.lastreadmessageid=null; - this.lastmessageid=SnowFlake.getSnowFlakeFromID(json.last_message_id,Message); + if(json.last_message_id){ + this.lastmessageid=SnowFlake.getSnowFlakeFromID(json.last_message_id,Message); + }else{ + this.lastmessageid=null; + } this.setUpInfiniteScroller(); } isAdmin(){ @@ -276,7 +280,8 @@ class Channel{ } get hasunreads():boolean{ if(!this.hasPermission("VIEW_CHANNEL")){return false;} - return this.lastmessageid!==this.lastreadmessageid&&this.type!==4&&!this.lastmessageid; + console.log(this.lastmessageid,!!this.lastmessageid,":3") + return this.lastmessageid!==this.lastreadmessageid&&this.type!==4&&!!this.lastmessageid; } hasPermission(name:string,member=this.guild.member):boolean{ if(member.isAdmin()){ @@ -659,10 +664,11 @@ class Channel{ history.pushState(null, "","/channels/"+this.guild_id+"/"+this.snowflake); (document.getElementById("channelname") as HTMLSpanElement).textContent="#"+this.name; + const channelTopic=document.getElementById("channelTopic") as HTMLSpanElement; if (this.topic) { - document.getElementById("channelTopic").innerHTML=new MarkDown(this.topic, this).makeHTML().innerHTML; - document.getElementById("channelTopic").removeAttribute("hidden"); - } else document.getElementById("channelTopic").setAttribute("hidden",""); + channelTopic.innerHTML=new MarkDown(this.topic, this).makeHTML().innerHTML; + channelTopic.removeAttribute("hidden"); + } else channelTopic.setAttribute("hidden",""); const loading=document.getElementById("loadingdiv") as HTMLDivElement; Channel.regenLoadingMessages(); @@ -1004,7 +1010,9 @@ class Channel{ const messagez=new Message(messagep.d,this); this.lastmessage=messagez; console.log(this.lastmessageid,messagez.snowflake,":3"); - this.idToNext.set(this.lastmessageid,messagez.snowflake); + if(this.lastmessageid){ + this.idToNext.set(this.lastmessageid,messagez.snowflake); + } this.idToPrev.set(messagez.snowflake,this.lastmessageid); this.lastmessageid=messagez.snowflake; this.messageids.set(messagez.snowflake,messagez);