Elimină domeniul de aplicare/assocType din SetăriSetingsSignersTab, redenumește la Descrierea Doc, adaugă Activ Member Signor
Adaugă membruType la informațiile utilizatorului, redenumește șablonNume la docDescriere în setări șablon stoc
Adaugă câmp membruType din coloana de discriminatorii a entității membre la user-info API răspuns şi utilizareUserInfo cârlig. Redenumește numele șablonului doc...
Fixaţi filigranul de deasupra stratului z-index, adăugaţi meniul pagina dreapta-click, adăugaţi pagina de mai sus/jos, îmbunătăţiţi indicatorul de tragere
- ModifierLayer: "deasupra" trece acum foloseste zIndex 20 astfel încât filigranele red pe partea de sus a câmpurilor și adnotări - PdfCanvas: meniu context cu ...
Locul a scăzut câmpul la poziția vizuală exactă a fantomei
Utilizați activ.rect.curent.tradus (clientul stafiei Dragoverlay) se potrivește rect tradus, astfel încât câmpul aterizează acum exact în cazul în care utilizat...
Remap field signerUids atunci când backend returnează noul signer IUDS după salvare
Plasarea câmpului Drag-and-Drop, bara de instrumente de adnotare plutitoare și distanța paginii PDF
- Înlocuiți clic-la-loc cu @dnd-kit drag-and-drop pentru toate semnăturile, identitatea, și instrumente de câmp de intrare; drag fantoma se potrivește cu aspect...
Traseu toate apelurile esig API prin forwardToApi() pentru a remedia eșecurile de salvare
Toți cei 10 responsabili de traseul esig indicau către ESIG SERVICE URL care rezolvă unui proxy kamowsesig-service inexistent. Înlocuiți fiecare handler cu forw...
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...
Add /api/esig/** gateway routing to ESigService
Route all /api/esig/** requests through the existing API gateway to the dedicated ESigService (kamowsesig-service) instead of the non-existent proxy target. Add...
Adaugă opţiunea poziţiei pe strat la modificatorul de filigran (în spatele/ deasupra conţinutului)
- Modificator de semnal de apă câștigă un câmp 'strat': 'în spatele' 'în spate' 'în spate' (defaults to 'behind') - ModifierLayer ia acum un "pass" recuzită ('s...
Adaugă modificator de filigran în set de unelte esign
- Tipul modificatorului de filigran: logoType (complet/simplu), startPage, endPage, rotation (−180 - Implicit la logo-ul complet, −45° rotatie, 50% dimensiune, ...
Afișează numai un indiciu despre formatul numărului paginii atunci când este selectat personalizat
Extindeți modificatorul etichetei la grila completă de 8 poziții cu rotație LM/RM
- LabelModifier.position folosește acum ModifierPosition8 (aceeași grilă de 8 poziții ca Numere de Pagină) - LM (Middle Left): fiecare linie redată ca o pilulă ...
Adăugați instrumente/modificatoare tab-uri pentru a esigna Toolbox cu suprafeţe de pânză live
- Split Toolbox bara laterală stângă în Tools and Modificators tabs - Fila modificatoare: lista divizată + panoul setărilor (Opțiunea B) - Modificator de numere...
Comută previzualizare-banner-text la fluxul de linie, astfel încât link-ul Changelog stă pe aceeași linie
Poziţionarea corectă a unghiilor şi restabilirea rotaţiei transforma
Două microfoane în ThumbnailCanvas: 1. Înlocuit înălțime: \ element poziționat Padding-top) cu înălțimea de la lățimea stabilită explicit. Lățimea este acum...
Afișează numărătoarea jurnalului de astăzi în banner previzualizare cu link la /changelog
Fix floating zoom control visibility and polish thumbnail placeholders
- Move floating zoom controls outside the scroll container and use position:absolute so they remain visible at all times regardless of scroll position; offs...
Page selection with animated glow border synced between canvas and thumbnail sidebar
- DesignTab holds selectedPageIndex as the single source of truth - Clicking any page in the main canvas selects it (onPageSelect) - Clicking a thumbnail select...
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...
Auto-select first signer, fix zoom control scrollbar gap, animate properties panel
- Toolbox auto-selects the first signer's UID when signers go from 0→1 - Canvas container uses scrollbar-gutter: stable so the sticky zoom/undo control mainta...
Reorder tabs, gate field tools by signer, redesign Settings & Signers tab
- Design is now the first tab; Settings & Signers is second - Toolbox shows "Add Signer" CTA (navigates to Settings) when no signers exist - Signature Tools, Id...
Render field controls as actual-looking form elements with signer color tinting
Each field type now renders a visual representation of the real control (text input, checkbox, toggle, dropdown, radio group, date picker, etc.) tinted with the...
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, ...
Defer set Totalpages până după bucla dim PDF pentru a preveni saturarea lucrătorului PDF.js
Pe un PDF de 50 de pagini, asteptare set TotalPages înainte de getPage () dimension loop mounts Toate cele 50 de componente ThumbnailCanvas imediat. Fiecare sca...
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...
Migrați toate rutele de imagistică API de la SecurityService la TransformationService/DocsService
Încarcă rute acum apelați la serviciul de conversie direct prin CONVERSION SERVICE URL: - Post/api/imagine/upload → /api/conversion/imaging/upload - POST / api/...
Elimina ImagingController și fasole/imagine mutat la Transformareservice și DocsService
Încarcă criteriile de evaluare în direct în TransformationService la /api/conversion/imaging/*. Toate obiectivele de management și de descărcare trăiesc acum în...
Add imaging management endpoints — move all non-upload imaging from SecurityService
- Add 17 imaging DTOs to beans/imaging/ (folders, documents, templates, updates) - Add ImagingController at /api/docs/imaging with all management + download end...
Add imaging upload endpoints — move all upload logic from SecurityService
- Add JPA, Redis, NATS, kamo-shared-library, JJWT, commons-io, jackson-hibernate6 to pom.xml - Add datasource, Redis master/replica, NATS, MinIO config to appli...
Upgrade to Next.js 16.2.3, TypeScript 6.0.2, Node 24, React 19 types
- Pin lângă 16.2.3 și eslint-config-next pentru a se potrivi - upgrade typescript to exact 6.0.2, @types/node to ^24 - Înlocuiți mișcarea cadru cu mișcarea ^12 ...
Delegate thumbnail generation to ConversionService, remove PDFBox dependency
ThumbnailGenerationJob now POSTs the converted PDF to ConversionService **************** unzips the response, and stores each thumb_p{n}.png in MinIO. PDFBox re...
Generație de miniatură delegată la ConversieServicii, elimina dependența de PDFBox
generați șiStoreThumbnails POSTs acum PDF convertit la serviciul de conversie - Nu. Unzips răspunsul, stochează fiecare Degetul mare p {n}.png în MinIO, și publ...
Add ThumbnailService and POST **************** endpoint
Accepts a PDF file, renders each page at 150 DPI via PDFBox, packs per-page PNGs into a ZIP (thumb_p0.png, thumb_p1.png, …) and returns it. Centralises all thum...
Adaugă Degetele de sus pas pentru a încărca indicatorul de progres, cale generatoare thumbnails stadiul WS
Generație sincronă per pagină miniatură în timpul uploadului șablonului cu progres granular WS
- Adăugați dependență PDFBox la pom.xml - După stocarea PDF convertit, redați toate paginile prin PDFRenderer și încărcați fiecare ca {id} thumb p{n}.png - Even...
Preveniți stivuirea paginii, fixați tăieturi de miniatură, adăugați miniaturi server-side cu PDF.js Fallback
- Adăugaţi flexShrink: 0 la divs pagină în PdfCanvas astfel încât paginile nu comprima în coloana flex - Adăugaţi flexShrink: 0 la elementele miniatură în Pagin...
Adaugă GET - Nu. Obiectivul final pentru a servi unghiile PNG per pagină
Generate per-page thumbnails for all PDF pages, store as {id}_thumb_p{n}.png
Adaugă degetul marePageCount field and findNeedingPageThumbnails interogare pentru suport miniatură pe pagină
Ca ceea ce vezi de transport maritim?
Fiecare dintre aceste actualizări aterizează automat în spațiul de lucru. Începe gratuit și urmăriți-l crească săptămână după săptămână.