You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
WebSocket gateway with authenticated identities and rooms #101
A native client cannot join TNT. The only transport is SSH, there is one room, messages have no IDs, and nicknames are unauthenticated.
Needed:
A WebSocket gateway at wss://chat.m1ng.space, deployed next to TNT (infra/tnt/compose.yml). The handshake verifies an auth.m1ng.space JWT whose aud contains tnt; the nickname is the handle claim.
JSON frames: message, presence, history.
TNT core: stable message IDs, multiple rooms, and identity binding so gateway users post under their own handle.
Shipped: the gateway runs next to production TNT on aliyun.m1ng.space (reached through chat.m1ng.space via an SSH tunnel from oss), verifies m1ngsama ID tokens, and serves message, presence, history and typing frames with stable IDs. Terminal users can sign in with :login (#108, #109). Still open from this issue: multiple rooms.
Activity
m1ngsama commentedon Oct 14, 2026
Shipped: the gateway runs next to production TNT on aliyun.m1ng.space (reached through
chat.m1ng.spacevia an SSH tunnel from oss), verifies m1ngsama ID tokens, and servesmessage,presence,historyandtypingframes with stable IDs. Terminal users can sign in with:login(#108, #109). Still open from this issue: multiple rooms.