Mergi la conținut
KAMOUniverse

Jurnal de schimbări

Ce e nou.

Fiecare îmbunătățire a platformei, pe măsură ce se livrează.

  1. · APIService

    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. Adds esig.service.url config property with the correct K8s internal service URL as default.

  2. · kamo-internal

    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ă ('sub'' 'deasupra' 'de peste'): - Pasul de mai jos: redă numere de pagini, etichete și filigrane cu strat="în spatele" - trece mai sus: redă doar filigrane cu strat="deasupra" - PdfCanvas redă două trece ModifierLayer Strat și unul după - Setări de filigran: comutaţie segmentată "Conţinut în spatele / deasupra conţinutului" introdusă deasupra comutatorului Solid Color

  3. · kamo-internal

    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, 15% opacitate - ModifierLayer: WatermarkOverlay redă logo-ul tematicii org centrat + rotit pe pagină. Atunci când solidColor este activat, un filtru în linie SVG (feColorMatrix) înlocuiește culoarea fiecărui pixel păstrând în același timp canalul alfa - Set scule: Panou de setare cu filigran - Selector de tip logo (tigle vizuale care prezintă logo-uri de org reale) - Intrările în intervalul paginilor - Rotație, dimensiune și diapozitive opacitate - Toggle culoare solidă - Presetări de culori rapide (Primary, Secondary, Black, White) citite din CSS vars - ModernColorPicker pentru culoare personalizata atunci cand modul solid este activ - Add modificator menu câștigă opțiunea Watermark; lista de cărți arată opacitate pictogramă + rezumat

  4. · kamo-internal

    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ă verticală cu modul de scriere: vertical-rl + rotire (180deg) text citește CCW (bottom-to-top); linii stiva stânga-la-dreapta astfel încât linia 1 este cel mai aproape de marginea paginii, linia 3 este cea mai interioară - RM (Middle Right): fiecare linie utilizează modul de scris: vertical-rl (fără rotație suplimentară) - TM/BM disponibil acum pe Etichete (pilule orizontale standard, centrate) - Îndepărtaţi poziţiaGrid4 din set de unelte; Etichetele utilizează PoziţiaGrid8 cu un indiciu indicat la selectarea LM/RM - Modificator eliminatPosition4 tip (nu mai este necesar)

  5. · kamo-internal

    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 de pagini: pagina start/end, 8-position grid (TL/TM/TR/LM/RM/BL/BM/BR), format preset + personalizat ({n}/{total} jetoane) - Modificator etichetă: pagina start/end, grilă 4-corner, până la 3 linii de text stivuite - Cazuri multiple de fiecare tip susţinut - Carduri arată pictograma tip + rezumat (interval, poziție, text previzualizare) - Atractii ale cartii selectate in culoarea primara; sarcina setarilor in panoul inferior - ModulatorParticular Layer: suprafete de panza live redate pe pagina din gama definita, puncte-evenimente: zero, z-index sub campuri/annotari - DesignData extinsa cu modificatori[]

  6. · kamo-marketing

    Afișează numărătoarea jurnalului de astăzi în banner previzualizare cu link la /changelog

  7. · kamo-internal

    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; offset 28px from right to account for scrollbar gutter - Rewrite ThumbnailCanvas placeholder logic: containers now render at US Letter aspect ratio before any image loads, then animate to the true aspect ratio once the thumbnail resolves; paddingTop is applied imperatively via a ref to bypass MUI's spacing system - Aspect ratio transitions smoothly with a spring curve when rotation changes (portrait ↔ landscape morph) - Spinner fades/shrinks out and thumbnail fades/scales in with a polished keyframe sequence on load

  8. · kamo-internal

    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 selects the page AND scrolls to it in the main canvas - Selected page in the main canvas gets a 2.2s pulsing theme-colored glow: three-layer box-shadow (solid ring + spread + ambient) breathing from dim to bright - Selected thumbnail in the sidebar gets a matching but proportionally smaller glow - When a page is selected via the main canvas, the thumbnail sidebar auto-scrolls the corresponding thumbnail into view (scrollIntoView nearest) - Replaced the broken useVisiblePage stub (always returned 0) with real selectedPageIndex prop - Page container converted from plain <div> to MUI Box to support sx/@keyframes - Unselected pages gain a subtle hover shadow for discoverability

  9. · kamo-internal

    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 maintains a consistent right-edge gap regardless of scrollbar visibility - Properties panel slides up (spring easing, 380ms) on open and slides down (ease-in, 240ms) on close using MUI Slide with cubic-bezier(0.34,1.56,0.64,1) - Switching between fields triggers a subtle fade+translate keyframe (220ms) via React key on the inner content wrapper, keeping the outer container mounted - Panel gains a soft top shadow (0 -8px 32px) to lift it visually off the canvas

  10. · kamo-internal

    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, Identity Fields, and Input Fields are disabled (grayed out with lock icon) until a signer is selected; Annotation Tools remain always available - Settings & Signers tab fully redesigned: two-column full-height layout — left panel (380px) for template name, scope selector, and association type; right panel (flex) for the scrollable signers list with sticky header, empty state, and add-another footer

  11. · kamo-internal

    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 assigned signer's color. Resize handles are now 4 corner-only circular dots instead of 8 directional handles.

  12. · DocsService

    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 endpoints: - Folders: GET/POST list+create, PATCH rename, DELETE, POST move-doc - Config: GET assoc-config, GET doc-types - Documents: GET download, DELETE delete, GET metadata, POST list - Updates: PATCH update/description, filename, hidden, access-level, doc-type, folder - Trash: PATCH trash/restore - History: GET history/changes, GET history/downloads - Templates: POST templates/list, PATCH templates/{id}/status, GET templates/{id}/converted-pdf, GET templates/{id}/thumbnail/{page}

  13. · ConversionService

    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 application.yml - Add OTKPreAuthFilter + KSessionService for OTK-based auth - Add ImagingUploadController at /api/conversion/imaging: - POST /upload — regular document upload - POST /templates/upload — full synchronous pipeline (upload → Docs convert → thumbnail generation → NATS WebSocket progress events) - Fix thumbnail object naming to use originalDat.getId() consistently with DaemonService and the download endpoint

  14. · ConversionService

    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 thumbnail generation logic in ConversionService; callers store the ZIPed results themselves.

  15. · kamo-internal

    Adaugă Degetele de sus pas pentru a încărca indicatorul de progres, cale generatoare thumbnails stadiul WS

  16. · SecurityService

    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 - Eveniment de progres WS de generare thumbnails WS pe pagină (interval 72-95%) cu etichetă "Generated miniature N of M" - Restabilește toate procentele anterioare de etapă pentru a face loc: descărcarea 0-10, pregătirea 10-15, conversia 15-55, verificarea 55-63, stocarea 63-72, miniaturi 72-95, finalizarea 95-100

  17. · SecurityService

    Adaugă GET - Nu. Obiectivul final pentru a servi unghiile PNG per pagină

  18. · DaemonService

    Generate per-page thumbnails for all PDF pages, store as {id}_thumb_p{n}.png

  19. · kamo-shared-library

    Adaugă degetul marePageCount field and findNeedingPageThumbnails interogare pentru suport miniatură pe pagină

  20. · ESigService

    Add template init endpoint to find-or-create templates by imgId

    The create page uploads to the imaging system and redirects with imgId. The edit page now calls POST /api/esig/templates/init with the imgId to find an existing template or create a new one in DRAFT status.

  21. · kamo-internal

    Adăugați editor șablon de e-semnătură cu pânză de design, signere și versiuni

    Rescrierea completă a paginii /doc/sign/edit cu interfață tabla (Setări & Signere; Design), panza PDF.js cu suprapus teren dragabil, instrumente de adnotare, signer management, pagina miniatură bara laterală, versiunea istorie, și anula / redo. Include Zustand magazine, API proxy rute la ESigService, și 13 componente noi.

  22. · ESigService

    Initial ESigService Spring Boot project for e-signature template management

    New microservice with REST API for e-signature template CRUD, signer management, design version snapshots, and field link tracking. Includes OTK auth filter, Forgejo CI/CD pipeline, and K8s deployment manifests.

  23. · kamo-shared-library

    Adaugă entități model de semnătură electronică, enume și depozite

    Noi entități JPA pentru sistemul de proiectare a modelului de semnătură electronică: ESignTemplate; ESignTemplateSigner, ESignTemplateDesignVersion și ESignTemplateFieldLink cu enumuri de sprijin și depozite de date de primăvară.

  24. · kamo-marketing

    Redactează numele secrete ale K8s în afișarea de changelog, înlocuiește cu ***

  25. · kamo-marketing

    Statistici server-side pentru totaluri reale, defilare infinită, număr de filtru precis

    Stats bar și numărul de pastile de filtrare provin acum de la /api/changelog/public/stats (agregate DB reale, fără număr de pagini încărcate). Mai multe butoane de încărcare înlocuiți cu IntersectionObserver sul infinit care declanşează 600px înainte de Jos.

  26. · SecurityService

    Se adaugă /api/changelog/public/stats obiectivul pentru numărul total pe tip și proiect

  27. · kamo-shared-library

    Adăugați gindByProjectIn interogare la CommiteLogRepository pentru obiectivul statistici

  28. · SecurityService

    Adăugați validarea secretă a webhook pentru a modifica obiectivul jurnal

    Apărare în profunzime: validează *** antetul pe SecurityService în plus față de validarea APIService gateway.

  29. · APIService

    Expose changelog webhook through APIService with secret key auth

    Adds POST /api/changelog/webhook route that validates *** header before forwarding to SecurityService. Secret configured via CHANGELOG_WEBHOOK_SECRET env var / K8s secret.

  30. · SecurityService

    Configurează proiectele publice de schimb cu toate cele 23 de programe Forgejo

Universul tău te așteaptă.

Începeți gratuit în câteva minute.Adăugați produse oricând sunteți pregătit — fără migrare, fără autentificări noi.

Gratuit pentru totdeauna — nu este necesar un card de credit