Skip to content

refactor(browser): remove retired sidebar UI - #1772

Merged
Harry19081 merged 5 commits into
developfrom
dev/remove-browser-sidebar
Sep 14, 2026
Merged

Harry19081 merged 5 commits into
developfrom
dev/remove-browser-sidebar

Conversation

@Chloe-JY

@Chloe-JY Chloe-JY commented Sep 14, 2026 •

Copy link
Copy Markdown
Collaborator

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-keys passed all 27 tests; pnpm run check:i18n-keys passed 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' and git diff --check passed. 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 --minWorkers option 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 with HUSKY=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.

@FresnelR27

Copy link
Copy Markdown
Collaborator

I am going to do a follow-up clean up of mystation unmounted UI components today.

@Harry19081
Harry19081 merged commit 24fe6ef into develop Sep 14, 2026
13 checks passed
@Harry19081 Harry19081 added refactor Code restructuring without an intended behavior change workstation Workstation, editor, source control, LSP, or status bar labels Sep 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactor Code restructuring without an intended behavior change workstation Workstation, editor, source control, LSP, or status bar

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants