Skip to content

feat: add optional conversation reading pane - #317

Open
YunQue0912 wants to merge 11 commits into
maathimself:mainfrom
YunQue0912:feat/conversation-reading-pane
Open

feat: add optional conversation reading pane#317
YunQue0912 wants to merge 11 commits into
maathimself:mainfrom
YunQue0912:feat/conversation-reading-pane

Conversation

@YunQue0912

Copy link
Copy Markdown
Contributor

Summary

Adds an optional Gmail-style full conversation reading pane while preserving flat-message and expandable-list modes.

Closes #316.

Changes

  • Adds three persisted conversation display modes: off, expandable thread rows, and full reading pane.
  • Loads complete conversations across folders, including sent replies, with lazy message-body loading and animated expand/collapse.
  • Supports thread-wide read, archive, move, spam, snooze, delete, reply, and forward actions.
  • Handles deep links, notifications, cached-thread revalidation, single-message fallback, and read-state rollback.
  • Keeps the three conversation mode controls in one row across viewport sizes.

Testing

  • Backend: npm test (706 tests)
  • Backend: npm run lint
  • Frontend: npm test (1449 tests)
  • Frontend: npm run lint
  • Frontend: npm run build
  • git diff --check upstream/main...HEAD

Contributor License Agreement

By submitting this pull request I confirm that:

  • I have read and agree to the Contributor License Agreement.
  • My contribution is my own original work (or I have identified any
    third-party material and confirmed it is compatible with the CLA).
  • I have the right to submit this contribution under the terms of the CLA.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Optional full conversation reading pane with configurable threading modes

1 participant