[Bug]: Thread sidebar briefly empties after returning from Settings
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 23k
- Forks
- 5.9k
- Avg merge
- 11h 14m
- Merged PRs (30d)
- 357
Description
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area
apps/web
Steps to reproduce
- Start the web app from current
mainwith at least one thread in the sidebar. - Open Settings from the lower-left sidebar action.
- Select Back to return to the thread.
Expected behavior
The existing thread list should be present as soon as the thread sidebar returns.
Actual behavior
The thread-list region briefly renders empty, then the existing rows fade and scale back in. Settings replaces the thread sidebar in the React tree. While it is absent, the project projection remains subscribed but the thread-shell projection does not. Returning also remounts the animated list; the drag-and-drop accessibility nodes are installed just after mount, which makes FormKit treat the existing rows as additions and run its 225 ms add animation.
Impact
Cosmetic issue
Version or commit
main @ e72350122
Environment
macOS, T3 Code web development client, Node 24.13.1
Logs or stack traces
No console errors are emitted during the transition.
Workaround
Wait for the thread rows to reappear.
Related work
- #5930 retains the project projection across Settings, but not thread shells.
- #6480 preserves the project filter when navigating through Settings; it does not address projection retention.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in apps/web and reproduce the Settings-to-thread transition from main with an existing sidebar thread. Inspect the thread sidebar and Settings return path, including the projection subscription and animated list mount described in the issue. Done means existing rows remain present immediately on return without the transient empty state or add animation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react, typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 64/100