- 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.
1017 B
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