Background endpoint yükleme için kayıt ekle
Log org/index, dosya bilgileri, kullanıcıId, auth kararları ve MinIO yönlendirme Arka yüklemelerin neden stilize kovada görünmediğini izlemek için anahtar.
Yüklemeye giriş ekleyin- proxy proxy rotası
Log org/index, dosya adı/size/tip, ve upstream yanıt durumu Arka yüklemelerin API servislerine ulaşmadığını teşhis etmek.
Konum column to ticket datagrid
Okunanlar **************** Destek theDTO'dan (şimdi bilet varlığında anlık görüntüler Yaratılış zamanı - ekstra yuvarlak gezi yok. Bayrak + şehir / bölge / ülke...
Yaratılışta bilet üzerine mağaza geo, bırakın GeoLite okur
**************** Şimdi ziyaretçinin georgesini yakalar Bir kez ( GeoBakupService) ve ip / ülke/şehir/subdivision on Destek.'nin kendisi. Destek theHizmet.toDTO...
Snapshot ziyaretçi geo on Ticket entity
VISITOR IP ADDRESS, VISITOR COUNTRY CODE, VISITOR COUNTRY NAME VISITOR CITY, VISITOR SUBDIVISION columns. Bilet yaratımında yakalama Bu yüzden liste/detail endp...
Bulk-load ziyaretçileri ve listedeki GeoLite lookup atlamak
/api/support/tickets listesi endpoint, 20 sıranın sayfasında çalışıyordu: - 20 ************ aramalar (N+1) - GeoBakupService'a 20 çağrı, her biri bir aralık-sca...
Add findBySessionGuidIn for Bulkload
Tüm ziyaretçileri bir araya getirmek için support-ticket listesi endpoint tarafından kullanılır N ayrı findBySessionGuid çağrıları yerine bir sorguda.
RunThread retry düğmesine basmak için geç klasör
yükThread takes (threadId, klasör); hata-state retry düğmesine sadece threadId geçti, kamo-internal inşasını kırdı. Maçın çağrısı İmza.
Üye JsonIdentity seçmek için yeniden inşa Info Fix from kamo-shared-library
kamo-shared-library b57d156 @JsonIdentityInfo (property = "uniqueId") → Üye üzerinde "id", PUT /api / güvenlik /org /{id}.
Doğru JsonIdentity Info property from 'uniqueId' to 'id'
Üye varlık @JsonIdentityInfo (property = "uniqueId") ilan etti, ancak Gerçek birincil anahtar alanı ‘id’ olarak adlandırılır. Jackson attı Herhangi bir türü yok...
Add /ws /public-chat-native düz WebSocket endpoint yanı sıra SockJSocket endpoint
SockJS olmadan ikinci bir STOMP uç noktası /ws /public-chat-native so Bu ön uç, ihtiyaç duymadan bir yerli WebSocket (brokerURL) ile bağlanabilir. Sockjs-client...
Simetri yanlış eşleştirmeye neden olan SSR'yi Çıkarın; Yerli WebSocket için SockJS'i bırakın
Kahraman.tsx: ParçacıkField'in etrafındaki pencere kontrolünü ortadan kaldırmak - ParçacıkField zaten zaten sssr:false so the guard made a server/client tree fa...
Per-ticket, kötüge + 'Yeni mesajlar sadece filtre
- Bilet listesi, bir chat-bubble badge'yi bir dahaki sefere geri sayıyla gösterir Bilet # Oturumun ajandan daha yeni mesajlara sahip olduğunda Son görüntülenen ...
Yayın, ziyaretçi mesajında ajana Mesaj göndermedi
Bir ziyaretçi bir destek mesajı gönderdikten sonra, en son geri kalan hesapları itin **************** için ödeme yükü, bu yüzden ajanın bilet listesi Kötüge ve ...
Onaylanmamış üyelik sorgularında DESTEK
chatMemberries ByMemberId şimdi hem CHAT hem de CHAT için üyelikleri geri döndürür ve DESTEK TICKET seans türleri, bu yüzden mevcut per-member geri alındı altya...
Konuşma açıldığında açık olmayan göstergeler
ThreadDetailView şimdi e-postayı gönderir: işaretConversationRead Bu yüzden MailButton, navtop inbox kötüge sayını yeniden değerlendiriyor. TalkListView iyimser...
Move CORS to Traefik via kamo-middlewares, remove in-app CorsFilter
The CorsFilter @Bean in the Spring app was silently not applying headers after WebConfig.java was removed. CORS is now handled entirely at the Traefik layer by ...
Use /public/{mainDomain}-{tld} path matching actual MinIO bucket layout
The getThemePath() was generating /domain/{tld}/{split}/kamosite paths that don't exist in MinIO — theme files live in the public bucket under kamocrm-com/, bad...
Vücut sütununda e-posta kaydırması eklemek için min-w-0 zinciri sadece
Dış konteynere ve ana içeriğe min-w-0 ekleyin, o kadar esnek çocuklar E-posta min-content genişliğine genişletilemez, bu da sayfa çapındakilere neden oldu. yata...
ToolProviders'in üzerindeki taşıyıcı sağlayıcıları
ChatWebSocketProvider hoist olarak aynı kök nedeni: DestekWinWindow Arama çağrıları **************** ve ChatBox çağrıları useUnread().markAsRead(), ancak her ik...
Kalıcı bağlantıyı ekleyin ve kırık yer sahipleri görüntüler
<html'da baskıyı bastırın: Reaksiyon hatası #418 tarayıcıya neden oldu uzatmalar (e.g. çeviri, karanlık mod) html niteliklerini SSR ve müşteri hidrasyonu. Ev s...
Allow / domain / yol teması IngressRoute for CORS
Temada tema yapılandırılan tema.kamocrm.com/domain/... Mevcut rota kuralları (yalnızca / kamu / ve /internal / izin verildi), bu yüzden Traefik Hiçbir KORS başl...
Tekrarlanan CorsFilter ve ağ geçidindeki KORS başlıkları
WebConfig.java, CorsConfig ile yarışan ikinci bir CorsFilter bean tanımladı. java's bean, tekrarlanan başlık yazar. Bunu sadece bir CorsFilter var. İleri() yön...
Tekrarlanan CorsFilter bean, çift Access-Control-Allow-Origin
Açık CorsFilter bean, ilkbaharın yanında ikinci bir CORS filtresine neden oldu Güvenlik'in yerleşik KURUMSALS desteği (yani CorsConfigurationKaynak'ı kullanır)....
Kaldır debug konsol.log ifadeleri ve eksik rotalar ekleyin
WebSocket sırasında eklenen tüm geçici debug logunu çıkarın ChatBox, TicketChat, MemberItem, ChatTool, veChatWebSocket'i kullanın; Add Sayfaları /help → / deste...
Uzun adreslere genişleyen sütundan gelen mesaj başlığını önlemek
Başın sol flex çocuğu min-w-0 yoktu, bu kadar uzun kırılmaz e-posta adreslerden /To/Cc, büyümek için min-content genişliğini zorladı, sürüklemek Başlık (ve sütu...
FTP ChatWebSocketProvider above ToolProviders
ToolDock (ve SupportWinWindow → TicketChat) gibi araç pencereleri ABOVE PresenceWrapper'ı ağaçta oturan, Auth/navigasyon değişiklikleri üzerinde durmaktan kaçın...
Drop Shadow DOM e-postada bu kadar aşırı akış-x-auto yangınları
Shadow DOM kök nedeniydi. Geniş e-posta içeriği (geçmiş geniş tablolar) Gölge ağacının içinde, ev sahibini geçmişte katkıda bulunmadan boyadı Ev sahibinin düzen...
Align ChatWebSocketContext import yolu to match sağlayıcı
BiletChat ve ChatListener bağlamı bağlamı aracılığıyla ithal etmedi '@/app/contexts/...' alias while PresenceWrapper (The sağlayıcı) onu ithal ederken göreceli ...
Geçici konsol.log, TicketChat STOMP abonelik yolunu izlemek için
Abone boru hattının her aşamasında konsol girişleri ekleyin ( etkiler ateş, guard geçiş, abone() çağrı, AddSessionSubscription, müşteri. abone, /app/chat /subsc...
Kuvvet gölge ev sahipliği doğrusal stillerle ilgilidir + içerir: düzen
Gölge hostunda sınıf tabanlı aşırı akış-x-auto güvenilir bir şekilde kazanmadı Gölgeye karşı ‘:host { all:ilk } reset, so wide email İçerik (Eklenmiş geniş tabl...
Gölge içinde geniş e-posta içeriği, dışarıda değil
Önceki denemeler Overflow-x-auto to light DOM atalarına ek olarak Geniş e-posta içeriğini yakalayabilirdi çünkü gölge ağacının görseli Boya overflow, ev sahibin...
Use getHasAttachments() to match Boolean turnper type
************ bir Boolean (wrapper), bu yüzden Lombok HamsAttachments(),HasAttachments() değildir. İkincisi sadece ilkel boolean için var. Boolean.TRUE.equals()'...
Ticaret paketi eklemek için JPA repository taramasını genişletin
Yeni kamo-shared-library, ************************ hangisini gerektirir **************** ( com.kamo.z.shared.ticaret). MediaService sadece tarandı.dao.repos, bu...
Download HashMap import in ChatWebSocketController
Önceki refaksiyon HashMap ithalatını kaldırdı, ancak handleTyping Yöntem hala tipleme olayı ödeme yükü için bir HashMap inşa ediyor, neden Forgejo ‘kant bulmak ...
Dakikalar içinde e-posta içeriği div so overflow-x-auto yangınları ekleyin
Min-w-0 olmadan, flex-col çocuğun varsayılan min-altı:auto çözmes to to to to min-content, geniş e-posta masalarının div'i genişletmesine izin vermek sütunu geç...
Tekrarlanan bağlantıStomp call in sendMessage
İlk mesaj yeni bir seans yarattığında, onSessionCreated updates props BağStomp aramak için hangi tetikleyiciler kullanılır. The inline call in sendMessage Redda...
Proaktif olarak mesaj kaybı önlemek için oturum oluşturmada NATS tüketicisi oluşturun
Daha önce NATS JetStream push tüketici sadece STOMP istemcisi olduğunda yaratıldı Gönder /app /chat /subscribe. TeslimatPolicy ile. Yeni, daha önce yayınlanan h...
En yakın yeniden bağlantı boşlukları gerçek zamanlı mesajları düşürdü
“bağlantılı” biletChat'de Effect deps ve ChatBox. Daha önce, her WebSocket yeniden bağlantı etkisini tetikledi Unsubscribe() olarak adlandırılan temizleme, sean...
Sistem kullanıcısının markalaşmayı yönetmesine veya düzeltmesine izin verin ve logo auth
- Sistem kullanıcıyı,ManageOrgBranding böylece platformda ilk bekçi olarak atlar Sistem kullanıcısı tüm ebeveyn olmayan veyags üzerinde tam marka kontrolüne sah...
E-posta görüş pane yatay geçiş 3rd sütuna
- MesajBrowser dış konteynere zor sınır sınırı kadar fazla akış-x-hidden ekleyin - Overflow-x-hidden sütun 3 sarmalı ve e-posta içeriği alanı için overflow-x-hi...
Üretim PJSIP hapishaneleri ve kalıcı devletleri ile başarısız oldu
- Başarısız2ban-konmap.ya ml [asterisk) ve [freepbx-web] hapishaneleri ekleyin, Artan yasağı (h→24h→30d tavan), LAN göz ardı, ve bir PJSIP Security Event Record...
Coqui TTS ile Piper TTS (en US-norman-medi)
Coqui VCTK modelinin konuşmacıları yoktur - Piper TTS ile değiştirilmesi Tam neman [ortalama] sesi. Piper ikili (~3 MB) ve model (~60 MB) İlk önce bir init kont...
Reset stale hasAttachments on sync and accumulate correctly
- Reset has_attachments=false at start of bulk sync so stale true values from old false-positive MIME detection are cleared before re-indexing - Accumulate ha...
Add resetHasAttachmentsForFolder query to ConversationRepository
Allows sync to reset stale has_attachments flags before re-indexing so corrected MIME detection can rebuild the field from actual attachment data.
Integrate Coqui TTS with norman voice (VCTK p267)
- Deploy coqui-tts server (VCTK VITS model, CPU-only) as ClusterIP service on port 5002 with model cache at /var/lib/coqui-tts on k1m1 - Inject coqui_tts.agi ...
Cevap / ileri ve düzeltmeden önce populate,Address
- TasMessage şimdi Address'dan taşır, böylece açık Yeni Mesajlardan akışlar besteci aracılığıyla - MesajBrowser aktif posta kutusu e-postaAddress (For For For F...
Address override'den destek
Ads fromAddressRequest to EmailSendRequest so the frontend can specify Hangi alias/shared/mailbox adresini göndermek için. SmtpOnlyProvider şimdi Şu andan itiba...
Add LAN DNS pod for split-DNS on k1m1
Deploys a dnsmasq pod with hostNetwork on k1m1 that listens on 192.168.4.22:53. Overrides pbx.k1.kluster.kamocrm.com -> 192.168.4.22 so LAN phones reach the PBX...
Böl-DNS / LAN müşteri RTP düzeltmesi için yerel net ekleyin
Aynı LAN'da k1m1 bölünmüş DNS ile bağlantı kuruyor (bölge bölünmüş DNS ile çözülür) 192.168.4.22 içsel olarak). Yerel net olmadan, Asterisk hala reklam veriyor ...
Kargoyu gördüğünüz gibi?
Tüm bunlar kendi başına iş alanınıza geliyor. Ücretsiz plana başlayın ve bu sayfayı bir ay içinde tekrar okuyun.
