Değişiklik Günlüğü
Yeni ne var?
Gemideki her iyileştirme.
· MediaService
Geri dönüş-nav JWT imzasını onaylayın; tidy token yenileme
- CanvaJwtVerifier: korel jwt'in Ed25519 imzasını doğrulayın Canva'nın JWKS ( / bağlantı / anahtarlar), artı aud/exp/tip; çocuk tarafından önbellek. Return-nav şimdi doğrulama başarısız olursa manuel ithalata kapalı değildir. - CanvaTokenService: Kendi kendini kınayan @Transactional'ı bırak yenileme / işaretDown yardımcıları (Verinin per-call tx + per-member kilit Zaten doğru rotasyon yapmak; bir yorumla açıklayın.
· KlusterServices
Sezgi-asr bağımsız ölçeklenebilir (HPA, multi-node)
Single-node pin'i çıkarın ve per-pod model önbelleğe geçiş yapın, böylece pods Herhangi bir düğüm üzerinde program yapın ve bir HPA ekleyin (min 1 / max 4, CPU% 75, kasıtlı ölçeklendirme verilen yavaş model soğuk başlangıçlar). fısıltı paylaşılan transkripsiyondur Hem toplantı kayıtları hem de VOIP kayıtları / fatura mesajları için geri dön.
· KlusterServices
Rebrand Guacamole müşteri bağlantı durumu text to KamoDesktop
Override **************** Bu yüzden 'Rocamole'ye bağlanın... ekran (ve ilgili durum) KamoDesktop'u okur.
· MediaService
Kayıt engest, keep/quota, storage use, summary pipeline
- MeetRecordingController: internal (X-Internal-Auth) ingest endpoint the jibriri Sonize.sh mesajları rekorları tamamladı. - MeetRecordingService: Kayıtları per-org MinIO'ya yükler (gerekli-recordings), Sürekli metadata'yı toplantıya devam eder, org depolama kotasını uygular (evict old), Ve -MeetingSummaryEnabled yayınlandığında - özet boruyu çalıştırın: transcript (EmailService toplantısı-summary şablon). – MeetRecordingRetentionSweep: kayıtların geçmiş tutulmasını planladı. -ConfigController ile tanışın: Gerçek ayarlar depolama sayacı için GET /recording-usage. - Uygulama.y ml: dönüşüm/ai / e-posta tabanı URLs + internal auth sırrı. Gereklilikler (ops): KamoInitializer MEET RECORDINGS oluşturmak için çalışır; **************** Değer, MediaService, jibri ve Dönüşüm Hizmeti.
· EmailService
Toplantı-summary şablon önizleme için örnek var
Yeni toplantı-summary şablon için örnek bir değişken vakası ekleyin, böylece steward önizleme UI gerçekçi içerikler oluşturur.
· kamo-shared-library
Toplantı-summary canonical şablon
"meeting-summary" işlemsel şablonları ekleyin (subject + markalı HTML ile markalı {{roomName}} ve ham {{summaryHtml}}) ve bunu CANONICAL KEYS'de kaydeder, bu yüzden bu yüzden bu şekilde org başına tohumlar. Post-meeting AI summary teslimat tarafından kullanılır. Ayrıca doğrular loader testinin stale key count.
· KlusterServices
Prosody moderator modülü, fısılda-asr, jibri kayıt yükleme
- Meet-prosody: version- control the custom-jurins ConfigMap (kaptures the currents the version- control the custom-jurins ConfigMap (captures theclosetures the custom-proof Mevcut token verification no-op override that was created out-of-band) and Canonical mod token moderation modülü ekleyin, etkinleştirilen **************** JWT 'moderator' iddiasını yapın Araştırmacı - üyeler sahibi olurlar, konuklar / anonimler sahibi alamazlar. - fısıt -asr: kendini barındıran konuşma-to-text (faster-whisper CPU, dış anahtar) Post-meeting transcription için. - Meet-jibri: Sonize.sh şimdi MediaService'a son kayıtları yükler **************** with X-Internal-Auth so they land in in MinIO + tutma/quota + summaries. Gizli is Seçmeli so jibri still Başlamadan başlarsa başlar.
· ConversionService
Kayıt transkripsiyon endpoint for post-meeting summaries
POST /api/convers/meet/transcript (X-Internal-Auth): yüklenmesi 16kHz mono WAV'ye yeni bir katkı sağlayan FfmpegService yardımcıer ile buluşma kaydı, Kendini barındırmış fıstık servisine doğru ilerler ve { transkript döndürür. kamo.services.whisper.url.
· kamo-internal
Planlanan toplantılar için takvim entegrasyonu + gerçek kayıt depolama sayacı
- TakvimIntegrationEnabled: ne zaman, planlanan bir kulüp toplantısı da aynı zamanda Yaratıcının takvimine eklendi (Mevcut takvim sistemi ile) Gerçekleştirilmiş /meet /join bağlantısı. Katılımcı hatırlatmalar, Backend süpürücü, bu yüzden tekrarlanan e-postalara katılma. Kayıt ayarları: depolama sayacı şimdi gerçekten per-org kullanımı gösteriyor GET /api/meet/recording-usage ( Kaldırılan yer sahibine yerleştirilir).
· kamo-shared-library
Yakalanan kayıtlar için ToplantıRecording entity + repository
Yeni MEET RECORDINGS masası (org, toplantı ref, oda, MinIO kova/object anahtar, Boyut, süre, yakalama / genişletilme zamanları, özet durum) - ebeveyn kaydı bitmiş bir Jibri kayıt dosyası için, tutma/quota ve post-meeting Özet işleme. Masa bir sonraki KamoInitializer üzerinde oluşturulur.
· kamo-internal
Pazarlama uygulaması, ayarlar merkezi, Canva malzemeleri
Pazarlamayı ilk sınıf veya kullanılabilir bir uygulama yapın ve Canva-güçlü gemiyi gönder Malzeme deneyimi. App-enablement: - AppType.MARKETING ayna, Organizasyon.isMarketing getter - kapı pazarlama nav (navRegistry) + hak bölümleri (permissionAppSections, Organizasyonda GüvenlikRoleManager) - Özelliklerde Pazarlama KartıManager (/kesin/account?tab=apps) Ayarlar: - yeni / sıralamalar / başarı merkezi (General / Sosyal Medya Sağlayıcıları / Canva) Sosyal Medya Sağlayıcıları Pazarlama ayarlarından Pazarlamaya Hareket Ediyor - 3 nav lokasyonları güncellendi (kesinlikle, ayarlarMenu, SettingsButton icon); Repoint SocialTimeline empty-state link Canva: - CanvaIntegrationManager settings sekmesi + platformda SağlayıcıDef OAuth kayıt (+ logo) - /api/canva/* proxy (status, bağlantı başlangıç, tasarım, ihracat, ihracat-proxy, Tartışma) - / pazarlama/malzemeler: kütüphane ızgara (göyükleme, yükleme, yükleme, yükleme) Create-in-Canva, Import-from-Canva, return-nav oto-import
· ConversionService
Pazarlama malzemeleri için Video poster-frameparnails
Canva MP4 ihracat (ve herhangi bir video yükleme) Docs PDF yolunu at ve bir tane alabilir Başarısızlık yerine tek ffmpeg poster-frameparnail ( 907 p0.JP) - ******************** VİDEO kategori şubesi - ********************
· MediaService
Canva Connect OAuth + tasarımları/export backend
- CanvaApiClient: PKCE, token exchange/refresh/revoke, kullanıcılar, Tasarımlar (küre/list), ihracat işleri, getirerek - CanvaTokenService: üyelerin başına şifreli (PlatformSecretCipher) single-flight proaktif yenileme (Canva yenileme jetonları tek kullanımlık / boks) - CanvaOAuthController (permit-all): → / start → /callback, return-nav iniş - CanvaController (athed): statü, bağlantı başlangıç, oluşturma / liste tasarımları, ihracat (product+poll+cache), ihracat-proxy, kapanış
· kamo-shared-library
Canva entegrasyonu + Marketing as an org-enable app
- ******************** – platform Canva Connect müşteri kaydı - ImageAssocType.MATERIALS (13, görüntüleme-malzemeler) - veya pazarlama varlıkları kova - ******************** ServiceType.MARKETING - ServiceType.MARKETING(24) → COMPLETED / etkinleştirilir, böylece gerçek bir uygulama haline gelir (Anado gibi org başına otomatik tahminler) - CanvaConnection entity + repo: per-membercrypt (erişim+refresh) tokens
· KlusterServices
Enable Guacamole json-auth SSO + KamoDesktop rebrand
- JSON SECRET KEY (isteğenim) paylaşılan masaüstünden guacamole üzerinde gizli bir şekilde sağlar Komplike guacamole-auth-json, Tanrı-SSO bağlantılarını doğru bir şekilde genişletmiştir. - kamo-branding extension (title=KamoDesktop, kamocrm logo + favicon) tarafından inşa edilmiştir masaüstü/guacamole/branding/ into a .jar, ikili bir fikre olarak sevk edildi ve tohumlandı GUACAMOLE HOME bir initContainer aracılığıyla. CI, her iki isim uzaylarında paylaşılan imza anahtarı yaratır (buraya için sktop-sso, GAC SIGNING KEY sırrından gelen guac-sso for SecurityService); asla işlenmedi.
· kamo-internal
God-only KamoDesktop ikonları (Linux + Windows) otomatik bağlantılı seanslar açıyor
Analytics'ten ayrılan iki nav ikonu, sadece tanrısal olmayan üyelere gösterdi (Tanrı, buna ek olarak ekledi. NavGateContext). Her biri Güvenlik Hizmetinden kısa ömürlü bir SSO linkini getiriyor ve açılır KamoDesktop yeni bir pencerede ağ geçidi, örneğine otomatik bağlantı. Hazırlananları kullanın ************ işaretler.
· SecurityService
KamoDesktop SSO, Tanrı üyeleri için son noktayı önleyecek
GET **************** (Sadece kabul edilebilir) mints a 5 dakikalık guacamole-auth-json token (HMAC-SHA256 + AES-128-CBC, genişlemenin başına tel formatı) ve KamoDesktop için otomatik-login + otomatik bağlantı URL döndürür Ağ geçidi. Anahtar + RDP şifresi guac-sso sırrından enjekte edilir; asla (blank-güvenli: SSO yapılandırıncaya kadar devre dışı kalır).
· kamo-internal
Org-skod oda isimleri, oda adı formatı, takvim Kamo toplantıları, hatırlatmalara başlayın; i18n ayarları
-Meeting/MeetingDialog: Oda isimleri şimdi org token tarafından uzayıyor orgs asla aynı Prosody konferansına karışamaz ve org'un onurunu onurlandıramaz OdaNameFormat (RANDOM vs DISPLAY NAME RANDOM Üyenin aliaslarını kullanarak). - MeetingComposer (calendar): "Kamo Meeting" düğmesi bir org-skod oda üretir Etkinlik URL'yi /meet /join tıklama-time OTK bağlantısını ayarlar, bu yüzden takvim Davet + hatırlatma alıcıları doğrulanmış üyeler olarak imzalanır. - MeetReminderPopup: abonelere /toplayıcı / ezeli / {memberId} (MediaService) süpürücü) ve bir Join düğmesi ile en küçük bir "meetingstart" gösterir; monte edilmiş Paylaşılan sohbet WS'da PresenceWrapper. - ayarları sekmelerle tanışın: Sert kodlanmış İngilizce tost / terörizm dizeleri ile birlikte değiştirin next-intl t() anahtarları ************************
· MediaService
Scheduled-meeting start reminders + guest-link expiry
- MeetingReminderSweep: @Scheduled süpürücü bu yangınları gerçek zamanlı olarak yangınlar “Başlangıçtan başlayarak” hatırlatıcıları davet etmeye davet edin (başlangıçtan önce) **************** Daha sonra toplantıyı değiştirir to dedupe. Bir saatten fazla toplantı başlıyor, bir saat öncesine kadar geçiş yapılır hatırlatıcı (geçmiş spam). Müşteri, özgün bir bağlantı kurdu Kendi kökeninden. - **************** Şimdi misafirLinkExpirySaatleri onurlandırır: bir toplantı Org'un yapılandırılmış penceresinden daha yaşlı ( planlanan başlangıçta boğuldu, başka bir şey daha Yaratılış) kabul edilemez (0 = asla sona ermez).
· kamo-internal
Chats listesinde üye kullanılabilirliği göster; Rehbere Ekle
1:1 sohbet satırları şimdi takımın canlı varlığı + kullanılabilirliği Aynı şekilde, Rehber sekmesi yapar - aynı şekilde Availability /usePresence kaynakları ve Aynı renkler /bels as MemberItem (dot + üstcase etiketi, pulsing when when when Online, gri ne zaman çevrimdışı), bir alettip ile. Grup sohbetleri “birinin” tutar Online" avatar yok; sosyal / destek satırları değişmez. Üyeler sekmesi “Yönetici” olarak adlandırılır (yalnızca 18n değerinde), ki bu da açık. Sohbetlerle "Members" alt-tab grubu ile çarpışma.
· KlusterServices
Sertleştirilmiş KubeVirt uzaktan masaüstü + Guacamole ağ geçidi
Tam bir uzaktan-desktop yığını ekleyin, GitOps-applied via the deploy flow: - KubeVirt + CDI dağıtma zamanında kuruldu (pined-stable release URLs) - masaüstü-1: Kubuntu 24.04 VM, 8 vCPU / 16Gi / 500Gi Longhorn bloğu disk, masquerade net (native cluster DNS), xrdp KDE seansı; bulut-init installs Chrome, VS Kod, NetBeans, Temurin JDK 21+17, Headlamp, Kate, LibreOffice Ve Firefox'ı kaldır - Apache Guacamole (guacamole + guacd + Postgres configure DB) at masaüstü.kamocrm.com; guacd k1m1'de ev sahibi birNetwork üzerinde çalışır, böylece WoL-broadcast ve RDP doğrudan 192.168.4.0/22 LAN'a ulaşırken, VM'ye hala VM'ye ulaşırken ClusterFirstWithHostNet DNS - LAN Windows PC (192.168.4.44, MAC f4:4d:30:62:8a:68) bir bağlantı olarak ekledi Guacamole yerli Wake-on-LAN (bağlantıda, 30s wait) ile - Edge sertleştirme: Traefik TLS + sıkı masaüstü-rate-limit + güvenlik başlıkları, artı Guacamole per-IP brute-force yasağı - auto-cert: masaüstü.kamocrm.com, STATIC DOMAINS + çapraz aynaya ekledi cert-manager sorunları / yeniler tls-desktop-kamocrm-com masaüstü nss Credentials: kullanıcı 'sage'; CI secret DESKTOP PASSWORD Zaman dağıtmada (envsubst/sed + zorunluluk Gizli) – asla işlenmedi
· kamo-internal
Sohbet grupları için alttablar, son açılan sekmeyi hatırlayın
Sohbetler listesi, göz ardı edilen bir multi-select hap cipsi tarafından filtrelendi Chats sekmesi altında yer. Onları tek katlı bir alt-tab bar ile değiştirin (grup başına bir sekme: Takım Üyeleri / Üyeleri / Sosyal / Destek) eşleştirmek için Ebeveynler / Chats sekmeleri, bu yüzden seçilen grubun listesi tüm bunları doldurur içerik alanı. - Tek aktifBucket, aktif bir kovan seti yerine; sunucu şimdi getiriyor Sadece seçilmiş kategori çekiyor. - Takım Üyelerine Tembeller ve üye başına son açılan sekmeyi devam eder (across the Team members, and maintains the last-open sekme per member (across the last-open sekme) cihazlar) ui-preferences mağazası aracılığıyla (key chatsActiveBucket) Kurtarılan sekme çözülinceye kadar getir, böylece doğrudan yükler.
· kamo-internal
E-posta yapılandırıldığında açıklayın; kapı oluşturma
Ekrandaki /messajlar daha önce org zaman bile tam kabuğunu verdi. e-posta sağlayıcısı yoktu veya üye hiçbir posta kutusu yoktu, sessizce her şeyi başarısız oldu API çağrısı. E-postaAvailability kancasını ekleyin, e-posta e-postasını çözen Kullanılabilir ve eğer değilse, neden (provider vs. no postabox) ve Mevcut üyenin haklarına dayanarak düzeltmeyi kendi kendine koruyabilir mi? - MesajBrowser şimdi zarif bir e-posta gösteriyorConfigured paneli yerine boş inbox, kopya + CTA ile bu nedenle ve üyenin Haklar ( MANAGE EMAIL SETTINGS için e-posta sağlayıcı ayarlarına veya MANAGE EMAIL ACCOUNTS için kendi posta kutusu sekmesi; Aksi takdirde yönetime defer). - MailButton, e-posta tamamen hazır olana kadar "Compose New Email"i devre dışı bırakıyor Sebep özel araçtipi; NavToolButton engelli/tooltip madde desteği kazanır. - "Kaçlar /" hurma kuralı yenidenpo köküne, böylece de durur Uygulama/komponentler/messajlar / (bu sessizce orada yeni dosyaları bıraktı).
· kamo-internal
All-types Chats list + browser-tab dikkat
Chats sub-tab şimdi üye, grup, destek ve sosyal konuşmaları listeliyor Birlikte, çoğu merkezli bir filtre ile ilk olarak, multi-select filtre (Team Members / Üye / Sosyal / Destek; ilk ikisi org'un özel etiketlerini kullanır. Team-Members vs ÜyeType tarafından bölünmüştür; destek sıraları Ya siz ya da diğer parti ajanı olup olmadığını göster; her satır onu açar Yerli araç penceresi (chat / destek / sosyal). TabAttention: favicon badge + flashing belgesi. Ne zaman orada ne zaman başlık var Herhangi bir sohbet türü (red count) veya bekleme süresiz bir kabul mesajları (amber the cıvata, yol/CRM ikonunu eşleştirin; öncelik alır). Okumayı Oku Mevcut UnreadContext + LeadAlertContext, bu yüzden yeni bir geri dönüş yok.
· MediaService
Birleşik Sohbetler üye / destek / sosyal seanslar
GET /api/media/sessions/chat şimdi bir "categories' filtresi (chat,, Destek, sosyal; tüm varsayılan) ve bir küresel olarak en-recent-ilk döndürür, Kalıcı sorguların birleştirilmesi. Her satır taşır: OturumType (CHAT|SUPPORT/SOCIAL) + üyeler[].memberType böylece müşteri İç sohbetleri Team-Members vs Üyelerine bölebilir, - biletId + supportRole (AGENT|REQUESTOR) - destek iki yönlüdür. Destek satırları ve sağlayıcı + bağlantı Sosyal satırlar için başlık, Böylece her satır kendi araç penceresini açar.
· kamo-shared-library
Destek için Paged sorgular + sosyal sohbet seansları
bu nedenle birleşik Interaction Center Chats listesi her türlü içerebilir: - DESTEK (TYPE ID=2): Üyenin atanmış ajanın nerede olduğu İstek (ayrıca bilet id + atanmış ajan sıra için boş döndürür). - SOSYAL (TYPE ID=3): Üyenin sahip olduğu sosyal bağlantılar üzerinde seanslar Organizasyon.
· kamo-internal
Son liderlik-görücük eylemleri + callbacks
- Header: Call into Call (Work)/Call (Kişisel) yumuşakfonu açın ( Üyenin kayıtlı bir uzatma olmadığı zaman saklandı), E-posta açılır besteci, Text -> komünler / metinler, Not bir kural ve gözlerle ayrıldı Son reassignment'den beri bir not yerleştirilir. Görev düğmesine çıkın. - Durum: geçersiz değişim durumu menüsünü bırakın ve Edit Durum düğmesine basın; Bir STATUS > SUB-STATUS satırını alt-status'u seçmek ve sadece sadece sadece bir STATUS > SUB-STATUS sırasını ekleyin. Update, değiştiğinde sağlar. - Callback: dialog (date/time + timezone + comment), bekleme/overdue listesi İşaretle temaslı/cancel hızlılarla ilgili detaylar sekmesi ve Api + proxy'ye yol açıyor. Program/list/resolve için yollar.
· EmailService
Bir üyenin takvim etkinliği oluşturmak için iç uç noktası
POST /api/internal/calendar/events (X-Internal-Auth kapısıd) üyelerini çözüyor kullanıcı -> birincil takvim ( Gerekirse bir varsayılan oluşturmak) ve bir olay yaratır. Güvenlik Hizmeti tarafından aynaya geri dönüşler bir üyenin takvimine kadar kullanılır.
· SecurityService
Geri dönüş uç noktaları (schedule/list/resolve)
Yeni **************** kontrolör + hizmet: devam ediyor callback, posts scheduling/outcome notları liderlik medya akışına ve Etiketler zamanlama üyesinin takvimine e-posta servisi aracılığıyla geri dönüyor İç takvim uç noktası (en iyi niyetli).
· kamo-shared-library
LeadCallback varlık, durum enum ve repository
Lider görüş çağrısını geri döndürür: öncü bir çağrı kaydı (PENDING/CONTACTED/CANCELED) liderliğin anahtarı, yumuşak bir referansla Aynalı E-postaHizmet takvim etkinliği.

Evreniniz sizi bekliyor.
Birkaç dakika içinde ücretsiz olarak başlatın. Hazır olduğunuzda ürünleri ekleyin - göç yok, yeni girişler yok.
Sonsuza kadar ücretsiz — kredi kartı gerekmiyor