KamoCRM

Live Change Log

Ogni funzione, correzione e miglioramento, postato come navi. Niente è tenuto indietro per un lancio.

17,494
Variazioni totali
5,983
Caratteristiche
5,282
Fissazioni
30
Progetti
Filtra per progetto
Tutti i progetti17,494AIService251APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService576InitializerService329KBService151KlusterServices738MCPGatewayService248MediaService602RAGService79SecurityService1,846TranslateService62VOIPService249VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,349kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,657kamo-signer-monorepo56kamolos114
Filtra per tipo
Tutti i tipiBuild16CI523Chore773Docs3,254Feature5,983Fix5,282Other994Performance165Refactor278Revert23Style42Test160Upgrade1
May 1, 2026
Featurekamo-internal

Rendering degli allegati in linea e lightbox

kamo·5mo ago
Chorekamo-internal

Trigger ci/cd

kamo·5mo ago
Featurekamo-internal

Proxy routes for find-or-create, members, attachments, imaging proxy, mute, revoke

Extract shared **************** helper to app/lib/mediaServiceUrl.ts. Add proxy routes: find-or-create, members, receipts, attachments (streaming), mutes, revok...

kamo·5mo ago
FeatureMediaService

Paged chat list with previews, members, unread counts

that returns ChatListRowDto rows including last message preview, member summaries, per-session unread counts, and ownLastViewedAt.

Kamo·5mo ago
Featurekamo-shared-library

Add countUnreadAfter(guid, memberId, since) to MediaObjRepository

Needed by paged chat-list endpoint to compute per-session unread counts when ownLastViewedAt is a LocalDateTime pointer rather than a message UUID.

Kamo·5mo ago
FeatureMediaService

Per-viewer mute endpoint and message filter

Kamo·5mo ago
Featurekamo-shared-library

Aggiunta a MediaSessionMuteRepository

Kamo·5mo ago
Featurekamo-shared-library

Add MediaObjImgDownloadRepository with existsByObjImgIdAndMemberId

Required by ImagingProxyService (Task 10) to deduplicate per-member download tracking without a full table scan.

Kamo·5mo ago
April 30, 2026
FixKlusterServices

Probe timeout 10s and 2 gunicorn workers

LibreTranslate's /languages probe blocks on the gunicorn worker event loop. With a single worker translating a long chat message, the probe times out at the def...

Kamo·5mo ago
Featurekamo-marketing

Distinguish actively-translating vs queued messages

The translation queue was already sequential, but every queued bubble rendered "Translating…". Now the single in-flight message shows "Translating…" with a puls...

Kamo·5mo ago
Featurekamo-internal

Distinguish actively-translating vs queued messages

The streaming queue was already strictly sequential (one fetch at a time), but every queued message rendered "Translating…" because they all shared the same pen...

kamo·5mo ago
Featurekamo-marketing

Show error icon when a message fails to translate

When the per-message translate call returns translated:false, errors out, or times out, the chat bubble now renders an AlertTriangle icon in red with tooltip "F...

Kamo·5mo ago
Featurekamo-internal

Show error icon when a message fails to translate

When the per-message translate call returns translated:false, errors out, or times out, the chat bubble now renders a small red ErrorOutline icon in place of th...

kamo·5mo ago
FixMediaService

Raise client read timeout to 120s for long messages

LibreTranslate runs CPU-only argos models — a paragraph-length chat message takes 20-30s to translate, and longer ones can push past 60s. The 8-second read time...

Kamo·5mo ago
Fixkamo-internal

Persist language change and show current language in tooltip

The members endpoint accepts PUT not PATCH, so the language picker's PATCH was silently ignored — Member.language never actually updated, which is why refreshin...

kamo·5mo ago
Fixkamo-internal

Attaccare le corde su..

Il proxy Next.js stava rilasciando la stringa di richiesta durante l'inoltro a MediaService, che significava la cronologia delle chat ?lang= param era silenzios...

kamo·5mo ago
FixSecurityService

