Part of #84 — Direct Messages parity gaps
The endpoint returns one row per conversation, grouped by pairKey, newest activity first
— exactly what an inbox should render. InboxViewModel currently pages GET /api/dm, a flat
message list, and groups client-side.
- Switch the inbox to
/api/dm/conversations, keeping the existing cursor-paging approach.
- Keep
GET /api/dm for whatever still needs the flat list (if nothing does, drop it).
- Verify the unread counts line up with
GET /api/dm/unread-count.
Tests: conversations parse; inbox renders one row per conversation; unread counts agree.
Filed from the parity review of feature/parity-wip @ 14d7795 against interlinedlist.com (OpenAPI /api/openapi.json, 233 paths) and the public help centre.
Part of #84 — Direct Messages parity gaps
The endpoint returns one row per conversation, grouped by
pairKey, newest activity first— exactly what an inbox should render.
InboxViewModelcurrently pagesGET /api/dm, a flatmessage list, and groups client-side.
/api/dm/conversations, keeping the existing cursor-paging approach.GET /api/dmfor whatever still needs the flat list (if nothing does, drop it).GET /api/dm/unread-count.Tests: conversations parse; inbox renders one row per conversation; unread counts agree.
Filed from the parity review of
feature/parity-wip@14d7795against interlinedlist.com (OpenAPI/api/openapi.json, 233 paths) and the public help centre.