Tradurre restanti hardcoded UI stringhe
Pagina delle attività: Salva modifiche, Chiudere, Aggiungi oggetto attività a flusso di automazione, Modifica titolo tooltip. Note pagina: Dismesso, Carico note...
Replace hardcoded English with t() across leads pages
Translate remaining hardcoded UI strings in allotments, new, reports, and view/[id] to use next-intl. Add scripts/i18n-audit.py to detect remaining hardcoded st...
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...
Aggiungi Personal + Chat/Docs/Notes/KB/HRS sezioni
L'indice /settings non ha mostrato sezioni ai non amministratori perché ogni la sezione esistente è stata gated su un diritto di amministratore (CONFIGURE SYSTE...
Apertura dell'obiettivo ruotata in base al rapporto aspetto viewport
Il telaio dell'obiettivo ora si inclina di atan2(viewportH, viewportW) così il suo aperto lato destro mira verso la diagonale viewport — per 16:9 monitora i pun...
Obiettivo di lancio-to-remove con punteggio/miss celebrazioni
Un telaio porta 132×132 appare nella parte superiore sinistra quando una testa è in solo-drag o attivo-doccia, offset 56px dall'angolo in modo che le teste poss...
Gettare la fisica con collisioni da tavolo da biliardo e comet trail
Flicking una testa oltre la soglia di lancio lo lancia attraverso il viewport sotto fisica esplicita (frizione, rimbalzo del bordo, elastico testa-vs-testa coll...
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...
Utilizzare OTK a mente server per passare in un nuovo org
Preferire l'otk restituito da POST /api/security/org sul follow-up /api/security/enter-as round-trip. Il server ora inganna un proprietario fresco sessione come...
Mint proprietario ***+OTK su org creare
Dopo creareOrganizationOwner, menta un fresco *** legato al nuovo proprietario TeamMember e restituire OTK insieme a id/members. Senza questo creatore rimane su...
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...
Riscrivere il sistema di trascinamento/cluster con lo snap magnetico e raccogliere il gesto
Sostituire il monolitico HexHeadGroup (847 linee) con un motore a cluster modulare sotto app/components/chat/hexheads/. Singola fonte di verità: ogni testa vive...
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.
Rimuovere @PostConstruct COMP provisioner — fissare gli ordini esistenti direttamente in DB
approvareOrder() già gestisce nuovi ordini COMP. Uno spazio di dati per gli ordini esistenti vengono corretti direttamente nel database.
Rimuovere il punto finale manuale di provision-comp — avvio self-heals
Gli ordini COMP sono ora forniti automaticamente all'avvio di SecurityService via SottoscrizioneServizio @PostConstruct. Il punto finale manuale non è più neces...
Auto-guarigione ordini COMP non previsti all'avvio
Su @PostConstruct, eseguire la scansione di tutti gli ordini APPROVED COMP e fornire qualsiasi cosa manca un AccountSubscription. Idempotent — trovare o creare ...
Utilizzare CommerceMarket.getId() invece di getUid() nella fornituraCompSubscription
CommerceMarket utilizza @Id UUID id (non uid), quindi Lombok genera getId().
Spostare lo stato di disponibilità a sinistra prima di My Businesses
Riloca la pillola di stato dalla barra di azione destra alla sezione di benvenuto sinistra, ponendola tra il separatore di saluto e My Businesses con un divisor...
Aggiungi targetOrganizationId a SubscriptionOrder tipi e creareSubscription Ordine
Aggiunta del punto finale del provision-comp per attivare l'abbonamento COMP dall'ordine approvato
# POST # chiamate **********************************************************************************************************************************************...
Auto-provisioni dell'approvazione dell'ordine COMP ContoSubscription e assegna la licenza
- AbbonamentoOrdina: aggiungere targetOrganization (nullable FK to orgs) # Add to targetOrganizationId string # - AccountRepository: aggiungere findByPrimaryMem...
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 **************************************************************************************************************************...
Sostituisci click-to-open con popover azione + controlli di dimensione
Fare clic su una testa di esagonale ora apre un popover vetro-morfismo lucido con azioni contestuali invece di aprire immediatamente la finestra degli strumenti...
Aggiungi la tabella MEMBER UI PREFERENCEs (ordine 60)
CREATO Idempotent per il supporto generico del negozio UI-preference il selettore esagonale e le impostazioni future dell'interfaccia utente. Schema rispecchia ...
Add MemberUiPreferenceController for per-member UI settings
Backs the new hex-head popover size selector and any future small per- member UI preference. Endpoints under /api/security/members/me/ui- preferences resolve th...
Add MemberUiPreference entity for per-member UI prefs
Generic per-member UI preference store (memberId, prefKey, JSONB value) for small persisted UI settings. First consumer is the hex-head popover size selector.
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...
Revertire "feat(billing): wire FeaturesManager alla piattaforma di abbonamento per la gating di baby-org"
Questo reverte commettere E' il momento giusto
Revertire "feat(billing): aggiungere endpoint a sottoscrizione della piattaforma per la funzione cross-org gating"
Questo reverte commettere E' il momento giusto
Wire FeaturesManager alla piattaforma di abbonamento per gating
Manager stava chiamando legacy. getta (ritorno registrato) invece di leggere l'abbonamento reale della piattaforma. Ora chiama E' una cosa che si fa sentire. o...
Aggiungi endpoint di sottoscrizione della piattaforma per la funzione cross-org gating
Gli amministratori di Child-org (come il proprietario di GNosia Daniel) hanno il loro abbonamento COMP ordini sulla radice KamoCRM org, non sul proprio org. Car...
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...
Utilizzare aria-label tradotto per ImpostazioniVisualizza schede
Leggi Il prossimo.
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.
I18n per il contenuto di hub legacy / barra laterale tramite le impostazioniLegacyHub
Sostituisci l'inglese in codice duro con il prossimo inno. Introduce un argomento stabile id costanti; activeTopic è confrontato contro ids invece di stringhe d...
Scope SettingsSearchBar to components.settings namespace
Use **************** with searchBar.* keys instead of global t() with full dotted paths.
Wire landing page to settingsLanding translations
Replace hardcoded feature cards and section copy with useTranslations- backed strings from **************** including ICU branch label for branch types cards. C...
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...
Wire organization account hero and tabs to i18n keys
Use **************** strings for SettingsView title, subtitle, and tab labels so the UI shows translated copy instead of raw placeholders left in dictionary ove...
Move translations to kamo-translation-dictionary
All 22 locale files move to the centralized kamo-translation-dictionary repo. The CI now clones that repo and copies the kamo-marketing/ folder into messages/ b...
Move translations to kamo-translation-dictionary
All 22 locale files move to the centralized kamo-translation-dictionary repo. The CI now clones that repo and copies the kamo-internal/ folder into messages/ be...
Come quello che vedi la spedizione?
Tutto questo arriva nel vostro spazio di lavoro da solo. Iniziare sul piano gratuito e leggere di nuovo questa pagina in un mese.
