Scala a 2 repliche per assorbire il traffico di sincronizzazione + runtime
Una singola replica è il collo di bottiglia per il flusso di lavoro di sincronizzazione del dizionario: ogni operaio di gunicorn gestisce una richiesta poi auto...
Bump LibreTranslate per-call timeout fino a 90s; mantenere il singolo traslato retrocompat
Due follow-up per il ritry/failedKeys cambiano: 1. Per-call richiesta timeout era 30s. La produzione ha calli runtime (chat, notifiche, ecc.) colpendo lo stess...
Recuperare gli errori transitori e le chiavi di superficie guasto (non falsi passanti)
Due modalità di guasto sono stati indistinguibili nella risposta, quindi lo script non poteva dir loro a parte e tenuto "tradurre" le stesse chiavi di inglese s...
Alias zh -> zh-Hans così en->zh realmente traduce
LibreTranslate's /languages endpoint pubblicizza cinese sotto il codici specifici della regione "zh-Hans" e "zh-Hant" (mai nudo "zh"), anche se POST /translate ...
Conservare il nome del file originale e il tipo di contenuto sul download dell'allegato
I punti finali (entrambi i punti personali) e controller di posta elettronica condivisa) emettono Contenuto-Disposizione: allegato con nessun parametro nome fil...
Immagini inline rotte, download di allegati e flicker view-pane
- Strip <img> con cid: src nella e-mail sanitizer così immagini incorporate non rendering come un'icona di immagini rotti e nascondere immagini che non riescono...
Guida obiettivi supportati da /languages, non elenco stale
Sono stati supportati i SUPPORTED TARGETS in codice duro, ma sono stati supportati non esistono pacchetti argos pubblici per quelli, quindi ogni en->sw / en->ta...
Goccia non riconosciuta --lavoratori arg causa crashloop
Il libretranslate CLI non accetta --lavoratori, solo il gunicorn processo dentro di esso. Passandolo ha causato il pod a fallire argparse su boot e CrashLoopBac...
Pubblicare NATS CREATE evento dopo la transazione si impegna a risolvere la gara di allegato immagine
Il messaggio NATS è stato pubblicato all'interno del corpo @Transactional, che significava i destinatari potrebbero ricevere l'evento CREATE e richiedere l'imma...
Serialize attachments in WS relay and message history; allow attachment-only sends
Three bugs fixed: 1. ChatSessionSubscriptionManager was building the STOMP messageMap manually and omitting attachments, sourceLanguageId, readMemberId, msg...
Add attachments and event fields to ChatMessageDto; ignore unknown fields
ChatMessageDto was missing `attachments`, `readMemberId`, `msgIdLastViewed`, `dateLastViewed`, `addedMemberId`, `objImgId`, `transitMemberId`, and `isJoin` fiel...
Fix NPE in getChatSessions from Map.of() rejecting null nextcoder
java.util.Map.of() throws NullPointerException when nextcoder is null (no more pages). Replace with HashMap that accepts null values. Also wrap entire handler i...
Defects C/D/E — title display name, toolbar layout, header lift
Defect C: Add GET proxy for /sessions/{guid}/members so ChatBox.loadMembers() can populate the SessionMember.name field. ChatTool already uses members[0].name f...
Fix upload 500 (missing EmbRecordState) and empty chats tab (Timestamp cast)
Defect A: ChatAttachmentService.upload omitted **************** causing a NOT NULL violation on imgs.is_active. Added the default recordState. Also hardened Cha...
Prefer usernameAlias over User.name in memberDisplayName
Switches display name priority to: Member.usernameAlias → User.name → User.alias → User.username. Also includes the paged query dispatch fix from the previous c...
Show upload error toast in Composer when attachments fail
Catches errors thrown by uploadAll() and renders an MUI Alert above the input row. Root cause of Defect 4 was the missing MinIO bucket (imaging-chat-attachments...
Empty Chats tab — frontend already expects {rows} paged shape (no change needed)
The ChatsList component already reads data.rows. Backend fix (shared-lib + MediaService) is the root cause: HAVING CAST(null AS TIMESTAMP) IS NULL did not work ...
Use split First/After queries for chat sessions paged endpoint
Addresses empty Chats tab by dispatching to ****************
Split findChatSessionsForMemberPaged into First/After to fix empty Chats tab
HAVING CAST(null AS TIMESTAMP) IS NULL did not evaluate as expected in CockroachDB,
Goccia pulsanti intestazione di chat ridondanti; integrare le schede Membri/Cambia con il design del pannello
ChatHeader aveva una propria minimizzazione / chiudere IconButtons ma la finestra di chat tool cromo già fornisce quelle offerte — sono stati duplicati quando e...
Passare MediaObjTransit a @MapsId modello derivato-identità
@IdClass combinato con @Id @OneToOne non è supportato in modo affidabile in Hibernate 6 — JpaRepository <MediaObjTransit, inizializzazione UUID> fallisce con "n...
Goccia @ts-expect-error in streaming fetch corpo
Il `come RequestInit` getta già silenzia l'errore di tipo; la direttiva è ridondante sotto TS modalità rigorosa e rompe la costruzione di produzione.
Aggiungi @IdClass per MediaObjTransit così i dati di primavera JPA possono esporre il suo ID derivato
Il metamodello di Spring Data richiede @IdClass per le entità la cui chiave principale è una @Id @OneToOne identificatore derivato. Senza di esso, JpaRepository...
Add @PrePersist to MediaObjImgDownload.dateCreated to satisfy NOT NULL on insert
Skip creator in findOrCreateExactChatSession member loop (createChatSession already adds them)
Spostare il coder aggregato a HAVING; aggiungere @Transactional a markRead
Probe timeout 10s and 2 gunicorn workers
LibreTranslate's /languages probe blocks on the gunicorn worker event loop. With a single worker translating a long chat message, the probe times out at the def...
Raise client read timeout to 120s for long messages
LibreTranslate runs CPU-only argos models — a paragraph-length chat message takes 20-30s to translate, and longer ones can push past 60s. The 8-second read time...
Persist language change and show current language in tooltip
The members endpoint accepts PUT not PATCH, so the language picker's PATCH was silently ignored — Member.language never actually updated, which is why refreshin...
Attaccare le corde su..
Il proxy Next.js stava rilasciando la stringa di richiesta durante l'inoltro a MediaService, che significava la cronologia delle chat ?lang= param era silenzios...
Proprietario di zecca OTK con diritti di sovvenzione senza DB
Dopo aver assegnato l'Amministratore ruolo e scrive member rights applied, il blocco OTK-minting era rileggere quelle righe per mezzo di... dentro lo stesso @Tr...
Show Plans & Billing tab regardless of root-org status
The !isRootOrg gate hid the tab on root orgs and blocked org owners and self-viewers from reaching their billing page from "My Account". The PlansBillingTab its...
Drop in place — jump every member, no softPush on release
The drift on release was softPushCluster firing on the user-drop path. A mega-cluster's bounds extend in all directions from the anchor, so the PADDING-margin /...
Drop firmly in place — tail-only throw + jump() to clear velocity
The previous fix still let heads drift on release because: 1. Throw detection averaged velocity across the full 110ms window. A user who flicked then decele...
Drop in place after a paused drag instead of drifting
Two cooperating bugs caused dropped heads (single or post-gather) to fly off to seemingly random positions when the user dragged fast, slowed to a stop, then re...
Cancellare la velocità di trascinamento ereditata sul rilascio
Il trascinatore aggiorna il valore di movimento della testa con mx.set rapido(nx) chiamate, che framer-motion utilizza per calcolare la velocità. Quando il rila...
Crispen hexagon outline at all sizes/states
Four sources of softness eliminated: - **************** on the SVG - **************** on the visible outline so the stroke width does not stretch (and blur) u...
Rifiutare quando la sessione ogID non corrisponde a host org
auto-login ha accettato qualsiasi *** e ha coniato un OTK puntando indietro ad esso, indipendentemente da quale sia la destinazione interna.* host appartiene. U...
Per-cluster spacing + regole di gruppo di stessa dimensione
La cella del cluster e l'adiacenza dell'esa sono ora derivati dal più grande cluster membro invece della scala globale, e gli MV seguinti includono un centro-al...
Nascondi popover quando Invite to Meeting apre la finestra di dialogo
Il popover usato per rimanere aperto sotto la finestra di dialogo della riunione perché il finestra di dialogo è stato condizionalmente reso all'interno del can...
Robust English fallback for missing and empty locale translations
- mergeWithFallback now treats empty-string locale values as untranslated, falling back to the English value instead of rendering nothing - Replace bare NextI...
Update orders page account uid type from number to string
AccountSummary.uid is now a string (Long precision fix). Also remove parseInt comparison and type="number" from the manual account ID field.
Utilizzare CommerceMarket.getId() invece di getUid() nella fornituraCompSubscription
CommerceMarket utilizza @Id UUID id (non uid), quindi Lombok genera getId().
CustomerMemberId è una stringa di ID membro, risolve i conti da primarioMemberId
- posApi: AccountSummary uid string, add primarioMemberId; *****************************************************************************************************...
Serializzare il clienteMemberId come stringa per preservare la precisione lunga
- AccountSummaryDTO: annotate uid con **************************************************************************************************************************...
Complete next-intl for System Diagnostics
Wire remaining MySQL, Redis, statistics, request, and accordion UI copy to components.settings.diagnostics keys; use locale-aware time and translated heap badge...
Legacy getCurrentSubscription stub deve lanciare, non restituire null
Ritorno null fatto FeaturesManager trattare ogni org come senza abbonamento (billingLoaded=true, hasSubscription=false), bloccando tutte le funzionalità alle sp...
Moduli ambientali json per messaggi gitignored/*.json importazioni
`tsc` e IDE risolvono i messaggi/` JSON dopo unione senza richiedere file impegnati sotto messaggi/. Esecuzione include per tipi/**/*.d.ts.
Spostare le impostazioni dell'account aiutare i pannelli ai tasti dei messaggi
Sostituire tutte le copie di aiuto codice duro sulla pagina dell'account dell'organizzazione con scopod useTasti di traduzione. Estendere i18n-audit per segnala...
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
