7440720b7b
- Add SessionOperationsContext + SessionProgressPanel for global, non-blocking lifecycle progress (create/start/stop/restart/delete/ recreate-tunnel) driven by SSE events. - Promote SessionsContext to authoritative shared session state with refresh, addOrUpdateSession, and removeSession helpers. - Wire AppShell, DashboardPage, SessionsPage, useInstanceActions, ToolStarter, and InstanceList into shared state so lists update immediately after create/delete without manual refresh. - Remove legacy blocking overlays from CreateSessionForm, SessionCard, and InstanceList; keep disabled states and inline spinners only. - Update DashboardPage tests to wrap with SessionsProvider and SessionOperationsProvider. - Add .cache/ to .gitignore. Quality gates: npm run typecheck, npm run lint, npm test -- --run (82 passed).
37 lines
2.4 KiB
Markdown
37 lines
2.4 KiB
Markdown
# .
|
|
dir: .
|
|
|
|
index: ./.pi-map.index.md
|
|
|
|
## Project Map Protocol
|
|
|
|
1. Read this protocol and the root `.pi-map.index.md` first.
|
|
2. Use `index:` / `map:` references to open relevant directory indexes and maps.
|
|
3. Load indexes before rich maps during task-start navigation.
|
|
4. Read the local rich map and actual source before editing.
|
|
5. Treat non-empty `## dirty` sections in either artifact as stale.
|
|
6. If source and generated artifacts disagree, trust source.
|
|
7. If map and index disagree, trust neither blindly; verify from source and regenerate the pair.
|
|
8. After editing source, run `project_map_patch` for each changed file.
|
|
9. Before broad architectural claims or final handoff, run `project_map_validate` when freshness matters.
|
|
|
|
Trust boundary: index routes, map orients, source decides.
|
|
|
|
## role
|
|
Frontend architecture specification for real-time session progress tracking using Server-Sent Events and shared React state management.
|
|
## files
|
|
- .openspec.yaml | Defines an OpenAPI specification metadata file with schema type and creation date
|
|
- design.md | Design document for frontend-only refactoring of session lifecycle progress tracking and live UI updates using SSE events and shared React context. | dep: React, SSE (useEvents), SessionsContext, SessionOperationsContext, AppShell, DashboardPage, SessionsPage, CreateSessionForm, InstanceList, useInstanceActions, ToolStarter, StartToolFAB, EventToastBridge
|
|
- proposal.md | Proposes a frontend architecture change to add real-time session progress tracking via SSE and shared state across the application. | dep: React, SSE events, state management, AppShell, DashboardPage, SessionsPage, use-instance-actions, CreateSessionForm, SessionCard, InstanceCard
|
|
- tasks.md | A task checklist for refactoring a web application's session management to use shared state, a global progress panel, and removing legacy progress overlays. | dep: React, state/sessions.tsx, state/session-operations.tsx, useEvents, use-instance-actions.ts, AppShell, SessionsPage, DashboardPage, tool-starter.tsx, start-tool-fab.tsx, instance-list.tsx, create-session-form.tsx, session-card.tsx
|
|
## arch
|
|
Documentation-driven design package using OpenAPI metadata, markdown specifications (design/proposal/tasks), and event-driven UI patterns with SSE, shared React context, and global progress panel replacing legacy overlay components.
|
|
## tags
|
|
tsx, session, progress, react, state, design, shared, appshell
|
|
## symbols
|
|
-
|
|
## workflows
|
|
-
|
|
## dirty
|
|
-
|