Repository navigation
refactor(browser): remove retired sidebar UI - #1772
Merged
Merged
Conversation
Collaborator
|
I am going to do a follow-up clean up of mystation unmounted UI components today. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The retired browser sidebar was still wired into Browser Session Replay, including its regular/private session lists, private-tab creation action, agent activity lists, and shared sidebar toggle. CSS collapse left those component trees and preference subscriptions in place. Removing the sidebar also orphaned 11 translation keys, which failed the CI unused-key gate.
Solution
Remove both browser sidebar components and their sidebar-only handlers, display helpers, and preference wiring. Disable the browser replay sidebar toggle and explicitly give the shared shell an empty, collapsed, zero-width primary panel. Keep normal tab creation, replay categories, the browser viewport and DevTools. Remove the 11 orphaned translation keys and their empty groups from all 13 locales without weakening the i18n baseline.
Private-tab domain types, incognito flags and core creation APIs remain available for future use. This cleanup is separate from #1731: its durable-storage and popup-privacy protections remain useful regardless of UI availability.
Potential risks
The old sidebar's session and activity lists can no longer be reopened, including for users with previously expanded sidebar preferences; that removal is intentional. Native WebView layout, themes, narrow viewports and DevTools placement were not exercised visually because Computer Use was not authorized. No persistence formats, user records, dependencies or wire APIs change; reverting this commit restores the sidebar without a migration. No measured CPU/RSS improvement is claimed.
Verification
CI repair:
pnpm run test:i18n-keyspassed all 27 tests;pnpm run check:i18n-keyspassed with zero new findings and no missing keys, locale gaps, locale extras or placeholder mismatches.pnpm exec prettier --check 'src/i18n/locales/*/{common,sessions}.json'andgit diff --checkpassed. The repair commit passed normal Git hooks (Prettier; TypeScript/Rust checks correctly skipped for JSON-only changes).Failed CI job 103890195278 had already passed typecheck, changed-file lint and test placement; it failed on the 11 unused translations before reaching unit tests. The full unit suite was not rerun locally for this catalog-only repair; the new CI run remains pending.
Fetched latest
develop; GitHub reports the PR mergeable. Inspected the branch diff and repair diff for scope and accidental sensitive/generated content.pnpm exec vitest run --config config/vitest.config.ts --maxWorkers=2 src/modules/WorkStation/Browser/SessionReplay/__tests__/config.test.ts src/modules/WorkStation/shared/SessionReplay/ReplayShellLayout.test.ts src/modules/WorkStation/shared/WorkStationShell/__tests__/config.test.ts: 3 files, 13 tests passed on the latest develop base. The older--minWorkersoption was rejected by the locally available Vitest 4 before collection; rerunning with the supported option passed.pnpm exec eslint src/modules/WorkStation/Browser/SessionReplay/index.tsx src/modules/WorkStation/Browser/SessionReplay/useBrowserReplayTabs.ts src/modules/WorkStation/Browser/SessionReplay/browserReplayUtils.ts src/modules/WorkStation/Browser/SessionReplay/entryUtils.ts src/modules/WorkStation/Browser/SessionReplay/useBrowserReplayDisplay.tsx src/modules/WorkStation/Browser/SessionReplay/useBrowser.ts src/modules/WorkStation/shared/WorkStationShell/index.tsx src/modules/WorkStation/shared/PrimarySidebarLayout/PrimarySidebarLayoutWithSections.tsx src/modules/WorkStation/shared/PrimarySidebarLayout/index.ts: passed.git diff --cached --check: passed. Source call-chain inspection confirmed removed components have no remaining imports and private-tab domain types/core APIs are unchanged. The diff introduces no raw buttons or substitute clickable controls.pnpm exec tsgo --noEmit --pretty false: incomplete on the latest base. The standalone run was stopped to avoid duplicating the hook check; the hook’s full-project tsgo then stalled for over six minutes without a result. Lint-staged passed oxlint, ESLint and Prettier before that stall. The entire commit attempt was stopped, then the commit was created withHUSKY=0; no full typecheck or complete hook pass is claimed. CI must validate the branch. The earlier workspace run reported three unrelated useAppNavigate errors.Dependencies reused locally; frozen-lock installation and native visual verification were not run. Existing tests cover replay configuration and shared shell behavior, not a full interactive browser session.
Audit
Browser sidebar removal audit: UI verdicts 0 fix, 2 keep with reason, 0 abstract. Architecture layers 1–7 reviewed; layers 8–10 checked as unchanged. No new background resource or lifecycle is introduced; sidebar-owned state and subscriptions are removed.