fix reconnection bugs

This commit is contained in:
MathMan05 2024-07-30 13:23:18 -05:00
parent 03d1bc13c7
commit 1d4c771246
6 changed files with 17 additions and 1 deletions

View file

@ -100,6 +100,8 @@ class Localuser {
this.guilds = [];
this.guildids = new Map();
this.ws.close(4001);
SnowFlake.clear();
User.clear();
}
async initwebsocket() {
let returny = null;

View file

@ -28,6 +28,9 @@ class SnowFlake {
SnowFlake.FinalizationRegistry.register(this, [id, obj.constructor]);
this.obj = obj;
}
static clear() {
this.SnowFlakes = new Map();
}
/**
* Just to clarify bc TS, it returns a SnowFlake\<type> which is what you entered with the type parameter
*

View file

@ -54,6 +54,9 @@ class User {
});
});
}
static clear() {
this.userids = {};
}
static checkuser(user, owner) {
if (User.userids[user.id]) {
return User.userids[user.id];

View file

@ -106,6 +106,8 @@ class Localuser{
this.guilds=[];
this.guildids=new Map();
this.ws.close(4001)
SnowFlake.clear();
User.clear();
}
async initwebsocket():Promise<void>{
let returny=null

View file

@ -1,6 +1,6 @@
class SnowFlake<x extends WeakKey>{
public readonly id:string;
private static readonly SnowFlakes:Map<any,Map<string,WeakRef<SnowFlake<any>>>>=new Map();
private static SnowFlakes:Map<any,Map<string,WeakRef<SnowFlake<any>>>>=new Map();
private static readonly FinalizationRegistry=new FinalizationRegistry((a:[string,WeakKey])=>{
SnowFlake.SnowFlakes.get(a[1]).delete(a[0]);
});
@ -27,6 +27,9 @@ class SnowFlake<x extends WeakKey>{
SnowFlake.FinalizationRegistry.register(this,[id,obj.constructor]);
this.obj=obj;
}
static clear(){//this is kinda a temp solution, it should be fixed, though its not that easy to do so
this.SnowFlakes=new Map();
}
/**
* Just to clarify bc TS, it returns a SnowFlake\<type> which is what you entered with the type parameter
*

View file

@ -59,6 +59,9 @@ class User{
});
})
}
static clear(){
this.userids={};
}
static checkuser(user:User|userjson,owner:Localuser):User{
if(User.userids[user.id]){
return User.userids[user.id];