Redare PDF Eager, normalizare la scară naturală, nici un pergament orizontal
- PdfCanvas: înlocuiți IntersectionObserver cu randare dornic-toate-pagini. Abordarea bazată pe observator nu era de încredere atunci când începe fila de proiec...
Upgrade to Next.js 16.2.3, TypeScript 6.0.2, Node 24, React 19 types
- Next.js 16.2.3 cu Turbopack ca server implicit dev - TipScript 6.0.2 cu tinta syntaxaDoar si ES2022 - @types/react@^19 and @types/react-dom@^19 (react 19 type...
Elimina conflictul Child DOM în redarea miniatură PDF
Replace container.innerHTML + apendiceStencils cu un ref. Vechea abordare a fost curăţată prin reacţie Noduri DOM direct, cauzând reconcilierea Reaction pentru ...
Se manipulează planurile aplicabile și se aplicăBillingCycles ca și matrice de șir
Aceste câmpuri sunt tastate ca string[], dar au avut .split(,"") apeluri pe ele, cauzarea de eșecuri de construcție 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...
Restaurează rute proxy la OTK auth, eliminați ajutor esigProxy neutilizate
OTK este mecanismul corect de autism a ocolit modelul de securitate stabilit. Toate rutele proxy esig folosesc acum generaOTK de la apiProxy.ts din nou.
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...
Utilizați antete de sesiune directă în loc de OTK pentru rutele proxy ESigService
Citește *** sesiune de la Redis în Next.js și pass orgId/memberId ca încredere antetele către ESigService prin intermediul K8s DNS interne. Elimină dependenţa O...
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 ...
Utilizați criteriul de evaluare init pentru a găsi sau crea șablon de imgId pe sarcina editor
Pagina de creare trece imgId în URL. Pagina de editare acum solicită init final pentru a găsi sau crea ESignTemplate, apoi utilizează UUID returnat pentru opera...
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...
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
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, si...
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, Fo...
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 ESignTemp...
Cartografiere corectă a numelui de câmp între backend și frontend pentru nivelul de acces API
Harta backend securityId→Level Access, isOrganizationOwner→isOwner, memberType→isTeamMember in API route. Fixează dreapta pentru a utiliza EDIT MINTE ACCESS LEV...
Adaugă suport static pentru pagina de oferte atunci când abonamentul API nu este disponibil
Masa nu există încă în producţie. astfel încât API întoarce o eroare. Retrage-te la promovarea hardcoded și planurile de date astfel încât pagina de oferte func...
Actualizare tip ApiPromotie pentru potrivirea cu noua List <Sfring> răspuns suport
planIds aplicabile și aplicabileBillingCycles sunt acum array-uri, nu șiruri JSON.
Extend 18DOFF promotion end date to 2026-12-31
The April 14 end date was causing the offer page to show as expired.
Elimină validarea secretă a webhook-ului redundant, APIService se ocupă de 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...
Redactează numele secrete ale K8s în afișarea de changelog, înlocuiește cu ***
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...
Eliminați KamoGamesRoboCluck din proiectele publice changelog, adăugați scripturi backfill
Se adaugă /api/changelog/public/stats obiectivul pentru numărul total pe tip și proiect
Adăugați gindByProjectIn interogare la CommiteLogRepository pentru obiectivul statistici
Utilizați portul 80 pentru serviciul de securitate URL-ul serviciului K8s, nu portul aplicației brute 4201
Truncate comite titluri mai mari de 500 de chars pentru a preveni introducerea de eșecuri DB
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.
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 / ...
Mută jurnalul de schimbare în Navigatorul de resurse / subsol și adaugă la toate sitemaps
Actualizează data lansării bannerului de previzualizare până în 20 aprilie
Eliminați JSON de lucru în jurul pentru array-uri plan de abonament
Platforma returnează acum array-uri adecvate în loc de siruri de caractere JSON, astfel încât try/parse/catch back logice nu mai este necesară în plus, pachet; ...
Use List<String> instead of manual JSON strings for promotion plan/cycle IDs
Update KamoCRMPricingLoader to use List.of() for applicablePlanIds and applicableBillingCycles, matching the shared library's migration from JSON strings to ent...
Abonați-vă Migrați Câmpuri JSON la relații bazate pe entitate @MultiToMany
Înlocuiește coloanele de șir jsonb (PlanIds compatibile, incluseInPlanIds, PlanIds aplicabile, aplicabilBillingCycles) cu JPA propriu-zis @MultyToMany se alătur...
Configurează proiectele publice de schimb cu toate cele 23 de programe Forgejo
Adaugă înlocuiri de text insensibile la caz pentru afișarea jurnalului de schimb
Înlocuiește denumirile de instrumente interne cu denumirile cu care se confruntă publicul (Docs-> Docs, Meet->Meet, Capcha->Capcha, Avatar Creator->Avatar Creat...
Adaugă pagina de jurnal live Change cu UI cronologie, filtre și statistici
Name oferă filtrare de proiect/tip, grupare de date, descrieri expandabile; şi mai multă încărcătură. Added nav and footer links.
Adaugă enum ComiteType, ComiteLog și ComiteLogRepository for changelog system
Adăugați editorul de nivel de acces la setările de membri cu înlocuire de etichetă specifică org
Redenumește CLIENT→MINTE ȘI INTERN→TEAM MINTE în ImageAccessLevelType.ts cu {var} placeholders. Adăugaţi secţiunea de nivel de acces la RolesPermissionsTab cu e...
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ă.