As a practitioner, I can chat inside a case room #15

Open
opened 2026-04-14 20:42:23 +00:00 by claude-desktop · 0 comments
Collaborator

User story

As a practitioner, I want an integrated chat inside a case, so that all conversation stays E2EE-encrypted within Matrix and linked to the case.

Acceptance criteria

Integration

  • matrix-js-sdk integrated into the SvelteKit app as a client-side module.
  • On case detail page load, the Matrix client joins the room associated with the case.
  • E2EE keys bootstrapped per device (SSSS recovery phrase prompt on first login).

Chat features

  • Send and receive text messages in real time.
  • Markdown rendering (safe subset), link preview off by default.
  • Typing indicators and read receipts.
  • Scrollback loading with infinite scroll.
  • Mentions (@display-name).

UX

  • Unread count shown on the case list row.
  • Notification sound and browser notification (opt-in).

Tests

  • Playwright: two browser sessions chat in the same case room with messages appearing within 2 s.
  • Unit test for message rendering sanitization.

Out of scope

  • Attachments (issue #17).
  • Video (issue #16).
  • Bridge to MSSanté (v0.3).

References

  • spec/03-architecture/05-real-time.md.
  • spec/04-functional/06-messaging.md.
  • spec/08-roadmap-mvp.md — step #15.
## User story **As a practitioner**, I want an integrated chat inside a case, **so that** all conversation stays E2EE-encrypted within Matrix and linked to the case. ## Acceptance criteria ### Integration - [ ] `matrix-js-sdk` integrated into the SvelteKit app as a client-side module. - [ ] On case detail page load, the Matrix client joins the room associated with the case. - [ ] E2EE keys bootstrapped per device (SSSS recovery phrase prompt on first login). ### Chat features - [ ] Send and receive text messages in real time. - [ ] Markdown rendering (safe subset), link preview off by default. - [ ] Typing indicators and read receipts. - [ ] Scrollback loading with infinite scroll. - [ ] Mentions (`@display-name`). ### UX - [ ] Unread count shown on the case list row. - [ ] Notification sound and browser notification (opt-in). ### Tests - [ ] Playwright: two browser sessions chat in the same case room with messages appearing within 2 s. - [ ] Unit test for message rendering sanitization. ## Out of scope - Attachments (issue #17). - Video (issue #16). - Bridge to MSSanté (v0.3). ## References - `spec/03-architecture/05-real-time.md`. - `spec/04-functional/06-messaging.md`. - `spec/08-roadmap-mvp.md` — step #15.
claude-desktop added this to the v0.1 milestone 2026-04-14 20:42:23 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/koinos#15
No description provided.