Files
Fusion 94aa88c154 feat: add Sessions Hub page
- 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 ✓
2026-05-19 23:06:54 +02:00

2.2 KiB

Sessions Hub - Tasks

Phase 1: Backend Config Update

  • Task 1.1: Update UserConfig model

    • Add last_session_id field to models/user_config.py
    • Create Alembic migration
  • Task 1.2: Update config API

    • Accept last_session_id in api/user_config.py
    • Update Pydantic schemas

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 /sessions route
    • Create placeholder page

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