94aa88c154
- Add Sessions tab to navigation between Dashboard and Projects - Show active session count badge in navigation - Create SessionsPage with: - Last session section with resume button - Active sessions grid with open/stop actions - Recent sessions list - Create session form with project/repo/tool selectors - Add last_session_id to user config - Update UserConfig schemas (backend and frontend) - Add comprehensive CSS for sessions page Quality gates: typecheck ✓, lint ✓, build ✓
2.2 KiB
2.2 KiB
Sessions Hub - Tasks
Phase 1: Backend Config Update
-
Task 1.1: Update UserConfig model
- Add
last_session_idfield tomodels/user_config.py - Create Alembic migration
- Add
-
Task 1.2: Update config API
- Accept
last_session_idinapi/user_config.py - Update Pydantic schemas
- Accept
Phase 2: Frontend Navigation
-
Task 2.1: Add Sessions tab to AppShell
- Insert between Dashboard and Projects
- Add sessions icon
- Show badge with active count
-
Task 2.2: Update router
- Add
/sessionsroute - Create placeholder page
- Add
Phase 3: Sessions Page
-
Task 3.1: Create SessionsPage component
- Page layout with sections
- Loading and error states
-
Task 3.2: Implement Last Session section
- Fetch from user config
- Show session card with resume button
- Handle no last session state
-
Task 3.3: Implement Active Sessions section
- Fetch from sessions context
- Grid of session cards
- Action buttons (Open, Stop, Restart, Delete)
-
Task 3.4: Implement Recent Sessions section
- Show last 5 sessions
- Compact list view
- Status indicators
-
Task 3.5: Implement Create Session section
- Project selector (fetch all projects)
- Repository selector (filtered by project)
- Tool type selector
- Display name input
- Create button with validation
Phase 4: Session Actions
-
Task 4.1: Resume last session
- Navigate to workspace
- Update user config
-
Task 4.2: Open session
- Navigate to workspace with session
-
Task 4.3: Create session
- Call API to create instance
- Update user config with last_session_id
- Refresh sessions list
Phase 5: Polish
-
Task 5.1: Add CSS styles
- Session cards layout
- Badge styling
- Responsive design
-
Task 5.2: Add icons
- Session icon in navigation
- Action icons on cards
Phase 6: Quality Gates
-
Task 6.1: TypeScript check
npm run typecheck
-
Task 6.2: Lint check
npm run lint
-
Task 6.3: Build check
npm run build
-
Task 6.4: Manual verification
- Navigation shows Sessions tab
- Badge shows correct count
- Last session displays
- Can create session from page
- Config persists