Files
Froidefond Julien 2d266f89f9 feat(perf): implement performance optimizations for session handling
- Introduced a new configuration file `config.yaml` for specifying project context and artifact rules.
- Added `.openspec.yaml` files for tracking changes related to performance improvements.
- Created design documents outlining the context, goals, decisions, and migration plans for optimizing session performance.
- Proposed changes include batching database queries, debouncing event refreshes, purging old events, and implementing loading states for better user experience.
- Added tasks and specifications to ensure proper implementation and validation of the new features.

These enhancements aim to improve the scalability and responsiveness of the application during collaborative sessions.
2026-03-10 08:06:47 +01:00

877 B

ADDED Requirements

Requirement: Single polling interval per active session

The SSE infrastructure SHALL maintain at most one active DB polling interval per session, regardless of the number of connected clients.

Scenario: First client connects starts polling

  • WHEN the first client connects to a session's SSE endpoint
  • THEN a single polling interval SHALL be started for that session

Scenario: Additional clients share existing polling

  • WHEN a second or subsequent client connects to the same session's SSE endpoint
  • THEN no additional polling interval SHALL be created
  • THEN the new client SHALL receive events from the shared poll

Scenario: Last client disconnect stops polling

  • WHEN all clients disconnect from a session's SSE endpoint
  • THEN the polling interval for that session SHALL be stopped and cleaned up