Skip to content

feat(desktop): add persistent pinned Thread Rail - #6350

Draft
EmpireOperating wants to merge 14 commits into
block:mainfrom
EmpireOperating:feat/thread-rail-preview
Draft

EmpireOperating wants to merge 14 commits into
block:mainfrom
EmpireOperating:feat/thread-rail-preview

Conversation

@EmpireOperating

Copy link
Copy Markdown

Tester preview

This is a desktop-only tester preview for the persistent Thread Rail proposed in #4266. It is intentionally a draft while we collect feedback; it does not close the issue.

What it adds

  • Personal, local pins scoped to the active identity and community
  • Pin/unpin, collapse/expand, local titles, and unread indicators
  • Cross-channel switching with nested return-anchor and expanded-branch restoration
  • Safe reset of stale Replying to… / Jump to latest state when switching pinned threads
  • Desktop-only presentation; mobile layouts remain unchanged

Verification

  • TypeScript typecheck
  • 34 focused Thread Rail tests
  • 7 native observed-unread tests
  • 5 browser E2E Thread Rail tests
  • Desktop check and whitespace validation
  • Local installed desktop review

Tester focus

Please use non-sensitive test data and report OS/build details, exact repro steps, and screenshots or recordings for any issue.

  1. Pin several ongoing threads and switch between them.
  2. Return to a nested reply after changing channels.
  3. Restart and confirm pins remain scoped to the same identity/community.
  4. Check unread dots after a new reply in a pinned thread.
  5. Confirm stale composer/scroll state from the prior pin does not appear in the next thread.

Relates to #4266

Signed-off-by: Empire Operating <258363005+EmpireOperating@users.noreply.github.com>
(cherry picked from commit 0eebb58)
Signed-off-by: Empire Operating <258363005+EmpireOperating@users.noreply.github.com>
Signed-off-by: Empire Operating <258363005+EmpireOperating@users.noreply.github.com>
(cherry picked from commit 0525755)
Signed-off-by: Empire Operating <258363005+EmpireOperating@users.noreply.github.com>
Signed-off-by: Empire Operating <258363005+EmpireOperating@users.noreply.github.com>
(cherry picked from commit 0fbd0e8)
Signed-off-by: Empire Operating <258363005+EmpireOperating@users.noreply.github.com>
Signed-off-by: Empire Operating <258363005+EmpireOperating@users.noreply.github.com>
(cherry picked from commit ed73bc0)
Signed-off-by: Empire Operating <258363005+EmpireOperating@users.noreply.github.com>
Signed-off-by: Empire Operating <258363005+EmpireOperating@users.noreply.github.com>
(cherry picked from commit 4fdaedf)
Signed-off-by: Empire Operating <258363005+EmpireOperating@users.noreply.github.com>
Signed-off-by: Empire Operating <258363005+EmpireOperating@users.noreply.github.com>
(cherry picked from commit e5229a7)
Signed-off-by: Empire Operating <258363005+EmpireOperating@users.noreply.github.com>
Signed-off-by: Empire Operating <258363005+EmpireOperating@users.noreply.github.com>
(cherry picked from commit 9115588)
Signed-off-by: Empire Operating <258363005+EmpireOperating@users.noreply.github.com>
Signed-off-by: Empire Operating <258363005+EmpireOperating@users.noreply.github.com>
(cherry picked from commit 65f775e)
Signed-off-by: Empire Operating <258363005+EmpireOperating@users.noreply.github.com>
Signed-off-by: Empire Operating <258363005+EmpireOperating@users.noreply.github.com>
(cherry picked from commit 8d847d3)
Signed-off-by: Empire Operating <258363005+EmpireOperating@users.noreply.github.com>
Signed-off-by: Empire Operating <258363005+EmpireOperating@users.noreply.github.com>
Signed-off-by: Empire Operating <258363005+EmpireOperating@users.noreply.github.com>
Signed-off-by: Empire Operating <258363005+EmpireOperating@users.noreply.github.com>
Signed-off-by: Empire Operating <258363005+EmpireOperating@users.noreply.github.com>
Signed-off-by: Empire Operating <258363005+EmpireOperating@users.noreply.github.com>

This branch has not been deployed

No deployments
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.

1 participant