变更记录
什么是新的。
平台的每一个改进,随着它的出货。
· EmailService
Add AES-GCM encryption service for provider credentials
· EmailService
Add capability interfaces and provider model classes
· EmailService
Add provider SDK dependencies for email providers
· kamo-shared-library
为电子邮件提供者实体添加寄存器
· kamo-shared-library
为每个成员的IMAP配置添加成员ImapConfigentity
· kamo-shared-library
为 OAuth 令牌存储添加 OrgEmailOuthToken Entity
· kamo-shared-library
添加 OrgEmail 电子邮件提供实体
· kamo-shared-library
添加电子邮件 ProviderType 和电子邮件 Provider status enums
· kamo-internal
Double-click tool window title bar to maximize/restore
· kamo-internal
Expand all settings groups by default
· kamo-internal
Replace editor/preview toggle with inline template editor
New TemplateInlineEditor component renders the full template (header, backgrounds, margins, signature) with a borderless Quill editor embedded in the body area. The user types directly within the template — no visible text box, borders, or background on the editable area. The Quill toolbar sits above the template via an external toolbar reference. The template sections (header, signature, etc.) are rendered as static HTML above and below the editable area. Removed the Editor/Preview toggle from the footer bar since the inline editor serves both purposes simultaneously.
· kamo-internal
Add "No Template" option to template scope dropdown
Adds a "No Template" option at the top of the template dropdown list. When selected, skips the backend fetch and renders plain email body without any header, signature, or layout wrapping. Default remains "Individual".
· kamo-internal
Add template scope dropdown and preview tab to tool window email composer
Add to the MessageTool (tool window email composer, not the standalone MessageComposer): - Template scope dropdown in the subject row: Individual (default), Department, Organization — fetches saved template from backend - Editor/Preview toggle buttons next to the scope dropdown - Preview renders email body wrapped in the selected template layout (header + body + signature divider + signature + legal + footer image) with proper background colors, margin, padding, and center-email settings - Loading spinner while template loads - Compact mode hides button labels when window is narrow
· kamo-internal
Add template scope selector and preview tab to email composer
- Add template scope dropdown (Organization / Department / Individual User) to the toolbar row, defaulting to Individual User - Fetch the saved template from GET **************** when scope changes - Add Editor/Preview toggle button pair next to the scope dropdown - Preview tab renders the email content wrapped in the template layout: far background > margin > near background > padding > header + body + signature + legal + footer image - Template loading state shows a spinner in preview mode
· kamo-internal
Wire signature templates to backend for persistent save/load
- Add backendAdapter.ts with bidirectional mapping between frontend SignatureConfig and backend flat entity format - Generate pre-rendered HTML with placeholders ({{member.firstName}}, {{organization.name}}, {{email.body}}, etc.) for fast email dispatch - On mount/scope change, load template from GET **************** - Save button sends PUT with all config fields + rendered placeholder HTML - Add loadFromBackend action to Zustand store - Handle 404 (no saved template) gracefully with defaults - Full wrapper HTML includes email layout structure with {{email.body}} placeholder
· EmailService
Add email signature template CRUD endpoints
REST controller at /api/email/signature-templates with: - GET /{scope} — retrieve template by org+scope - PUT /{scope} — create or update template (upsert) - DELETE /{scope} — remove template Service layer handles upsert logic (finds existing by org+scope, updates in place or creates new). All endpoints authenticate via OTK session and extract orgId from session data.
· kamo-shared-library
添加电子邮件签名模板实体和寄存器
用于持续电子邮件头/签名/页脚模板的 JPA 实体 每个组织范围的配置。 存储所有设计设置, 模板选择、图像来源和法律页脚配置为 已正常列。 还包括非正态化的 HTML 列 (标题、签名、法律、脚印、完整包装) 占位符像 QQ 成员. firstName , QQ Organization.name 等. 用于快速电子邮件发送而无需重报 .
· kamo-internal
Derive signature content from backend, add social links management
- Remove manual Personal Information, Company Information, and Social Links sections from the signature Content tab — data is now pulled automatically from the member profile and organization via backend - Add useSignatureData hook that fetches member + org data and populates signature content fields (name, email, phone, company, social links) - Add Website & Social Links section to member profile page (ProfileTab) with fields for website and all 7 social platforms - Add Website & Social Links section to organization behavior-labeling page (LabelManager) for org-level social presence management - Content tab now shows only image source selectors with an info banner explaining data is derived from profile/org settings
· SecurityService
Add website and social links to member profile GET/PUT endpoints
GET /api/security/members/{id} now returns website and socialLinks fields. PUT /api/security/members/{id} accepts website (string) and socialLinks (map of platform -> URL) for updating member social media profiles.
· kamo-shared-library
向本组织和成员添加网站和社会链接字段
添加可嵌入字段的 EmbSocialLinks 为 LinkedIn, Twitter, Facebook, Instagram, YouTube, TikTok, 和 GitHub URLs. 互联网档案馆的存檔,存档日期2013-12-21. 向两个组织添加网站(VARCHAR 500)和嵌入式社会链接 和具有列前缀分拆(o 和m )的成员实体.
· kamo-internal
Add near/far background colors, margin/padding sliders, center email option
Design tab additions: - Near Background color (content area background, default white) - Far Background color (outer email area background, default white) - Margin slider (0-80px) — space between far edge and content area - Padding slider (0-60px) — space between near edge and content - Center Email toggle — locks content width to 600px and hides margin Live preview reflects all settings with proper nesting: far background > margin > near background > padding > content.
· kamo-internal
Add image scale sliders, signature image type, and footer alignment
- Add three image source selectors: Header Image, Signature Image, Footer Image (each with None / Member Avatar / Logo Simple / Logo Full options) - Add scale slider (20%-300%) for each image to resize as desired - Preserve aspect ratio on all images (object-fit: contain, auto height) - Add left/center/right alignment control for footer image - Footer image renders as standalone block below legal footer in signature - Signature image is used within the signature template layout itself - Header images respect scale in all header templates that render logos
· kamo-internal
Replace photo upload with Header/Footer image source selectors
Replace the drag-and-drop photo upload with two dropdown selectors: - Header Image: None | Member Avatar | Logo Simple | Logo Full - Footer Image: same options Images are resolved from existing sources (member profile avatar via /api/security/members, organization logos from theme CDN branding settings). A useImageResolver hook fetches and caches the URLs.
· kamo-internal
Add Header tab with 29 header templates and rename UI labels
- Add "Header" tab with 29 email header templates (banner, accent, branded, decorative categories) plus "No Header" option - Rename "Template" tab to "Signature" and add "No Signature" option - Rename settings tab from "Signatures" to "Headers & Footers" - Remove "Email Signature Builder" title/subtitle - Rename "Signature Scope" to "Email Sender Source" - Update live preview to show header above body and signature below - Move action buttons into the scope card for cleaner layout
· kamo-internal
Add 21 additional email signature templates
Add elegant-border, two-column-grid, banner-top, gradient-accent, card-style, left-aligned-clean, right-photo, centered-minimal, executive, creative-blocks, tech-modern, rounded-card, split-color, underline-accent, icon-focused, newspaper, wave-divider, dotted-border, photo-banner, social-first, and signature-stamp templates — bringing the total to 29 signature layouts.
· kamo-internal
Rebuild email signature manager with template-based visual builder
Replace the basic Quill rich text editor with a structured, form-driven signature builder featuring 8 professional templates, design customization controls (colors, fonts, spacing, dividers, photo shape, social icon styles), social media link management, and legal footer templates — all with live email-context preview.
· kamo-internal
Add unpublish and delete buttons to KB article view
Add Unpublish button (visible on PUBLISHED articles) that reverts to DRAFT and removes from AI chat. Add Delete button with confirmation dialog. Add proxy route for the unpublish endpoint.
· RAGService
Handle unpublished events by removing vectors from Qdrant
When an article is unpublished, delete its vectors from Qdrant so the AI chat no longer references it.
· KBService
Add unpublish endpoint for KB articles
Add POST /articles/{guid}/unpublish that sets status back to DRAFT and publishes a kb.article.unpublished NATS event so RAGService can remove the article from the vector database.
· kamo-shared-library
添加有文章细节的急切查询
添加 查询 JOIN FETCHES 因此,审查清单可以包括条款guid/标题 没有Lazy Initialization Exception。 没有懒惰化.
