Skip to content

feat: keep file tabs alive across switches to preserve viewer state - #451

Open
111-test-111 wants to merge 1 commit into
agegr:mainfrom
111-test-111:pr/keep-alive-file-tabs
Open

feat: keep file tabs alive across switches to preserve viewer state#451
111-test-111 wants to merge 1 commit into
agegr:mainfrom
111-test-111:pr/keep-alive-file-tabs

Conversation

@111-test-111

Copy link
Copy Markdown

What

The right file panel currently unmounts the previous tab's FileViewer on every tab switch, losing scroll position, zoom, and viewer state. This renders all open tabs and hides inactive ones with display:none; closing a tab (removal from fileTabs) still unmounts and frees it.

Notes

  • Trade-off to review: all open tabs stay mounted simultaneously, so large viewers accumulate until closed (intended; matches e.g. browser tab behavior).
  • New source-level test AppShell.keep-alive.test.mjs. Full suite: 428 pass / 0 fail; tsc --noEmit and eslint clean.

The right panel previously rendered only the active file tab, so every
tab switch unmounted the previous FileViewer and lost its scroll
position, zoom, and viewer state. Now all open tabs stay mounted and
inactive ones are hidden with display:none; closing a tab (removing it
from fileTabs) still unmounts and frees it.
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