Proprietario di zecca OTK con diritti di sovvenzione senza DB

Dopo aver assegnato l'Amministratore ruolo e scrive member rights applied, il blocco OTK-minting era rileggere quelle righe per mezzo di... dentro lo stesso @Tr...

Kamo·5mo ago
Featurekamo-marketing

Stream translations newest-first for visitor history

When the visitor lands on a non-English locale and the support chat has existing English messages, every bubble flagged needsTranslation by the backend now show...

Kamo·5mo ago
Featurekamo-internal

Stream message translations newest-first on language switch

When the user picks a new language (or opens an existing chat in a language different from the messages' source), every bubble that needs translation immediatel...

kamo·5mo ago
RefactorMediaService

Cache-only bulk translate, FE handles fills

Bulk message-fetch endpoints now return only translations that are already cached and tag missing rows with needsTranslation:true. The chat UIs (kamo-internal C...

Kamo·5mo ago
Otherkamo-internal

Revert "fix(settings): show Plans & Billing tab regardless of root-org status"

This reverts commit ****************

kamo·5mo ago
Featurekamo-marketing

Auto-translate visitor and agent messages

Live agent replies arriving in a language other than the visitor's URL locale now show a "Translating…" bubble while the TranslateService call resolves, then sw...

Kamo·5mo ago
Featurekamo-internal

Translate chat messages into the viewer's language

Adds a "My Language" flag picker in NavTop (left of the email tool, separated by a vertical rule). Selecting a language writes back to Member.language and syncs...

kamo·5mo ago
FeatureAPIService

Proxy support-message translate endpoint

Adds a passthrough route for the new MediaService endpoint that translates a single support-chat message into the visitor's URL locale. The marketing-side chat ...

Kamo·5mo ago
FeatureMediaService

On-demand translation for chat and support messages

Captures the source language for every chat / support message and adds an optional ?lang=XX param on the message-fetch endpoints plus a per-message POST /transl...

Kamo·5mo ago
Featurekamo-shared-library

Translation cache for chat messages

Adds the MediaObjMsgTranslation entity (one row per (message, language) pair) and an optional sourceLanguageId column on MediaObjMsg so chat messages can be tra...

Kamo·5mo ago
Fixkamo-internal

Show Plans & Billing tab regardless of root-org status

The !isRootOrg gate hid the tab on root orgs and blocked org owners and self-viewers from reaching their billing page from "My Account". The PlansBillingTab its...

kamo·5mo ago
Otherkamo-internal

Tradurre stringhe UI codificate

setup/dns (6 file): pagina, AliasStatusTable, DnsProgressView, DnsProvisione Pannello, DomainEntryForm, ManualDnsGuide. impostazioni (10 file): diagnostica, ess...

kamo·5mo ago
Fixkamo-internal

Drop in place — jump every member, no softPush on release

The drift on release was softPushCluster firing on the user-drop path. A mega-cluster's bounds extend in all directions from the anchor, so the PADDING-margin /...

kamo·5mo ago
Otherkamo-internal

Translate hardcoded UI strings

account/view: 40 strings reused from existing namespace (no new keys). kb (13 files): translate article editor, viewer, reviews, resources, versions, navigation...

kamo·5mo ago
Otherkamo-internal

Tradurre restanti hardcoded UI stringhe

Pagina delle attività: Salva modifiche, Chiudere, Aggiungi oggetto attività a flusso di automazione, Modifica titolo tooltip. Note pagina: Dismesso, Carico note...

kamo·5mo ago
Otherkamo-internal

Replace hardcoded English with t() across leads pages

Translate remaining hardcoded UI strings in allotments, new, reports, and view/[id] to use next-intl. Add scripts/i18n-audit.py to detect remaining hardcoded st...

kamo·5mo ago

Come quello che vedi la spedizione?

Tutto questo arriva nel vostro spazio di lavoro da solo. Iniziare sul piano gratuito e leggere di nuovo questa pagina in un mese.

Inizia gratis per sempreVisualizza il prezzo