Skip to content

Chat Guests, 'Only my chats' and Students with several chats #93

Closed

Description

@Oceandek

Parent

#91

What to build

  • Guests: the Product Owner, any Teacher or the Superuser adds any active User to a Project's chat as a Guest; Members can't. A Guest reads and writes like the team and sees the full history. They can leave the chat themselves, and the same staff can remove them.
  • People list: each chat has a people list with the Members, the Product Owner and the Guests (marked "Guest").
  • Badge for Teachers: it now counts "my chats", meaning the Product Owner's chats and the chats where they are a Guest.
  • Chats screen: an "Only my chats" filter, on by default.
  • Students: a Student's Chat item opens their only chat directly, or a list of their chats (own Project + Guest chats) with unread counts. A Student who is only a Guest (no Project) also gets the item.

Spec stories 5-10, 27, 31, 33. Adds Guest to CONTEXT.md.

Acceptance criteria

  • Migration chat_guests
  • GET/POST /api/projects/{id}/chat/guests, DELETE /api/projects/{id}/chat/guests/{user_id} (staff, or the Guest leaving); Members refused; inactive Users refused
  • GET /api/chats?mine=true; Student chat list
  • Frontend: people list, add Guest dialog (select of active Users), Leave chat, Remove, "Only my chats" toggle, Students' chat list
  • API and NiceGUI tests (add, write as Guest, leave, remove, Member refused)

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentFully specified, ready for an AFK agent

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions