#2150
feat: add an icon rail with Home and Settings
Pull Request
Related Issue
N/A. This is maintainer-directed work, the first of three pull requests that build the plan in #2113.
Description
Draft. Part 1 of 3, stacked in this order:
- This PR: the rail, with Home and Settings.
- Pin Spaces to the rail (based on this branch).
- List every Space and its Sessions in Home (based on part 2).
Problem
Home and Settings share one page, and people reach it through the Home pill in the top bar. Nothing on screen says where you are or which place you came from. Settings is a section inside Home, not a place of its own.
Fix
- Rail: a 48px column on the far left of the main window holds Home, the active Space, Settings and the account menu. It renders once in the layout, so it doesn't remount as pages change, and it stays visible when the page sidebar folds. Sign-in, the install screen and Session windows don't show it.
- Pages: Home (
/home) and Settings (/settings) are separate pages again. Settings keeps its sections in?tab=. - Old links: every earlier address still works. That includes
/home?section=settings&tab=…,/settings?section=…,/settingand/setting/<section>, which all redirect to/settings?tab=…and keep their other parameters (provider,skillId, …). - Top bar: the Home pill is gone. A Space name in the top bar leads back to the Space view from Home and Settings.
- Design system: the rail width is registered in the design-token exception registry, because the top bar's sidebar controls are measured from it.
Testing
npm run type-checkpasses on this branch.npm run check:i18n,npm run check:design-tokensand ESLint on the changed files pass on the top of the stack (part 3).- Full
vitestrun: no new failures. The tests that fail here fail onmaintoo, apart from two that depend on the local setup: the Electron build-config test, and the session-execution integration test, which needs a running backend. - New and updated unit tests:
- the rail: places, selection,
aria-currentand where it's hidden; - the Settings routes and every legacy redirect;
- the Settings route bridge's back state;
shellRoutes;- the top bar.
- the rail: places, selection,
- Not yet tested by hand. Screenshots will follow before this leaves Draft.
Testing Evidence (REQUIRED)
- I have included human-verified testing evidence in this PR.
- This PR includes frontend/UI changes, and I attached screenshot(s) or screen recording(s).
- No frontend/UI changes in this PR.
Manual testing and screenshots are still to do.
What is the purpose of this pull request?
- Bug fix
- New Feature
- Documentation update
- Other
Contribution Guidelines Acknowledgement
- I have read and agree to the Eigent Contribution Guideline
Activity
2This pull request is a draft
Merging is unavailable until it is marked ready for review.