Додати модифікатор водяного знака для вилучення коробки інструментів
- Тип водяного знакаModifier: логотипТип (повний/простір), початокПage, кінецьПейдж, обертання (−180–180), розмір (10–90% від ширини сторінки), непрозорість (2–...
Тільки показувати формат номеру сторінки токена підказка при обранні користувача
Розширений модифікатор етикеток для повної 8-місної сітки з поворотом LM/RM
- LabelModifier. В даний час використовується ModifierPosition8 (наприклад, 8-позиційна сітка як номери сторінок) - ЛМ (Middle Ліворуч): кожен рядок, що подаєть...
Додавання вкладок інструментів/моделяторів для виписки інструментів з накладками живого полотна
- Split Toolbox лівий бічний панель у вкладки Інструменти та модифікаторів - Вкладка модифікаторів: розбити список + панель налаштувань (Option B) - модифікатор...
Перемикач попереднього перегляду-баннер-тексту в режимі онлайн, так що посилання зміни журналу сидить на одній лінії
Правильний поворотний палець позиціонування і відновлення обертання трансформатора
Дві помилки в ThumbnailCanvas: 1. Замінений `height: \`${displayAspect * 100}%\```` (висота процентів на abs- позиціонований елемент — ненадійний при зведенні ...
Показати сьогодні зміни в списку попереднього перегляду банера з посиланням на /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, ...
Захищайте набірВсього { key3}, перш ніж після петля PDF, щоб запобігти насиченню PDF.js
На 50-сторінку PDF викличте SetTotalPages перед отриманнямPage() розмір петлі кріплень всі компоненти 50 ThumbnailCanvas відразу. Кожен падає назад в PDF.js (се...
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...
Мигрейт всіх маршрутів від служби підтримки API для переїзду
Завантажте маршрути зараз зателефонуйте ПеретворенняПослуги безпосередньо через CONVERSION SERVICE URL: - POST /api/imaging/upload → /api/conversion/imaging/upl...
Видалити ImagingController і боби/видання — перемістили в ПеретворенняПослуги і DocsService
Завантажте кінцеві точки тепер в режимі перетворенняПослуги в /api/conversion/imaging/*. Все управління та завантажити кінцеві точки тепер живуть в 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 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...
Оновлення до Next.js 16.2.3, TypeScript 6.0.2, Node 24, React 19 типи
- Pin поруч з 16.2.3 і eslint-config-next, щоб відповідати - Список оновлень для точного 6.0.2, @types/node до ^24 - Замініть рами-емоцію з рухом ^12 (motion/re...
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...
Видалення ескізів для перетворенняПослуги, видалення залежності PDFBox
генеруватиAndStoreThumbnails тепер POSTs перетворений PDF в ПеретворенняПослуги ********************************************************************************...
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...
Додати Thumbnails крок, щоб завантажити індикатор прогресу, відстеження генерації thumbnails WS етап
Синхронний пер-сторінок великого пальця під час завантаження шаблону з гранульованим прогресом WS
- Додати залежність PDFBox до pom.xml - Після зберігання перетворений PDF, надайте всі сторінки за допомогою PDFRenderer і завантажте кожну як {id} thumb p{n}.p...
Запобігти стекуванню сторінок, зафіксувати пальці мініатюр, додати мініатюри сервера з PDF.js
- Додати flexShrink: 0 до сторінки divs в PdfCanvas так сторінки не стискаються в гнучкій колонці - Додати flexShrink: 0 до мініатюрних елементів в PageThumbnai...
Generate per-page thumbnails for all PDF pages, store as {id}_thumb_p{n}.png
Додати thumbPageCount поле і знайтиПрихованеPageThumbnails запиту для підтримки веб-сторінок
Eager PDF рендеринг, нормалізація природного масштабу, не горизонтальна прокрутка
- PdfCanvas: замінити IntersectionObserver з eager рендер-all-pages. Підхід спостерігача був ненадійним при старті проекту з дисплеєм: при переході предків від ...
Оновлення до Next.js 16.2.3, TypeScript 6.0.2, Node 24, React 19 типи
- Next.js 16.2.3 з Turbopack як за замовчуванням dev сервер - TypeScript 6.0.2 з ерозійнимиSyntaxOnly і ES2022 цілі - @types/react@^19 і @types/react-dom@^19 (R...
Усувається видалення конфліктів на основі файлів PDF
Замініть контейнер.innerHTML + додатокChild візерунок в ThumbnailCanvas з реф. <canvas> Старий підхід очищений React DOM-вузли безпосередньо, викликаючи повторе...
Ручка застосовуєтьсяPlanIds і застосовнаBillingCycles як масиви рядків
Ці поля типовані як рядок[], але мали .split(",") дзвінки на них, виклики побудови 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...
Перевернути проксі маршрути до OTK-аута, видалити невикористаний esigProxy помічник
OTK є правильним механізмом аути — передчасний підхід до сеансу обходити встановлений шаблон безпеки. Всі маршрути проксі-проксі тепер використовують генерOTK з...
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...
Використовуйте прямі заголовки сеансу замість OTK для проксі- маршрутів ESigService
Читати *** сеанс від Redis в Next.js і пройти orgId/memberId як надійний заголовки ESigService через внутрішню К8с DNS. Вилучає залежність 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 ...
Використовуйте init endpoint для пошуку або створення шаблону за допомогою imgId на завантаження редактора
Створення сторінки переходить в URL-адресу. Відредагувати сторінку тепер виклики init endpoint для пошуку або створення ESignTemplate, після чого використовує П...
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
Додати редактор шаблонів електронних знаків з дизайнерським полотном, знаками та версіями
Повний перезапис сторінки / док / позначений / вихід з інтерфейсом вкладок (Налаштування та підписники, Дизайн), PDF.js полотно з перетягуванням поля, анотаційн...
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...
Як ви бачите відправлення?
Кожен з цих оновлень землі в робочому просторі автоматично. Почати вільний час і дивитися його на тиждень після тижня.