Ottenere il messaggio genitore nella stessa domanda per eliminare la risposta N+1
Alias m.msg e JOIN FETCH msg.parent in modo che la risposta filettata i messaggi hanno il loro genitore caricato nella query iniziale piuttosto che attivare un ...
Migliorare le prestazioni di caricamento dei messaggi di chat
- Cache getCurrentMemberId() provoca un ref per evitare ripetuti /api/user-info chiama ogni messaggio WebSocket e indicatore di digitazione - Parallelizzare la ...
Rimuovi per-message logging dal messaggio di chat endpoint
Rimuovere System.out.println chiamate all'interno della mappa del flusso di messaggi che erano fuoco una volta per messaggio (100 operazioni I/O per richiesta),...
Fissare la query N+1 e aggiungere l'indice composito per il caricamento dei messaggi di chat
- Aggiungi il m.msg sinistro di JOIN FETCH a entrambe le query del repository per caricare con impazienza MediaObjMsg nella stessa query, eliminando fino a 100 ...
Forza la modalità luminosa per sovrascrivere la modalità oscura esterna CSS
- Impostare Tailwind darkMode a 'class' per evitare che le preferenze del sistema operativo attivino le utility scure - Aggiungi!importante overrides in globals...
Resolve horizontal overlap, follower blind spot, and timing bugs
- flyToHomeRow: compute per-follower actual dx extents to derive rightBuffer/leftBuffer independently, placing anchor correctly to prevent ring followers from...
Modalità di luce forza indipendentemente dalla preferenza di schema di colori del sistema operativo
Rimuoveto preferisce-color-scheme dark media query così il sito rende sempre in modalità luce.
Bake Size slider zoom into saved SVG via viewBox crop
Avatar Creator's internal scale transform zooms the avatar body within the SVG canvas, but the effect is imperceptible at small display sizes (e.g. a 140x140 Av...
Rimuovere la scala CSS ridondante trasformarsi da anteprima avatar
L'opzione di scala di Avatar Creator applica già la scala (N/100) come gruppo SVG trasformare sul corpo avatar. Il contenitore di anteprima era anche l'applicaz...
Risoluzione di collisione post-dock
Sostituisce i no-op hexheads:makeRoom listener con un vero handler che esegue la risoluzioneCollisions dopo la nuova finestra dello strumento è stabile. Fissa l...
Risolvere le collisioni dopo la caduta e lo swarm non-snap
Non-snap gocce ora eseguire la risoluzioneCollisions prima di salvare le posizioni, impedendo di impilare nell'angolo in basso a destra. Gocce di armatura anche...
Larghezze di slot per gruppi in flyToHomeRow
I gruppi ora riservano slot orizzontali proporzionali al loro seguace estensione dell'anello (utilizzando la formula assiale piatta corretta), impedendo il grup...
Aggiungi risoluzioneCollisions useCallback
Rileva le violazioni spaziali testa a testa e testa a strumentoWindow e muove teste offendere alla posizione pulita più vicina via spiraleSearch. Deve essere ch...
Aggiungi MIN GAP costante e spiraleSearch helper
Aggiunge il divario minimo 5px invariante costante e una ricerca a spirale funzione che trova la posizione di pixel senza collisione più vicina per un hexhead, ...
Aggiungi hexhead collision corregge il piano di implementazione
Rivestimento del piano di 5-task: a spiraleAiutatore della ricerca, risolvi l'uso di CollezioniCallback, gruppo-aware flyToHomeRow, onUp cablaggio non-snap/swar...
Rimuovere z-index DOM ordine per evitare che gli eventi di clic vengano eliminati sul fuoco
Ordinare le finestre di zIndex in ToolDock ha causato il nodo DOM riordinare su ogni focus event (mousedown). I browser cadono l'evento di clic quando il suo el...
Aggiungi hexhead collision fixs design spec
Spettacolo copre tre bug UX testa esagonale: sovrapposizione orizzontale vertex inferiore-fila, in basso a destra accatastamento quando scendono senza scatto, e...
Bake background color/gradient into saved Avatar Creator avatar SVG
Avatar Creator generates transparent-background SVGs by default. The background was only applied as a CSS wrapper on the preview container, so the stored MinIO ...
Dispatch member-panel-toggle via useEffect to avoid stale Framer Motion closure
onAnimationStart/Complete hold the last rendered props, so the exit animation always saw isOpen=true and windows never relayed to the right on close. Using a us...
Correct member-panel-toggle event property so tool windows respect panel offset
The event was dispatching `{ isOpen }` but ToolWindowsContext read `detail.open`, causing memberPanelOpenRef to always be falsy and the 500px panel offset to ne...
Eliminate hexhead spawn overlap by computing unique column positions
Each head now initialises its MotionValue at its own home-row column X and below the viewport (h + SIZE), then springs up to its final slot. Previously all head...
Use inline style for icon colors to prevent CSS specificity override
sx-generated color classes were being overridden by Tab card context styles. Switching color to inline style prop ensures icons always render with the correct c...
Add kamo.commerce.enabled=true to k8s configmap
This is the file the CI pipeline actually applies (k8s/configmap.yaml). Required for CommerceService and EngagementLifecycle to load under the new @ConditionalO...
Add KAMO_COMMERCE_ENABLED=true to k8s configmap
Required for CommerceService and EngagementLifecycle to load now that they use @ConditionalOnProperty instead of @ConditionalOnBean.
Aggiungi matchIfMissing=false a ConditionalOnProperty per i fagioli di commercio
Rende esplicito che CommerceService e EngagementLifecycle sono disabilitato per impostazione predefinita quando kamo.commerce.enabled non è impostato. Qualsiasi...
Enable commerce beans via kamo.commerce.enabled property
CommerceService and EngagementLifecycle now use @ConditionalOnProperty instead of @ConditionalOnBean. Set kamo.commerce.enabled=true so they load in SecuritySer...
Sostituire condizionaleOnBean con condizionaleOnProperty per il servizio di commercio
E' valutata prima della primavera. Data JPA registra i fave di repository definiti dall'utente, rendendolo inaffidabile. Sostituisci con il tuo nome. viene valu...
Prevent overflow:hidden on tab card from clipping status widget
Move overflow:hidden from the Card to the Tabs wrapper Box so scrollable tabs are contained but the right-aligned status/substatus widget remains fully visible.
Correct hexhead geometry, z-index layering, and viewport clamping
- Fix axialToPixel to use flat-top hex formula (was pointy-top) so honeycomb aligns flat-edge to flat-edge as the hex SVG shape requires - Fix generateRing to...
Batch-load custom form data in getAllLeads (eliminate N+1)
Replace per-lead getCustomFormDataForLead calls (N+1 queries) with a single batch load via getCustomFormDataForLeads, grouped by lead ID using a Map lookup when...
Eliminare la scansione full-table e le query N+1 su endpoint
- LeadRepository: aggiungi ricercaByOrganizationId JPQL query (utilizza l'indice ORG ID) invece di caricare l'intera tabella LEADS e filtrare in Java - LeadCust...
Add status/substatus widget to lead view tab bar
- Extract LEAD_STATUS_TYPES, getStatusIcon, getSubStatusIcon to shared app/lib/leadStatuses.tsx utility; update LeadManager to import from it - Add inline sta...
Rewrite HexHead system with framer-motion physics
Replace the broken 1800-line HexHeadGroup with a clean physics-based implementation using framer-motion springs and motion values. Key changes: - Remove wiggle...
Use Next.js client-side navigation for all MUI Link components
MUI Link without component={NextLink} renders as a plain <a> tag, causing full page reloads that reset all React state including tool windows. Added component={...
Replace window.location hard navigations with router.push/refresh
All window.location.href, window.location.assign(), and window.location.reload() calls in page components caused full page reloads, wiping all React state inclu...
Flat-top honeycomb layout, 5px gaps, cluster-aware groups, tool window relayout
HexHeadGroup: - Switch to flat-top hex geometry (HEX_INRADIUS/HEX_STEP) — hexes now share flat top/bottom edges with adjacent group members, giving a proper h...
Move ToolDock above auth gate to prevent tool window wipe on navigation
PresenceWrapper switches its component tree structure when auth resolves (Fragment > children → ChatWebSocketProvider > PresenceProvider > children). This unmou...
Finestre utensili persist attraverso la navigazione — Layer 1 guardia + ToolProviders cablaggio
Come quello che vedi la spedizione?
Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.