Fügen Sie esign repos zu JPA-Repository-Scan, so dass ESignTemplateRepository-Beine gefunden wird
DocsService war Absturz auf Start-up, weil ESignTemplateRepository lebt in com.kamo.z.shared.esign.repos, die nicht in der @EnableJpaRepositories scannen.
Verwenden Sie 24-Stunden-Fenster statt UTC-Datum für die heutige Änderungszahl
Der Server läuft in UTC, so dass nachts in US-Zeitzonen toISOString() zurückkehrt morgen Termin und kein Commit-Match. Verwenden Sie stattdessen ein 24h rollend...
Kraft-dynamische auf Changelog API Routen, um abgestandenes Datum Caching zu verhindern
Next.js war statisch Caching dieser GET Route Handler zu Bauzeit, Einfrieren neuer Datum() zum Baudatum, so dass die heutige Changelog-Zählung nie aktualisiert ...
Verwenden Sie systemDocsNur Flag für System Docs Tab, zeigen Sie alle Dokumente in Original Docs
Original Docs Tab zeigt jetzt alle Dokumente für diesen org/assocType ohne Filterung durch assocObjectId. System Docs Registerkarte sendet systemDocsOnly: true ...
Verwenden Sie ************ für hasDesignVersion, systemDocsOnly Filter hinzufügen
hatDesignVersion prüft nun, ob eine esign Vorlage existiert current_design_version 0, statt isSigTemplate zu verwenden, das für alle Uploads durch den Template-...
Default assocObjectId zur aktuellen Mitglieds-ID für die ordnungsgemäße doc-Tab-Filterung
Wenn kein oid URL param bereitgestellt wird, sind Original Docs und Modified Docs tabs Abfrage nun durch die aktuelle Mitglieds-ID, während System Docs Abfragen...
@JsonIgnoreProperties zu UploadTemplateRequest hinzufügen, um hash null auf unbekannten Feldern zu verhindern
Das Frontend sendet AccessLevel, Beschreibung, OrdnerId, docTypeId in der Metadaten JSON. Jackson versäumte es, das gesamte Metadaten-Objekt zu analysieren bei ...
Beheben Anmerkungswerkzeugleiste z-index auf 1000, damit es immer über Seitenelemente macht
Platzieren Sie fallengelassenes Feld an der genauen visuellen Position des Geistes
Verwenden Sie stattdessen active.rect.current.translated (der Client-Client des DragOverlay-Ghosts) entspricht dem übersetzten Rect, so dass das Feld jetzt gena...
Remap-Feld SignerUids, wenn Backend kehrt neue Unterzeichner UIDs nach speichern
Preserve Unterzeichner UID auf speichern, um Feldverbände intakt zu halten
Routen Sie alle esig API-Aufrufe durch forwardToApi() zur Behebung von Speicherausfällen
Alle 10 esig Route Handler zeigten auf ESIG_SERVICE_URL, die löst zu einem nicht vorhandenen kamowsesig-Service-Proxy. Ersetzen Sie jeden Handler mit forwardToA...
upsertSigners mit vollständiger Lösch+Insert ersetzen, um Frontend temp UUIDs zu handhaben
Das Frontend weist temporäre crypto.randomUUID() Werte neu hinzu Unterzeichner vor jedem Backend-Call. Die bisherige upsert-by-uid-Logik würde 404 für diese nic...
Nur Seite Zahlenformat Token Hinweis anzeigen, wenn Custom ausgewählt wird
Switch-Vorschau-Banner-Text auf Inline-Flow, so changelog Link sitzt auf der gleichen Linie
Korrigierte gedrehte Miniatur-Positionierung und Wiederherstellung Rotation transformieren
Zwei Käfer in ThumbnailCanvas: 1. Ersetzte Höhe: \-${displayAspect * 100'%\" (Prozenthöhe auf Abs- positioniertes Element - unzuverlässig, wenn die Blockhöh...
Scroll-Besitz von PdfCanvas auf canvasContainerRef verschieben
PdfCanvas Root Box hatte zuvor Overflow-Auto + h-full, so dass es seine eigener Scroll-Container. Das bedeutete: - scrollbarGutter: stabil auf canvasContainerRe...
Fit to Breite berechnet tatsächliche Containerbreite statt Zurücksetzung in Zoom 1
Liest ************ (was den Stall ausmacht Scrollbarre) und die natürliche Breite der Seite via **************** dann berechnet fitZoom = (verfügbarWidth - 32) ...
Ersetzen Sie alle Hardcode-Lila mit var(-color-primary) auf Einstellungen & Signers Seite
Signers Symbol, Icon Hintergrund, Zählplakette, Hinzufügen von Signer-Buttons, First Signer hinzufügen Button, Leerzustand Illustrationsfarbe, Add-another schwe...
Entfernen Sie feste Höhe und Scrollleisten aus Feldeigenschaften-Panel
Die Platte hatte zwei vertikale Scrollleisten: 1. DesignTab Wrapper hatte Höhe: 200 + Überlauf: auto 2. FieldProperties-Etrrang-Wurzel hatte Höhe: 200 + Überlau...
Defer setTotalPages bis nach PDF dim loop, um PDF.js Arbeitersättigung zu verhindern
Auf einer 50-seitigen PDF-Datei, Aufruf von setTotalPages vor der getPage() Dimension-Loop-Tachtung alle 50 ThumbnailCanvas Komponenten sofort. Jeder fällt zurü...
Komponenten-Scan erweitern und vollständige Datenquelle/JPA/Redis/MinIO config hinzufügen
ConversionServiceApplication war nur das Scannen com.kamo.ConversionService, fehlt alle gemeinsamen Bibliothek Bohnen (ImageService, MinIOStorageService, Member...
Kamo-shared-Bibliothek Bauphase hinzufügen, um fehlende Abhängigkeit zu beheben
Die Dockerfile versuchte, Kamo-shared-Bibliothek von Maven Central zu holen, die es dort nicht gibt. Spiegeln Sie das Sicherheitsdienst-Muster: Klon der gemeins...
Seitenstapeln vorbehalten, Miniatur-Sakteler behebe, serverseitige Miniaturansichten mit PDF.js Fallback hinzufügen
- flexShrink hinzufügen: 0 zu Seitendivs in PdfCanvas, damit Seiten nicht in flex Spalte komprimieren - flexShrink hinzufügen: 0 zum Thummen Elemente in PageThu...
Eager PDF-Rendering, natürliche Skalennormalisierung, keine horizontale Schriftrolle
- PdfCanvas: ersetzen Sie IntersectionObserver durch eifrige Render-All-Seiten. Der Beobachter-basierte Ansatz war unzuverlässig, wenn die Design-Tab startet ...
Eliminieren Entfernen von Kinder-DOM-Konflikt in PDF-Thumnail-Rendering
Container.innerHTML + appendChild Muster in ThumbnailCanvas ersetzen mit einem React-verwalteren <canvas" Ref. Der alte Ansatz räumte React-Besen DOM-Knoten dir...
Handle anwendbarePlanIds und anwendbareBillingCycles als String-Arrays
Diese Felder sind als String[] getippt, haben sie aber .split(""), ruft sie an, verursachte TypScript-Build-Ler Fehler.
CockroachDB Transaktions-Reprote für Vorlage init endpoint hinzufügen
CockroachDB serializierbare Isolation kann RETRY_SERIALIZABLE auslösen das Lese-then-Write-Muster in initTemplate. Retries bis zu 3 mal mit Backoff beim Aufspür...
Proxy-Routen zu OTK auth zurückversetzen, unbenutzten esigProxy-Heng.
OTK ist der richtige Auth-Mechanismus - der Vor-Sitzungs-Header-Ansatz umgangen die etablierten Sicherheitsmuster. Alle esig Proxy-Routen jetzt verwenden generi...
Korrektur des OTK Redis Schlüsselformats und fügen Sie bildgebende Vorlagenliste Endpunkt hinzu
OTK-Schlüssel verwenden OTK<id&I und ***<id' (kein Doppelpunkt) passend zum Next.js Proxy. POST /api/esig/templates/list hinzugefügt, um Bildvorlagen per Shared...
Verwenden Sie direkte Session-Header anstelle von OTK für ESigService Proxy-Routen
Lesen Sie *** Sitzung von Redis in Next.js und passieren orgId/memberId als vertrauenswürdig Header zu ESigService über interne K8s DNS. Entfernt OTK Abhängigke...
Ersetzen Sie OTK auth durch vertrauenswürdige Session-Header für interne K8-Anrufe
ESigService ist intern - das Next.js Backend liest die Session von Redis und geht orgId/memberId/userId als X-Org-Id, X-Member-Id, X-User-Id Header durch. Für d...
Verwenden Sie init Endpunkt zum find-or-create Template von imgId beim Editorload
Die erstellen Seite geht imgId in der URL. Die Bearbeitungsseite ruft jetzt die init Endpunkt zu finden oder zu erstellen, die ESignTemplate, dann verwendet die...
Scannen Sie alle freigegebenen Bibliotheks-Repository-Pakete, um Bohnen-Abhängigkeiten zu beheben
ComponentScan nimmt gemeinsame Bibliotheksdienste auf, die von Repos abhängen donotmodify.dao.repos und Commerce-Pakete müssen diese auch scannen.
Entfernen Sie .mvn/ copy from Dockerfile - Verzeichnis existiert in diesem Projekt nicht
Korrektes Feldnamen-Mapping zwischen Backend und Frontend für Access Level API
Karte backend securityLevelId-accessLevel, ist OrganizationOwner-isOwner, memberType-isTeam in API-Route. Beheben Sie die richtige Überprüfung, um EDIT_MEMBER_A...
statischen Fallback für Angebot Seite hinzufügen, wenn Abonnement API nicht verfügbar
Der ************-Tisch existiert in der Produktion noch nicht, so gibt die API einen Fehler zurück. Zurückfallen auf hart codierte Promotion und Plandaten so fu...
Update ApiPromotion-Typ, um neue Liste<String' Backend-Antwort
anwendbarePlanIds und anwendbareBillingCycles sind jetzt Arrays, keine JSON Strings.
Verlängerung des 18DOFF-Aktions-Enddatums auf 2026-12-31
Das Endedatum 14. April führte dazu, dass die Angebotsseite als abgelaufen anzettelte.
Entfernen redundante webhook geheime Validierung, APIService behandelt HMAC auth
Valididate Forgejo HMAC-SHA256 Signatur statt schlichter geheimer Kopfzeile
Forgejo sendet Webhook-Geheim Geheimnis als X-Gitea-Signature / X-Forgejo-Signature HMAC-SHA256 Hasch, nicht als einfacher Headerwert. Lesekörper, überprüfen HM...
Changelog-Seite zwingen, dynamisch zu machen, nicht statisch zur Bauzeit
Wie, was Sie sehen Versand?
Jedes dieser Updates landet automatisch in Ihrem Arbeitsbereich. Starten Sie frei und beobachten Sie es Woche für Woche wachsen.