Skip to content

WebSocket gateway with authenticated identities and rooms #101

Open

Description

@m1ngsama

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.

Part of m1ngsama/universe#1.

Activity

  1. m1ngsama commented on Oct 14, 2026

    @m1ngsama
    OwnerAuthor

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions