better bug fix

This commit is contained in:
MathMan05 2024-08-20 10:51:23 -05:00
parent 3de40285d2
commit a2abc91a2a
2 changed files with 29 additions and 12 deletions

View file

@ -242,7 +242,12 @@ class Channel {
this.nsfw = json.nsfw; this.nsfw = json.nsfw;
this.position = json.position; this.position = json.position;
this.lastreadmessageid = null; this.lastreadmessageid = null;
if (json.last_message_id) {
this.lastmessageid = SnowFlake.getSnowFlakeFromID(json.last_message_id, Message); this.lastmessageid = SnowFlake.getSnowFlakeFromID(json.last_message_id, Message);
}
else {
this.lastmessageid = null;
}
this.setUpInfiniteScroller(); this.setUpInfiniteScroller();
} }
isAdmin() { isAdmin() {
@ -267,7 +272,8 @@ class Channel {
if (!this.hasPermission("VIEW_CHANNEL")) { if (!this.hasPermission("VIEW_CHANNEL")) {
return false; 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) { hasPermission(name, member = this.guild.member) {
if (member.isAdmin()) { if (member.isAdmin()) {
@ -653,12 +659,13 @@ class Channel {
const prom = this.infinite.delete(); const prom = this.infinite.delete();
history.pushState(null, "", "/channels/" + this.guild_id + "/" + this.snowflake); history.pushState(null, "", "/channels/" + this.guild_id + "/" + this.snowflake);
document.getElementById("channelname").textContent = "#" + this.name; document.getElementById("channelname").textContent = "#" + this.name;
const channelTopic = document.getElementById("channelTopic");
if (this.topic) { if (this.topic) {
document.getElementById("channelTopic").innerHTML = new MarkDown(this.topic, this).makeHTML().innerHTML; channelTopic.innerHTML = new MarkDown(this.topic, this).makeHTML().innerHTML;
document.getElementById("channelTopic").removeAttribute("hidden"); channelTopic.removeAttribute("hidden");
} }
else else
document.getElementById("channelTopic").setAttribute("hidden", ""); channelTopic.setAttribute("hidden", "");
const loading = document.getElementById("loadingdiv"); const loading = document.getElementById("loadingdiv");
Channel.regenLoadingMessages(); Channel.regenLoadingMessages();
loading.classList.add("loading"); loading.classList.add("loading");
@ -1016,7 +1023,9 @@ class Channel {
const messagez = new Message(messagep.d, this); const messagez = new Message(messagep.d, this);
this.lastmessage = messagez; this.lastmessage = messagez;
console.log(this.lastmessageid, messagez.snowflake, ":3"); console.log(this.lastmessageid, messagez.snowflake, ":3");
if (this.lastmessageid) {
this.idToNext.set(this.lastmessageid, messagez.snowflake); this.idToNext.set(this.lastmessageid, messagez.snowflake);
}
this.idToPrev.set(messagez.snowflake, this.lastmessageid); this.idToPrev.set(messagez.snowflake, this.lastmessageid);
this.lastmessageid = messagez.snowflake; this.lastmessageid = messagez.snowflake;
this.messageids.set(messagez.snowflake, messagez); this.messageids.set(messagez.snowflake, messagez);

View file

@ -253,7 +253,11 @@ class Channel{
this.nsfw=json.nsfw; this.nsfw=json.nsfw;
this.position=json.position; this.position=json.position;
this.lastreadmessageid=null; this.lastreadmessageid=null;
if(json.last_message_id){
this.lastmessageid=SnowFlake.getSnowFlakeFromID(json.last_message_id,Message); this.lastmessageid=SnowFlake.getSnowFlakeFromID(json.last_message_id,Message);
}else{
this.lastmessageid=null;
}
this.setUpInfiniteScroller(); this.setUpInfiniteScroller();
} }
isAdmin(){ isAdmin(){
@ -276,7 +280,8 @@ class Channel{
} }
get hasunreads():boolean{ get hasunreads():boolean{
if(!this.hasPermission("VIEW_CHANNEL")){return false;} 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{ hasPermission(name:string,member=this.guild.member):boolean{
if(member.isAdmin()){ if(member.isAdmin()){
@ -659,10 +664,11 @@ class Channel{
history.pushState(null, "","/channels/"+this.guild_id+"/"+this.snowflake); history.pushState(null, "","/channels/"+this.guild_id+"/"+this.snowflake);
(document.getElementById("channelname") as HTMLSpanElement).textContent="#"+this.name; (document.getElementById("channelname") as HTMLSpanElement).textContent="#"+this.name;
const channelTopic=document.getElementById("channelTopic") as HTMLSpanElement;
if (this.topic) { if (this.topic) {
document.getElementById("channelTopic").innerHTML=new MarkDown(this.topic, this).makeHTML().innerHTML; channelTopic.innerHTML=new MarkDown(this.topic, this).makeHTML().innerHTML;
document.getElementById("channelTopic").removeAttribute("hidden"); channelTopic.removeAttribute("hidden");
} else document.getElementById("channelTopic").setAttribute("hidden",""); } else channelTopic.setAttribute("hidden","");
const loading=document.getElementById("loadingdiv") as HTMLDivElement; const loading=document.getElementById("loadingdiv") as HTMLDivElement;
Channel.regenLoadingMessages(); Channel.regenLoadingMessages();
@ -1004,7 +1010,9 @@ class Channel{
const messagez=new Message(messagep.d,this); const messagez=new Message(messagep.d,this);
this.lastmessage=messagez; this.lastmessage=messagez;
console.log(this.lastmessageid,messagez.snowflake,":3"); console.log(this.lastmessageid,messagez.snowflake,":3");
if(this.lastmessageid){
this.idToNext.set(this.lastmessageid,messagez.snowflake); this.idToNext.set(this.lastmessageid,messagez.snowflake);
}
this.idToPrev.set(messagez.snowflake,this.lastmessageid); this.idToPrev.set(messagez.snowflake,this.lastmessageid);
this.lastmessageid=messagez.snowflake; this.lastmessageid=messagez.snowflake;
this.messageids.set(messagez.snowflake,messagez); this.messageids.set(messagez.snowflake,messagez);