* feat: room init Signed-off-by: Innei <i@innei.in> * feat: web gateway hooks Signed-off-by: Innei <i@innei.in> * perf: debounce update event Signed-off-by: Innei <i@innei.in> * fix: socket online more accurate * fix: singleton * feat: add more hooks * fix: set metadata on socket * feat: api-client update Signed-off-by: Innei <i@innei.in> * update Signed-off-by: Innei <i@innei.in> * feat: add ip Signed-off-by: Innei <i@innei.in> * refactor: event Signed-off-by: Innei <i@innei.in> * fix: test Signed-off-by: Innei <i@innei.in> --------- Signed-off-by: Innei <i@innei.in>