콘텐츠로 건너뛰기
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

    Watermark modifier (behind / 위 content)에 레이어 위치 옵션을 추가하십시오

    - WatermarkModifier는 'layer' 필드를 얻습니다. 'behind' | 'above' (기본값에서 'behind') - ModifierLayer는 이제 'pass' prop ('below' | 'above')를 취합니다. - 아래 패스: 레이어 = 'behind'로 페이지 번호, 라벨 및 워터 마크 렌더링 - 위의 패스 : 레이어 = 'above'와 워터 마크 만 렌더링 - PdfCanvas는 FieldOverlay/Annotation의 앞에 2개의 ModifierLayer 패스를 만듭니다 레이어와 한 후 — 그래서 워터 마크는 뒤에 앉아 또는 모든 배치 내용의 상단 - Toolbox WatermarkSettings: 단단한 색깔 스위치의 위 삽입된 내용의 위 세그먼트를 두는 toggle “Behind Content/Over Content”

  3. · kamo-internal

    Watermark modifier를 esign 툴박스에 추가

    - WatermarkModifier 유형 : 로고타입 (전체/간단한), startPage, endPage, 교체 (-180-180), 크기 (10-90% 페이지 폭), 불투명 (2-60%), 단단한색 toggle, 색상 (헥스) - 로고, −45° 교체, 50% 크기, 15% 불투명에 과태 - ModifierLayer: WatermarkOverlay는 org 테마 로고를 렌더링 + 페이지에 회전. 솔리드 컬러가 활성화되면 인라인 SVG 필터 (feColorMatrix)는 알파 채널을 보존하면서 모든 픽셀의 색상을 교체합니다. 캔버스 또는 CORS 문제없이 깨끗한 실루엣 채우기 - Toolbox: WatermarkSettings 패널과 - 로고 유형 선택기 (실제 로고를 보여주는 시청각 타일) - 페이지 범위 입력 - 회전, 크기 및 불투명 슬라이더 - 단단한 색깔 toggle - Quick-set 색상 사전 설정 (Primary, Secondary, Black, White) CSS vars에서 읽기 - ModernColorPicker는 단단한 형태가 활동할 때 주문 색깔을 위해 착색합니다 - modifier 메뉴가 Watermark 옵션 추가; 카드 목록은 opacity 아이콘 + 요약을 보여줍니다

  4. · kamo-internal

    LM/RM 교체를 가진 가득 차있는 8 위치 격자에 상표 변조기

    - LabelModifier.position는 이제 ModifierPosition8 (페이지 번호로 8 위치 그리드)를 사용합니다. - LM (중간): 각 선은 쓰기 형태를 가진 수직 알약으로 렌더링했습니다: 수직 경사 + 자전합니다 (180deg) - 원본은 CCW (바닥에 정상)를 읽습니다; 선 더미는 1 페이지 가장자리에 닫힙니다, 선 3는 최대 inward입니다 - RM (중간 권리): 각 선은 쓰기 형태를 이용합니다: 수직 rl (추가 교체 없음) - 원본은 CW (최고에 밑바닥); 행 반전 이렇게 선 1는 오른쪽 가장자리에, 선 옵니다 - TM / BMW는 라벨 (표준 수평 알약, 중심)에서 사용할 수 있습니다. - Toolbox에서 PositionGrid4 제거; LM/RM이 선택될 때 표시된 hint를 가진 Labels 사용 PositionGrid8 - ModifierPosition4 유형 제거 (더 이상 필요 없음)

  5. · kamo-internal

    Tools/Modifiers 탭을 라이브 캔버스 오버레이로 할당합니다

    - Split Toolbox는 도구 및 Modifiers 탭으로 사이드바를 왼쪽 - Modifiers 탭: 분할 목록 + 설정 패널 (옵션 B) - Page Numbers modifier: start/end 페이지, 8 위치 그리드 (TL/TM/TR/LM/RM/BL/BM/BR), 형식 사전 설정 + 사용자 정의 ({n}/{total} 토큰) - 라벨 조절기 : 시작 / 종료 페이지, 4-콘서트 그리드, 최대 3 stacked text line - 지원되는 각 유형의 다중 인스턴스 - 카드 쇼 유형 아이콘 + 요약 (범위, 위치, 미리보기 텍스트) - 선택된 카드는 1 차적인 색깔에 강조합니다; 더 낮은 패널에 있는 조정 짐 - ModifierLayer 구성품: 라이브 캔버스 오버레이는 정의된 범위 내에서 per-page, pointer-events: none, z-index 아래 field/annotations - modifiers[]로 확장 된 DesignData - save/load/version/undo-redo를 통해 지속됩니다

  6. · kamo-marketing

    /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

    Thumbnails 단계 추가하여 진행 표시를 업로드하고, generating thumbnails WS 단계를 추적

  16. · SecurityService

    Granular WS 진행으로 템플릿 업로드시 동기화 per-page thumbnail 발생

    - pom.xml에 PDFBox 의존성 추가 - 변환 된 PDF를 저장 한 후, PDFRenderer를 통해 모든 페이지를 렌더링하고 {id} thumb p{n}.png로 업로드하십시오. - "Generated thumbnail N of M" 라벨이있는 페이지 (72-95% 범위) 당 WS 진행 이벤트를 생성하는 출판물 - 방을 만들기 위해 모든 이전 단계 비율을 재연 : 다운로드 0-10, 준비 10-15, 변환 15-55, 확인 55-63, 저장 63-72, thumbnails 72-95, 완성 95-100

  17. · SecurityService

    더 보기 *************** 페이지 당 PNG thumbnails를 봉사하는 엔드 포인트

  18. · DaemonService

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

  19. · kamo-shared-library

    ThumbPageCount 필드 및 findNeedingPageThumbnails 쿼리에 대한 페이지 thumbnail 지원

  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

    E-signature 템플릿 편집기를 디자인 캔버스, Signers 및 버전으로 추가하십시오

    탭 인터페이스(Settings & Signers)로 /doc/sign/edit 페이지를 다시 작성합니다. 디자인), 드래그 가능 필드 오버레이가있는 PDF.js 캔버스, 주석 도구, signer 관리, 페이지 thumbnail 사이드바, 버전 역사, 및 undo/redo. 지원하다 Zustand 상점, ESigService에 API 프록시 경로, 그리고 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

    E-signature 템플릿 entities, enums 및 저장소 추가

    E-signature 템플릿 디자인 시스템의 새로운 JPA entities: ESignTemplate, ESignTemplateSigner, ESignTemplateDesignVersion 및 ETemplateFieldLink 지원 enums와 봄 자료 저장소로.

  24. · kamo-marketing

    Redact K8s secret name in changelog display, 대체 ***

  25. · kamo-marketing

    실제 합계, 무한 스크롤, 정확한 필터 카운트에 대한 서버 측 통계

    Stats bar and filter pill counts now come from /api/changelog/public/statss. (실제 DB 집계, 로드 페이지 수). 교체된 짐 더 단추 IntersectionObserver 무한 스크롤을 사용하여 600px 전에 트리거합니다. 이름 *.

  26. · SecurityService

    /api/changelog/public/stats endpoint 를 입력하고 프로젝트로 계산합니다

  27. · kamo-shared-library

    Add findByProjectIn stats endpoint에 대한 CommitLogRepository에 쿼리

  28. · SecurityService

    Changelog endpoint에 webhook secret validation 추가

    Defense-in-depth: validates *** 헤더에 APIService Gateway validation 외에도 SecurityService 측.

  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와 changelog 공개 프로젝트를 구성

당신의 우주는 기다리고 있습니다.

몇 분 안에 무료로 시작하세요. 준비가 되면 언제든지 제품을 추가할 수 있습니다.

영원히 무료 - 신용 카드 필요 없음