Добавьте вкладки Tools/Modifiers для подписи Toolbox с наложениями живого холста
- Сплит Toolbox левая боковая панель в Tools и Modifiers вкладки - Вкладка Модификаторов: раздельный список + панель настроек (вариант B) - Модификатор номеров ...
Переключите предпросмотр-баннер-текст на встроенный поток, чтобы ссылка changelog находилась на одной линии
Корректировка поворотного положения миниатюры и восстановление преобразования вращения
Два бага в ThumbnailCanvas: 1. Заменить "высота: \"${displayAspect * 100}%\" (процентная высота на абс- позиционируемый элемент — ненадежный, когда высота блок...
Показать сегодняшнее количество changelog в баннере предварительного просмотра со ссылкой на /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, ...
Откажитесь от установкиTotalPages до тех пор, пока PDF не затухнет, чтобы предотвратить насыщение рабочего PDF.js
На 50-страничном PDF вызов setTotalPages перед установкой петли размерности getPage() Все 50 компонентов ThumbnailCanvas немедленно. Каждый возвращается в PDF.j...
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 визуализации из SecurityService в ConversionService/DocsService
Маршруты загрузки теперь вызывают ConversionService напрямую через CONVERSION SERVICE URL: - POST /api/imaging/upload → /api/conversion/imaging/upload - POST/ap...
Удалите ImagingController и beans/imaging — перейдите в ConversionService и DocsService
Конечные точки загрузки теперь находятся в ConversionService по адресу /api/conversion/imaging/*. Все конечные точки управления и загрузки теперь живут в DocsSe...
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 (импорт движения/реакции) - Доб...
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...
Делегировать генерацию миниатюр в ConversionService, удалить зависимость от PDFBox
pOST теперь конвертирует PDF в ConversionService **************************** отключает ответ, сохраняет каждый thumb p{n}.png в MinIO и публикует на странице W...
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 к миниатюрам в PageThumbnailSidebar по...
Добавить GET **************************** конечная точка для обслуживания миниатюр PNG на странице
Generate per-page thumbnails for all PDF pages, store as {id}_thumb_p{n}.png
Добавить поле thumbPageCount и найтиNeedingPageThumbnails запрос для поддержки миниатюр на странице
Стремительный PDF-рендеринг, нормализация естественного масштаба, отсутствие горизонтальной прокрутки
- PdfCanvas: замените IntersectionObserver на полные рендеринга страницы. Подход, основанный на наблюдении, был ненадежным при запуске вкладки дизайна. с диспле...
Обновление до Next.js 16.2.3, TypeScript 6.0.2, Node 24, React 19 типов
Next.js 16.2.3 с Turbopack по умолчанию TypeScript 6.0.2 с возможностью стирания SyntaxOnly и целью ES2022 - @types/react@19 и @types/react-dom@^19 (React 19 ty...
Устранение конфликта Child DOM в рендеринге миниатюр PDF
Заменить container.innerHTML + appendChild pattern в ThumbnailCanvas React-managed <canvas> ref. Старый подход очистил 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 auth, удалить неиспользуемый помощник esigProxy
OTK — это правильный механизм аута — подход предыдущего заголовка сессии. Обойдя установленный шаблон безопасности. Все прокси-маршруты esig используются Снова ...
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 через внутренние K8s 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 для поиска или создания шаблона imgId на загрузке редактора
Страница создания проходит imgId в URL. Страница редактирования теперь называется конечная точка init, чтобы найти или создать шаблон ESign, затем использует Ве...
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
Добавьте редактор шаблонов электронной подписи с холстом дизайна, подписчиками и версиями
Полное переписывание страницы /doc/sign/edit с помощью интерфейса с вкладками (Настройки и подписчики, Дизайн), 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...
Добавить шаблоны электронной подписи, перечни и репозитории
Новые объекты JPA для системы проектирования шаблонов электронной подписи: ESignTemplate ESignTemplateSigner, ESignTemplateDesignVersion и ESignTemplateFieldLin...
Правильное отображение имени поля между backend и frontend для API уровня доступа
Map backend securityLevelId→accessLevel, isOrganizationOwner→isOwner, memberType→isTeamMember в API маршруте. Исправьте правильную проверку на использование EDI...
Как вы видите судоходство?
Каждое из этих обновлений автоматически попадает в ваше рабочее пространство. Начните бесплатно и смотрите, как он растет неделю за неделей.