Deliver the improvements in the messaging proposal
through four independently usable releases: find and start conversations, read
and reply comfortably, retrieve older history, and track unread conversations.
Use this checklist to track coverage across the releases and the
Feature Development Process (source unavailable) to plan and
implement each release.
This is a coordination checklist. Individual FDP requirements, development plans,
and implementation approvals remain separate. Cycles 1–5 are complete on main; historical-message synchronization is also complete and merged into local main at ed36a069, including the requested removal of global sync messaging.
Check items off when their acceptance criteria are verified, and link the relevant
FDP artifacts and verification evidence here as each cycle progresses.
Implemented; verification · rollout; merged into local main at ed36a069; not pushed or deployed
Follow this order and reuse the components and contracts established in earlier
cycles. Unread indicators are deliberately deferred from cycle 1 to cycle 4;
older-history retrieval is deferred to cycle 3. Keep each FDP slice within a day
or eight development stages; split an oversized cycle into usable releases during
planning. Add links only when the corresponding artifacts exist.
Baseline and shared requirements
The message store (source unavailable)
limits each legacy mailbox and initial conversation window to the newest 25 messages.
Cycle 3 adds bounded Load older retrieval for conversation history. Message bodies are encrypted on the
server, and the reader (source unavailable) decrypts
and verifies them in the browser. Cycle 4 adds separate private baseline/seen metadata without changing message envelopes or columns.
Cycle 1 Find and start conversations
Outcome: from normal navigation, a user can find an existing conversation or
choose a recipient and send their first message using the existing composer.
Completion: users can reach every conversation through the list and start a new
one. No unread badge is promised in this release.
Cycle 2 Read and reply comfortably
Outcome: opening a conversation presents recent messages clearly and makes
replying convenient, with recoverable failures and no successful-send reload.
Evidence: Cycle 2 implementation summary. Browser checks include constrained mobile viewports and zoom; physical-device keyboard testing remains a manual follow-up.
Completion: users can read and reply through the normal conversation flow without
a successful-send reload, and can understand and recover from relevant failures.
Cycle 3 Retrieve older history
Outcome: users can read beyond the newest 25 messages without losing their place.
Evidence: Cycle 3 implementation summary. Isolated browser checks cover real encrypted history, delayed decryption/navigation, mobile/zoom, retry/restart, and concurrent sends. Physical-device keyboard testing remains a manual follow-up.
Completion: all stored history in the authorized conversation's opening snapshot
is reachable with bounded requests and stable reading position. Refreshing or an
explicit recovery restart opens a fresh snapshot; this is not live polling.
Cycle 4 Track unread conversations
Outcome: conversation indicators and the navigation count consistently tell the
viewer what needs attention.
Evidence: Cycle 4 implementation summary and rollout/rollback notes. Counts track conversations; presented current windows acknowledge their received boundary, including displayed failures, without claiming verification. State is shared per username and refreshed on navigation/visible return; existing history starts seen once. Two-device automation passed; physical mobile keyboards and other browser engines remain manual follow-ups.
Completion: indicators and counts agree with the approved semantics and remain
correct across refreshes and supported browser or device transitions.
Cycle 5 Compact unavailable messages
Outcome: unavailable history stays compact, with expandable per-message details and manual retry; signature warnings and recoverable loading failures remain visible.
Next action: review Cycle 6's implementation and evidence and operational guide. Cycles 1–6 are merged into local main. Cycle 6 has not been pushed or deployed; its guide now includes a shareable explanation of how recovery works.