跳转到内容
KAMOUniverse

变更记录

什么是新的。

平台的每一个改进,随着它的出货。

  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

    在水印修改器中添加层位置选项( 在内容后/ 以上)

    - 水印修改器获得一个“ layer” 字段 : “ 后面” 上方( 默认为“ 后面” ) - 修饰器Layer 现在取出一个"通过"道具("下"-"上") : - 通行证下方:制作页码、标签和有层='后面'的水印 - 上行:只制作有"上"层的水印 - PdfCanvas 制作两张修改器Layer的通行证——一张在外地重叠/注释之前 层和后一层——这样水印就可以坐到所有被放置内容的后面或上面. - 工具箱水印设置:从固态开关上方插入的“ 内容后方 / 内容上方” 切入分块

  3. · kamo-internal

    添加水印修改器到签名工具箱

    - 水印修正器类型:标志Type(完整/简单)、startPage、endPage、旋转(-180-180)、大小(10-90%的页面宽度)、不透明(2-60%)、固态相色相色相色相相相相色相相相相相相色相相相色相相相相色相相相相色相相相相相相相相色相相相相相相相相色相相相相相相色相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相 - 默认为完整的标志,−45°旋转,50%大小,15%不透明 - 修改器Layer:水上标记重叠使Org主题标志以页面为中心+旋转. 当固件Color被启用时, 内置的 SVG 过滤器( feColorMatrix) 在保留 alpha 通道的同时替换了每个像素的颜色 —— 给出一个干净的 silhouette 填充而无需画布或 CORS 担心 - 工具箱:水印设置面板 - logo 类型选择器(显示实际矿石标志的可视瓷砖) - 页面区域输入 - 旋转、大小和不透明滑板 - 固态切换 - 从CSS vars读取的快速设置颜色预设(初级、二级、黑色、白色) - 固态模式活动时用于自定义颜色的现代颜色选择器 - 添加修改菜单增益水印选项;卡片列表显示不透明图标+摘要

  4. · kamo-internal

    用 LM/RM 旋转将标签修改器扩展至完整的 8 位置网格

    - LabelModifier.position 现在使用ModifierPosition8(与Page Numbers相同的8个位置网格) - LM (中左):每行作为垂直药丸提供,并有写法: 垂直-rl + 旋转(180deg) ——文本读作 CCW (从下到上;行堆左到右行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行 - RM (中右方): 每行使用写-模式: 垂直- rl( 不额外旋转) —— 文本读取 CW( 从上到下); 倒行, 因此行 1 在右边, 线来入 - 目前在标签(标准水平药丸,中间)上提供TM/BM - 从工具框中删除了位置Grid4;标签使用位置Grid8,并在选择 LM/RM 时显示提示 - 已删除的修改器Position4类型(不再需要)

  5. · kamo-internal

    添加工具/ 修改选项卡到带有活画布覆盖的签名工具箱

    - 将工具箱左侧栏分割为工具和修改器标签 - 修改器标签:拆分列表+设置面板(备选B) - 页码修改:起/出页,8-位置网格(TL/TM/TR/LM/RM/BL/BM/BR),格式预设+自定义 ({n}/{total}符号) - 标签修改器:开始/结束页,4个角网格,最多3个堆叠文本行 - 支持各种类型的多个实例 - 卡片显示类型图标+摘要(范围、位置、预览文本) - 主要颜色的所选卡片亮点; 下面板的设置加载 - 修改器Layer组件:在规定范围内每页提供活画布覆盖,指针事件:无,字段/注释下z-index - 使用修改符扩展的设计数据[]——通过保存/装入/版本/不重复操作持续进行

  6. · kamo-marketing

    在预览横幅中显示今天的更改日志数, 并链接到/ changlog

  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

    Add Thumbnails step to upload progress indicator, track generating_thumbnails WS stage

  16. · SecurityService

    在模板上传时同步每页缩略图生成, 并有颗粒式 WS 进度

    - 在 pom.xml 中添加 PDFBox 依赖性 - 在存储已转换的PDF后,通过PDFRender来渲染所有页面,并将每个页面上传为{id} thumb p{n}.png - 发布生成 thumbnails WS 进度事件,每页(72-95%范围),标签为"Generated jumbnail N of M" - 调整以前所有阶段的百分比,以腾出空间:下载0-10,准备10-15,转换15-55,核实55-63,储存63-72,缩略图72-95,最后敲定95-100

  17. · SecurityService

    添加获取 **************** 每页 PNG 缩略图服务的结束点

  18. · DaemonService

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

  19. · kamo-shared-library

    添加缩略图PageCount字段并找到每页缩略图支持的 NeedingPageThumbnails 查询

  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

    添加带有设计画布、签名和版本的电子签名模板编辑器

    完全重写/doc/ sign/edit 页面,并带有标签界面(Settings & Signers, 设计), PDF.js 有可拖放字段覆盖的画布,注释工具, 签名器 管理、 页面缩略图侧边栏、 版本历史和撤销/重写 。 包括 Zustand商店,API代理线路通向ESigService,以及13个新组件.

  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

    添加电子签名模板实体、目录和寄存器

    电子签名模板设计系统的新JPA实体:ESignTemplate, EsignTemplate 签名器, EsignTemplate 设计软件, 以及 EsignTemplate FieldLink 配有支持的enums和Spring Database.

  24. · kamo-marketing

    修改更改日志显示中的 K8s 秘密名称, 替换为 ***

  25. · kamo-marketing

    服务器侧统计表,用于真实总数、无限滚动、准确的过滤计数

    定点棒和过滤药的计数来自/api/changlog/公共/统计 (真正的 DB 汇总数,而非加载页数). 已替换加载更多按钮 与 Intersection 观察员无限滚动,在 下边.

  26. · SecurityService

    增加/api/changelog/public/stats汇总数的终点,按类型和项目分列

  27. · kamo-shared-library

    添加 findByProjectIn 查询到数据端点的提交日志仓库

  28. · SecurityService

    添加 Webhook 秘密验证到更改log 端点

    深入防御:验证 *** 页眉 除了APIService网关验证之外,还有安全服务侧.

  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

    配置所有 23 Forgejo repos 的更改日志公共项目

你们的宇宙正在等待。

只需几分钟即可免费开始。 随时随地添加产品 — — 无需迁移,无需新登录。

永久免费 — — 无需信用卡