UPSERT SYSTEM email template rows on every run
Previously the seed runner only inserted rows that didn't exist, so canonical HTML changes never propagated to the DB. Now existing SYSTEM rows have their bodyH...
Preview uses same auto-vars as sendToUser (org logo + name)
The preview endpoint now injects logoUrl, logoSimpleUrl, and orgName from the org's domain before applying sample content variables, matching the exact variable...
Use {{logoUrl}} placeholders so sent emails match preview
serializeFullEmailHtml now stores **************** placeholders in bodyHtml instead of resolved local paths. EmailTemplateService already injects absolute logo ...
Auto-inject logoUrl, logoSimpleUrl, and orgName variables at send time
EmailTemplateService now merges base variables (logoUrl, logoSimpleUrl, orgName) derived from the org's primary domain before rendering, so all transactional te...
Rewrite all canonical templates with full branded design
All 5 templates now use the consistent outer table structure (600px, rounded card, gray header/footer) matching the block editor's serializeFullEmailHtml output...
Add client-side currentPassword blank guard in password change section
Add org-scoping, password length validation, and code quality improvements to PasswordChangeController
Add permission gates for user-level fields and password change section in MyAccountTab
Unify preview and editor into a single coherent system
- Extract system template content via DOMParser targeting the content <td> cell, preventing double-wrapping when EmailFrame re-serializes the blocks - Replace...
Add access gate and MANAGE_MEMBER_SECURITY tab guard to member settings page
Add change-password Next.js API proxy route
Add POST **************** endpoint
Add MANAGE_MEMBERS(130) right to frontend RoleRightType
Add MANAGE_MEMBERS(130) right to RoleRightType
Lock form and auto-proceed after Capcha when submitting early
If the user submits before the Capcha widget is verified, the form is now disabled and the widget is triggered programmatically. Once verification completes the...
Add @Transactional to DataLoader.run to fix LazyInitializationException on startup
Shorten email verified success message on login page
Upgrade kamo-shared-library to 1.5.0 (rights resilience)
Upgrade kamo-shared-library to 1.5.0 (rights resilience)
Upgrade kamo-shared-library to 1.5.0 (rights resilience)
Upgrade kamo-shared-library to 1.5.0 (rights resilience)
Upgrade kamo-shared-library to 1.5.0 (rights resilience)
Upgrade kamo-shared-library to 1.5.0 (rights resilience)
Upgrade kamo-shared-library to 1.5.0 (rights resilience)
Upgrade kamo-shared-library to 1.5.0 (rights resilience)
Auto-sync missing role rights on startup
Use JPA entity traversal for grant-all detection (covers dept/job roles)
Supplement session rights with all known rights for grant-all roles
Filter null rights in buildAppliedRightsWithSources; upgrade shared-lib to 1.5.0
Bump version to 1.5.0 — rights resilience release
Add OrgRoleRightRepository with race-safe insertIfAbsent
Skip null-type OrgRoleRight entries in SecurityRoleDTO
Remove @Enumerated — RoleRightTypeConverter autoApply takes over
Add graceful RoleRightTypeConverter for unknown ordinals
Upload Avatar Creator avatar to server after registration
Avatar Creator avatars were only stored as SVG data URLs in local form state and never sent to the server, leaving new users with no avatar set. Convert the SVG...
Enforce org+member rights across settings, home, and calculator
- Add 11 new rights (MANAGE_CRM_SETTINGS, VIEW_TASKS, **************** to RoleRightType.ts - Add CALCULATOR to ServiceType.ts, AppType.ts, and Organization.ts (...
Use core NATS pub/sub for email-verified SSE fan-out
Replaces in-memory ConcurrentHashMap broadcast with NATS core pub/sub so all pods receive verification events regardless of which pod handled the token. Falls b...
Fix center scroll and system template block loading
- Remove height:100% from EmailFrame so content grows naturally and scroll works - Extract <body> content from full HTML system templates into editable block
Add Gmail and Outlook Personal provider logos
Extract inner content from canonical HTML when loading in block editor
When bodyBlocks is null and bodyHtml starts with <!DOCTYPE, extract the main content <td> as an initial HTML block so users see the existing content instead of ...
SSE-driven live verification status on /verification page
- Add streaming SSE proxy at **************** - PostCompletionScreen subscribes to SSE; auto-sets verified when email link is clicked in another tab - Verifie...
Add SSE endpoint for real-time email verification + improve welcome email logging
Pass email_verified and email params on redirect to login
Both the code-verify and token-verify paths now redirect to **************** so the login page can show a success banner and pre-fill the username field.
Show verified banner and pre-fill email after email verification
Reads ?email_verified=1&email=... from URL on mount, shows a success alert, pre-fills the username field, then cleans the URL.