Live Change Log

See what we're building, in real-time. Every feature, fix, and improvement shipped across the platform.

18,042
Total Changes
4,671
Features
4,589
Fixes
32
Projects
Filter by project
All Projects18,042AIService114APIService140BillingService133ConversionService87DaemonService109DocsService191ESigService80EmailService392InitializerService304KBService76KlusterServices550MCPGatewayService45MediaService466RAGService63SecurityService1,532TranslateService47VOIPService175VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,606kamo-login319kamo-marketing590kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,332kamo-signer-monorepo50kamolos104
Filter by type
All TypesBuild24CI523Chore670Docs231Feature4,671Fix4,589Other6,781Performance136Refactor274Revert23Style48Test71Upgrade1
March 18, 2026
Fixkamo-internal

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...

kamo·5mo ago
Fixkamo-internal

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 ...

kamo·5mo ago
Featurekamo-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, si...

kamo·5mo ago
Fixkamo-internal

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...

kamo·5mo ago
Fixkamo-internal

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...

kamo·5mo ago
Fixkamo-internal

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...

kamo·5mo ago
Fixkamo-internal

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...

kamo·5mo ago
Fixkamo-internal

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: -...

kamo·5mo ago
Featurekamo-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), D...

kamo·5mo ago
Featurekamo-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 ...

kamo·5mo ago
FixEmailService

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.

Kamo·5mo ago
Featurekamo-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 placehold...

kamo·5mo ago
FeatureEmailService

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...

Kamo·5mo ago
Featurekamo-shared-library

Add EmailSignatureTemplate entity and repository

JPA entity for persisting email header/signature/footer template configurations per organization scope. Stores all design settings, template selections, image s...

Kamo·5mo ago
Featurekamo-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 ...

kamo·5mo ago
FeatureSecurityService

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...

Kamo·5mo ago
Featurekamo-shared-library

Add website and social links fields to Organization and Member

Add EmbSocialLinks embeddable with fields for LinkedIn, Twitter, Facebook, Instagram, YouTube, TikTok, and GitHub URLs. Add website (VARCHAR 500) and embedded ...

Kamo·5mo ago
Fixkamo-internal

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...

kamo·5mo ago
Fixkamo-internal

Move Live Preview label into email header bar, remove Copy HTML button

Live Preview title and icon now sit right-aligned inside the To/Subject header bar. Removed the Copy HTML button and all clipboard logic.

kamo·5mo ago
Fixkamo-internal

Move source selector into builder header, 2-col templates, wider preview

- Move Source dropdown from top card into the builder panel header bar (matching the Live Preview title position) - Remove Undo and Reset buttons entirely - C...

kamo·5mo ago
Fixkamo-internal

Default margin to 8px and padding to 16px

kamo·5mo ago
Featurekamo-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) - Mar...

kamo·5mo ago
Featurekamo-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...

kamo·5mo ago
Featurekamo-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 ...

kamo·6mo ago
Featurekamo-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 "Signatu...

kamo·6mo ago
Fixkamo-internal

Prevent live preview panel from overflowing right edge

Change builder and preview panels from fixed flex-basis (55%/45%) to shrinkable flex so the gap between them is properly accounted for.

kamo·6mo ago
Featurekamo-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, tec...

kamo·6mo ago
Fixkamo-internal

Use richTextExtension.configure() instead of RichTextExtension class

RichTextExtension class is not exported from the published @lexkit/editor package. Use the exported richTextExtension instance with .configure().

kamo·6mo ago
Fixkamo-internal

Remove duplicate ContentEditable — use RichTextExtension's plugin

The richTextExtension already renders its own ContentEditable via RichTextPlugin. Having a second manual ContentEditable created two editable areas. Remove the ...

kamo·6mo ago
Featurekamo-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 (col...

kamo·6mo ago
Fixkamo-internal

Overhaul KB editor and article page layouts

Fix editor component: - Wrap in flex column container so toolbar stays fixed and content area scrolls independently - Use position:relative on content wrapper...

kamo·6mo ago
Featurekamo-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...

kamo·6mo ago
FeatureRAGService

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.

Kamo·6mo ago
FeatureKBService

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 t...

Kamo·6mo ago
FixRAGService

Add search request/response logging to RagSearchController

Log orgId, query, result count, and full stack traces on error to diagnose 500 responses seen from AIService.

Kamo·6mo ago
FixAIService

Add response body and request logging to RagClient for debugging

Log the RAG search request URL, orgId, query, and response body on error to diagnose 500 responses from RAGService.

Kamo·6mo ago
FixKlusterServices

Enable auto-truncate on embedding model to prevent 413 errors

Add --auto-truncate flag so inputs exceeding the 256 token limit are silently truncated instead of rejected with a validation error.

Kamo·6mo ago
FixRAGService

Reduce chunk size to fit all-MiniLM-L6-v2 token limit (256 max)

Chunk target was 2000 chars (~512 tokens) but the embedding model only accepts 256 tokens, causing 413 validation errors. Reduce to 800 chars (~200 tokens) with...

Kamo·6mo ago
FixKlusterServices

Load embedding model from local hostPath to prevent HuggingFace download failures

The embedding-model pod was in CrashLoopBackOff because it couldn't download the model from HuggingFace on startup (network/DNS issue). Mount the model from a h...

Kamo·6mo ago
FixRAGService

Use integer match filter for Qdrant searches instead of matchKeyword

The orgId and articleId payload fields are stored as integers via value(Long), but search and delete filters used matchKeyword() which only matches string/keywo...

Kamo·6mo ago
FixRAGService

Index KB articles for RAG on creation, not just when published

Previously the RAG pipeline only indexed PUBLISHED articles, requiring the full review/approval cycle before the AI chat could reference them. Now indexes all a...

Kamo·6mo ago
Fixkamo-internal

Update reviews page to match enriched backend response fields

Use uid as key, articleGuid for navigation, articleTitle for display, and dateSubmitted for date. Matches the new backend response format that includes article ...

kamo·6mo ago
FixKBService

Return article guid/title in pending reviews response

The KbArticleReview entity has @JsonIgnore on article, so the pending reviews endpoint was returning reviews without article details (guid, title). Now uses eag...

Kamo·6mo ago
Featurekamo-shared-library

Add eager-fetch query for pending reviews with article details

Add **************** query that JOIN FETCHes the article entity so review listings can include article guid/title without LazyInitializationException.

Kamo·6mo ago
Fixkamo-internal

Surface actual backend error messages in article create/edit

Read errData.error (matching backend JSON format) instead of errData.message. Fix proxy to forward backend JSON errors directly instead of double-wrapping them ...

kamo·6mo ago
FixKBService

Add error handling to createArticle endpoint

Wrap createArticle call in try-catch to return proper JSON error responses instead of Spring Boot's default HTML error page.

Kamo·6mo ago
Fixkamo-internal

Add missing richTextExtension to enable editor text input

The RichTextPlugin from richTextExtension is required for the Lexical is silently ignored.

kamo·6mo ago
Featurekamo-internal

Add ShadCN-inspired editor theme with visible table borders

Add a comprehensive CSS theme for the LexKit editor with styled typography, visible table cell borders, code block styling, blockquote formatting, and syntax hi...

kamo·6mo ago

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing