- 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.
1.6 KiB
1.6 KiB
Why
Les requêtes Prisma des pages les plus fréquentées chargent trop de données : weather.ts ramène tout l'historique sans borne, les queries de la sessions page incluent des relations profondes inutiles pour l'affichage liste, et aucun cache n'est appliqué sur les requêtes répétées à chaque navigation. Ces optimisations réduisent la taille des payloads et le temps de réponse DB sans changer le comportement.
What Changes
- Weather historique borné : ajouter
take+orderBy createdAt DESCdanssrc/services/weather.ts, configurable via constante (défaut : 90 entrées) - Select fields sur sessions list : remplacer les
includeprofonds par desselectavec uniquement les champs affichés dans les cards de liste - Index
User.name: ajouter@@index([name])dansprisma/schema.prisma+ migration - Cache sur requêtes fréquentes : wraper les queries de liste sessions et stats utilisateurs avec
unstable_cache+ tags, invalidés lors des mutations
Capabilities
New Capabilities
query-cache-layer: Cache Next.js sur les requêtes de liste fréquentes avec invalidation par tags
Modified Capabilities
- Aucune modification de spec comportementale — optimisations internes transparentes
Impact
src/services/weather.ts— ajout limite + orderBysrc/services/(tous les services de liste) —include→selectprisma/schema.prisma— ajout@@index([name])surUserprisma/migrations/— nouvelle migration pour l'indexsrc/services/— wrappingunstable_cachesur queries fréquentessrc/actions/— ajoutrevalidateTagcorrespondants (complément Phase 2)