Add esign repos to JPA repository scan so ESignTemplateRepository bean is found
DocsService was crashing on startup because ESignTemplateRepository lives in com.kamo.z.shared.esign.repos which wasn't included in the @EnableJpaRepositories s...
Utilizzare la finestra 24 ore al posto della data UTC per il conteggio dei changelog di oggi
Il server viene eseguito in UTC, quindi di notte in fusi orari degli Stati Uniti perISOString() restituisce la data di domani e nessuna corrispondenza di commit...
Forza-dinamica sulle rotte API di changelog per prevenire il caching della data stala
Next.js era staticamente caching questi gestori di rotta GET al momento della costruzione, congelamento nuovo Data() alla data di costruzione in modo da conta c...
Utilizzare systemDocsOnly flag per System Docs scheda, mostrare tutti i docs in Original Docs
Docs originale scheda ora mostra tutti i docs per questo org/assocType senza filtraggio da assocObjectId. Scheda di System Docs invia systemDocsOnly: true otten...
Use **************** for hasDesignVersion, add systemDocsOnly filter
hasDesignVersion now checks if an esign template exists with current_design_version > 0, instead of using isSigTemplate which is true for all uploads through th...
Default assocObjectId all'ID del membro corrente per un corretto filtro della scheda doc
Quando non viene fornito nessun param URL oid, le schede Documenti Originali e Doc Modificati ora query dall'ID del membro corrente, mentre System Docs interrog...
Add @JsonIgnoreProperties to UploadTemplateRequest to prevent hash null on unknown fields
The frontend sends accessLevel, description, folderId, docTypeId in the metadata JSON. Jackson was failing to parse the entire metadata object when encountering...
Acquisizione di dati separata per schede di documenti originali/modificate/sistema
Aumentare la barra degli strumenti di annotazione z-index a 1000 quindi rende sempre elementi di pagina sopra
Luogo abbandonato campo alla posizione visiva esatta del fantasma
Utilizzare active.rect.current.translated (il client del fantasma di DragOverlay rect) corrisponde al ret tradotto, quindi il campo ora atterra esattamente dove...
Remap campo signerUids quando backend restituisce nuovi UID firmanti dopo salvare
Percorso tutte le chiamate API esig attraverso forwardToApi() per correggere i guasti di salvataggio
Tutti i 10 gestori di rotta esig puntavano a ESIG SERVICE URL che risolve a un proxy kamowsesig-service non esistente. Sostituire ogni maniglione con forwardToA...
Replace upsertSigners with full delete+insert to handle frontend temp UUIDs
The frontend assigns temporary crypto.randomUUID() values to newly-added signers before any backend call. The previous upsert-by-uid logic would throw 404 for t...
Mostra solo l'indicazione di token del formato del numero di pagina quando viene selezionato Custom
Passare l'anteprima-testo per il flusso in linea così il link changelog siede sulla stessa linea
Posizionamento corretto della miniatura e trasformazione di rotazione del ripristino
Due bug in ThumbnailCanvas: 1. Sostituito `altezza: \`${displayAspect * 100}%\` (altezza percentuale su abs- elemento posizionato — inaffidabile quando contene...
Move scroll ownership from PdfCanvas to canvasContainerRef
PdfCanvas root Box previously had overflow-auto + h-full, making it its own scroll container. This meant: - scrollbarGutter: stable on canvasContainerRef had no...
Fit to Width calculates actual container width instead of resetting to zoom 1
Reads **************** (which accounts for the stable scrollbar gutter) and the page's natural width via **************** then computes fitZoom = (availableWidt...
Replace all hardcoded purple with var(--color-primary) on Settings & Signers page
Signers icon, icon background, count badge, Add Signer buttons, Add First Signer button, empty-state illustration tint, add-another hover, and the ALL_OF_TYPE s...
Remove fixed height and scroll bars from field properties panel
The panel had two vertical scrollbars: 1. DesignTab wrapper had height: 200 + overflowY: auto 2. FieldPropertiesPanel root had height: 200 + overflow: hidden, ...
Deferire il setTotalPages fino a dopo il ciclo di dim PDF per prevenire la saturazione dei lavoratori PDF.js
Su un PDF di 50 pagine, chiamando setTotalPages prima del getPage() monta loop dimensione tutti i 50 componenti ThumbnailCanvas immediatamente. Ogni rientra in ...
Expand component scan and add full datasource/JPA/Redis/MinIO config
ConversionServiceApplication was only scanning com.kamo.ConversionService, missing all shared library beans (ImageService, MinIOStorageService, MemberRepository...
Add kamo-shared-library build stage to resolve missing dependency
The Dockerfile was trying to fetch kamo-shared-library from Maven Central, which doesn't exist there. Mirror the SecurityService pattern: clone the shared libra...
Evitare di impilare la pagina, fissare slivers miniatura, aggiungere miniature lato server con PDF.js fallback
- Aggiungi flexShrink: 0 alla pagina divs in PdfCanvas così le pagine non comprimere nella colonna flex - Aggiungi flexShrink: 0 a thumbnail articoli in PageThu...
Eager rendering PDF, normalizzazione scala naturale, nessuna scorrimento orizzontale
- PdfCanvas: sostituire IntersezioneObserver con render-all-pages desiderosi. L'approccio basato sull'osservatore era inaffidabile quando la scheda di progettaz...
Eliminare il conflitto DOM bambino nel rendering PDF delle miniature
Sostituire container.innerHTML + append Modello bambino in ThumbnailCanvas con un <canvas> ref. Il vecchio approccio ha cancellato React-owned DOM nodi direttam...
Maniglia applicabilePlanIds e applicabileBillingCycles come array di stringhe
Questi campi sono digitati come string[] ma avevano .split(",") li chiama, causando errori di costruzione di TypeScript.
Add CockroachDB transaction retry for template init endpoint
CockroachDB serializable isolation can trigger RETRY_SERIALIZABLE on the read-then-write pattern in initTemplate. Retries up to 3 times with backoff when detect...
Revertire i percorsi proxy a OTK auth, rimuovere esigProxy helper non utilizzato
OTK è il meccanismo corretto auth — l'approccio precedente della sessione bypassato il modello di sicurezza stabilito. Tutti i percorsi proxy esig ora utilizzan...
Correct OTK Redis key format and add imaging template list endpoint
OTK keys use OTK<id> and ***<id> (no colon) matching the Next.js proxy. Added POST /api/esig/templates/list to query imaging templates via shared library ImgRep...
Utilizzare intestazioni di sessione dirette invece di OTK per le rotte proxy ESigService
Leggi *** sessione da Redis in Next.js e passare orgId/memberId come attendibile intestazioni a ESigService tramite DNS K8 interni. Rimuove la dipendenza OTK.
Replace OTK auth with trusted session headers for internal K8s calls
ESigService is internal — the Next.js backend reads the session from Redis and passes orgId/memberId/userId as X-Org-Id, X-Member-Id, X-User-Id headers. No OTK ...
Utilizzare endpoint init per trovare o creare modello da imgId sul carico dell'editor
La pagina di creazione passa imgId nell'URL. La pagina di modifica ora chiama la init endpoint per trovare o creare il ESignTemplate, quindi utilizza il restitu...
Scan all shared library repository packages to resolve bean dependencies
ComponentScan picks up shared library services which depend on repos in donotmodify.dao.repos and commerce packages — must scan those too.
Remove .mvn/ copy from Dockerfile — directory does not exist in this project
Mappatura corretta del nome del campo tra backend e frontend per l'API di livello di accesso
Mappa backend securityLevelId→accessLevel, isOrganizationOwner→isOwner, memberType→isTeamMember in API route. Fissare il controllo destro per utilizzare EDIT ME...
Aggiungi fallback statico per la pagina offerta quando l'API di abbonamento non è disponibile
Il tavolo non esiste ancora in produzione. così l'API restituisce un errore. Ripiegare i dati di promozione e pianificazione così la pagina di offerta funziona ...
Aggiornare il tipo di ApiPromotion per abbinare la nuova risposta di backend di Lista
applicabilePlanIds e applicabileBillingCycles sono ora array, non stringhe JSON.
Extend 18DOFF promotion end date to 2026-12-31
The April 14 end date was causing the offer page to show as expired.
Rimuovere la convalida segreta webhook ridondante, APIService gestisce HMAC auth
Validate Forgejo HMAC-SHA256 signature instead of plain secret header
Forgejo sends webhook secret as X-Gitea-Signature / X-Forgejo-Signature HMAC-SHA256 hash, not as a plain header value. Read body, verify HMAC, then forward to S...
Forza pagina changelog per rendere dinamicamente, non staticamente al tempo di costruzione
Come quello che vedi la spedizione?
Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.