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

1017 B

Requirement: Loading skeleton on main routes

The application SHALL display a skeleton loading state during navigation to /sessions and /users routes, activated by Next.js App Router streaming via loading.tsx files.

Scenario: Navigation to sessions page shows skeleton

  • WHEN a user navigates to /sessions
  • THEN a loading skeleton SHALL be displayed immediately while the page data loads

Scenario: Navigation to users page shows skeleton

  • WHEN a user navigates to /users
  • THEN a loading skeleton SHALL be displayed immediately while the page data loads

Requirement: Modal lazy loading

Heavy modal components (ShareModal) SHALL be loaded lazily via next/dynamic to reduce the initial JS bundle size.

Scenario: ShareModal not in initial bundle

  • WHEN a page loads that contains a ShareModal trigger
  • THEN the ShareModal component code SHALL NOT be included in the initial JS bundle
  • THEN the ShareModal code SHALL be fetched only when first needed