Skip to content

feat(web): add Space switcher and shared channel categories #5

Description

@eminogrande

Problem

Buzz's existing channel sections are personal sidebar organization, not shared Discord-style categories. The Nuri web client also has no Space rail or Create/Join onboarding.

User flow

  1. chat.nuri.com shows the user's joined Spaces in a left rail and offers Create Space / Join Space.
  2. Selecting a Space connects to its isolated <slug>.relay.nuri.com tenant.
  3. Inside the Space, shared Categories group stream/forum Channels; #general opens after creation or join.

Acceptance criteria

  1. Add shared category metadata and channel assignments scoped to one community, owner/admin-writeable and member-readable, with ordering and deletion semantics that never move channels between communities.
  2. Add a browser Space rail and Create/Join dialogs backed by the self-service Space APIs; switching Spaces tears down subscriptions and reloads only the selected tenant while preserving the in-memory Nuri signer.
  3. Render Categories → Channels → history/live subscription/composer with loading, empty, reconnect and permission states; Playwright covers create → switch → join → send/receive across two identities.

Not doing

  • Personal section sync parity
  • Voice/huddles, files, reactions or threads in the first web release
  • Categories nested inside categories

Branch reference

Integration follows feat/nuri-web-chat and the self-service Spaces issue.

Session

@session:default/20260724_150854_84a994

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions