diff --git a/package.json b/package.json index 41b7566..b8fd334 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "jankclient", - "version": "0.1.0", + "version": "0.2.0", "description": "A SpaceBar Client written in TS HTML and CSS to run, clone the repo and do either `npm start` or `bun start` both bun and node are supported, and both should function as expected. To access Jank Client after init simply go to http://localhost:8080/login and login with your username and password.", "main": ".dist/index.js", "type": "module", @@ -15,8 +15,8 @@ "@html-eslint/parser": "^0.27.0", "@stylistic/eslint-plugin-js": "^2.8.0", "@swc/core": "^1.7.26", - "@typescript-eslint/eslint-plugin": "^8.6.0", - "@typescript-eslint/parser": "^8.6.0", + "@typescript-eslint/eslint-plugin": "^8.14.0", + "@typescript-eslint/parser": "^8.14.0", "compression": "^1.7.4", "eslint-plugin-html": "^8.1.1", "express": "^4.19.2", @@ -41,6 +41,6 @@ "gulp-plumber": "^1.2.1", "gulp-typescript": "^6.0.0-alpha.1", "typescript": "^5.6.2", - "typescript-eslint": "^8.6.0" + "typescript-eslint": "^8.14.0" } } diff --git a/src/webpage/guild.ts b/src/webpage/guild.ts index 73cf47a..73a7695 100644 --- a/src/webpage/guild.ts +++ b/src/webpage/guild.ts @@ -208,6 +208,7 @@ class Guild extends SnowFlake{ } this.sortRoles(); if(member instanceof User){ + console.warn(member); Member.resolveMember(member, this).then(_=>{ if(_){ this.member = _; @@ -415,6 +416,7 @@ class Guild extends SnowFlake{ divy.append(noti); if(guild instanceof Guild){ guild.localuser.guildhtml.set(guild.id, divy); + guild.html=divy; } let icon: string | null; if(guild instanceof Guild){ diff --git a/src/webpage/localuser.ts b/src/webpage/localuser.ts index eea4167..7dede8e 100644 --- a/src/webpage/localuser.ts +++ b/src/webpage/localuser.ts @@ -436,7 +436,7 @@ class Localuser{ } break; } - case"GUILD_CREATE": { + case"GUILD_CREATE": (async()=>{ const guildy = new Guild(temp.d, this, this.user); this.guilds.push(guildy); this.guildids.set(guildy.id, guildy); @@ -444,8 +444,9 @@ class Localuser{ guildy.generateGuildIcon(), document.getElementById("bottomseparator") ); - break; - } + + })(); + break; case"MESSAGE_REACTION_ADD": { temp.d.guild_id ??= "@me"; @@ -600,7 +601,7 @@ class Localuser{ if(!guild)return; const channel = guild.createChannelpac(json); if(json.guild_id === this.lookingguild?.id){ - this.loadGuild(json.guild_id); + this.loadGuild(json.guild_id,true); } if(channel.id === this.gotoid){ guild.loadGuild(); @@ -743,7 +744,7 @@ class Localuser{ } if(json.guild_id === this.lookingguild?.id){ - this.loadGuild(json.guild_id); + this.loadGuild(json.guild_id,true); } } init(): void{ @@ -770,12 +771,13 @@ class Localuser{ return false; } } - loadGuild(id: string): Guild | undefined{ + loadGuild(id: string,forceReload=false): Guild | undefined{ let guild = this.guildids.get(id); if(!guild){ guild = this.guildids.get("@me"); } - if(this.lookingguild === guild){ + console.log(forceReload); + if((!forceReload)&&(this.lookingguild === guild)){ return guild; } if(this.channelfocus){ @@ -1939,11 +1941,11 @@ class Localuser{ } const guild = this.guildids.get(guildid); const borked = true; - if(borked && guild && guild.member_count > 250){ + if( !guild || borked && guild.member_count > 250){ //sorry puyo, I need to fix member resolving while it's broken on large guilds try{ const req = await fetch( - this.info.api + "/guilds/" + guild.id + "/members/" + id, + this.info.api + "/guilds/" + guildid + "/members/" + id, { headers: this.headers, } diff --git a/src/webpage/member.ts b/src/webpage/member.ts index 70ea4b2..3de6ed8 100644 --- a/src/webpage/member.ts +++ b/src/webpage/member.ts @@ -158,6 +158,7 @@ class Member extends SnowFlake{ } }); user.members.set(guild, promise); + return await promise; } if(maybe instanceof Promise){ return await maybe;