Skip to content

v0.3.0 — Project-scoped polling & single-project view

Choose a tag to compare

@Postmodum37 Postmodum37 released this 08 Feb 12:08
· 32 commits to main since this release

What's New

Project-scoped polling

  • Poll data is now filtered by the selected project — sessions, messages, and plan progress are all scoped
  • Project auto-selection on startup: URL param → server --project flag → first project in list
  • --project <path> CLI flag threads through as default project via health endpoint

Single-project view

  • Removed "All Projects" view — dashboard always shows one project at a time
  • Simplified project dropdown (no more "All Projects" option at bottom)
  • Removed per-session project badges (unnecessary in single-project mode)

Bug fixes (from code review)

  • Fixed cross-project response race: Hooks now use combined sessionId+projectId scope key to detect stale responses during rapid project switching
  • Fixed test workflow regression: Removed bunfig.toml root that broke integration test discovery
  • Eliminated duplicate listAllSessions() call: resolveProjectDirectory now accepts pre-loaded sessions
  • Added project-scoped poll cache: Cache keyed by projectId instead of global-only — scoped requests now benefit from caching and deduplication
  • Session cleared on project switch: selectedSessionId resets when changing projects
  • Auto-selected project validated: Stale ?project= URL params no longer lock users into empty scope
  • Graceful directory-missing degradation: Shows sessions even when project directory is gone, only plan data is null

Tests

  • Added hook tests for projectId URL construction, scope key reset, and stale response rejection
  • Added server tests for scoped cache 304 responses and cache isolation across projects
  • Added SidebarPlanProgress, health route, and project resolver test suites