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....
Reorder source dropdown, default to user, use team member label
- Default scope changed from "company" to "user" - Dropdown order reversed: Team Members first, Department, then org - "Individual User" renamed to the parent o...
Remove placeholder text from preview, allow sending without subject
- Empty email body in preview no longer shows "Start typing your email..." - Subject is no longer required to send — Send button is enabled with just a recipi...
Template dropdown fills remaining width, other controls right-aligned
The template source dropdown now has flex:1 to fill all remaining space. Edit/Preview toggle, attach button, Draft, and Send buttons are right-aligned with flex...
Wrap email body in template HTML when sending
The send handler was sending raw editor content without the template. Now wraps the body in the full template layout (far bg, margin, near bg, padding, header, ...
Remove horizontal scrollbar and extend preview to full height
- Use padding on the outer far-bg div instead of margin on the inner near-bg div to prevent width:100% + margin overflow - Set overflowX:hidden on the preview...
Repopulate member/org data when switching source scope
The sync ref was set once and never reset, so switching scope left the new scope's config with empty content fields (empty names, email, company, etc.) causing ...
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, si...
Move template dropdown, preview toggle, and attach to footer row
Move template scope dropdown, Editor/Preview toggle, and attachment button from the subject row to the bottom footer bar, aligned left. Draft and Send buttons s...
Fetch member/org data directly instead of through hooks
Removed useUserInfo, useSignatureData, and useImageResolver hooks which each had independent async fetch cycles causing race conditions where memberId/orgId wer...
Use example data in email preview when member/org data not loaded
The preview was rendering empty signatures because member/org data from useSignatureData returns empty strings while loading (or when memberId/orgId are 0). Now...
Always render template preview even without saved backend template
When no template is saved in the backend (404), fall back to DEFAULT_CONFIG instead of showing plain unformatted content. The preview now always renders with at...
Re-render templates client-side with real data in email preview
The preview was showing placeholder text ({{member.firstName}} etc.) because it used the pre-rendered placeholder HTML from the backend. Now the MessageTool: -...
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), D...
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 ...
Add rspamd config to K8s ConfigMap and set ddl-auto to none
The rspamd.base-url property was missing from the production ConfigMap, causing CrashLoopBackOff on deploy. Also corrects dev ddl-auto to none.
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 placehold...
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) - DE...
EmailSignatureTemplate entity 및 저장소 추가
이메일 header/signature/footer 템플릿 조직 범위 당 구성. 모든 디자인 설정 저장, 템플릿 선택, 이미지 소스 및 법적 발기 구성 정상적인 열. 일반적으로 렌더링 된 HTML 컬럼이 포함되어 있습니다. (헤어, 시그니처, 법률, 영상, 전체 래퍼) {{member.f...
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 ...
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 platf...
웹 사이트 및 소셜 링크 필드를 조직 및 회원에게 추가하십시오
LinkedIn, Twitter 필드에 포함 된 EmbSocialLinks 추가 Facebook, Instagram, YouTube, TikTok 및 GitHub URL. 웹 사이트 추가 (VARCHAR 500) 및 두 조직에 내장 된 소셜 링크 열 접두사 disambiguation ...
Simplify source selector, add dirty tracking and unsaved changes dialog
- Remove department/user sub-type selectors — templates are org-level for the organization, all departments, and all users - Remove the avatar icon to the lef...