Hide ATF kartı tamamen tüm alanların uygulandığı model tarafından kilitli olduğunda
Probe master model endpoint and Fix applied Model org ID
- Uygulamalı Model.source tabanlı bir kapı doğrudan bir Prodüksiyon ile /api/güvenlik / tepedeki model; r.ok=false (409) org anlamına gelir Bir şube türü tarafı...
Gate censorship tab options by applied model constraints
- Hide EDIT MASTER MODEL button when org is governed by a branch type (use appliedModel.source instead of unreliable org context branchTypeID) - Hide ATF fiel...
Mark-as-read and message fetch for shared/member mailboxes
Classic mode now loads shared mailbox messages via the correct /messages/{folder} endpoint (was calling the non-existent /conversations endpoint). Fetching a fu...
Mark-as-read for shared and member mailboxes
EmailController.setFlags now accepts an optional mailboxId query param and routes through resolveProviderWithMailbox so member-mailbox flags are set against the...
Use extensionId as external ID, not Relay node id
FreePBX returns the same Relay id (ZXh0ZW5zaW9uOg== = "extension:") for every extension because the id field is not populated. Using it caused all extensions to...
SınıfCastException'ı önlemek için IMAPInputStream'ı ele alalım
JavaMail, kodlanmış bir String yerine IMAPInputStream'ı geri döndürebilir Bölüm.getContent() mesaj içeriği önceden düşünülmediğinde. The The The The The The The...
Tüm GQL sorguları / boşlukları canlı şemaya karşı yeniden yaz
Gerçek FreePBX 17 şemasına karşı her alan adı ve tipi doğrulandı. Tam düzeltme seti: Queries: - Tüm Dışlamalar Getirin: Mevcut olmayan 'sessiz' alanı uzatmadan...
Pass selectedFolder to ThreadDetailView so email:folder-changed yangınları geçerli bir klasörle değiştirin
konuşma her zaman tanımlanmamış çünkü Java TalkEntity FileIds (text[] bir klasör dize alanı değil. Bu, yükThread'e neden oldu Arama işaretiConversationRead ve s...
RegteriskDetails getirmek için doğru GraphQL alan adı
FreePBX API geri döndü "AsteriskDetails getirmek demek istedin mi?" - Sağlığı yeniden adlandırmak Soru ve veri yolu erişim veya buna göre.
XHR/Accept başlıkları ve String cevabı GraphQL müşterisine parsing ekleyin
FreePBXTokenCache olarak aynı model: X-Requested-With + Kabul: Uygulama /json FreePBX'in HTML yönlendirme yanıtlarını bastırmak ve tüm üç çağrı siteyi değiştirm...
Sen posta kutusu yük üzerinde birincil posta kutusuna düşer
Dropdown ilk liste öğesine varsayılan olarak varsayılan olarak kaldırıldı, çünkü seçilenMailbox ilkleştirilmiş posta kutusuId olmadan, mevcutValue'ye ‘kişi’yi k...
Yükleme boyutu 500MB'ye limit
Spring Boot defaults cap multipart parts at 1MB, arka görüntü görüntü görüntü oluşturabilir İstekte 500 ile başarısız olmak için yükler.getParts(). Match Securi...
Yüzey HTTP hataları böylece yükleme hataları görünür
Sessiz konsol.warn'ı dış olmayan bir durumda fırlatılmış bir hatayla değiştirin, Böylece kullanıcı gerçek başarısızlık nedeni görür (status + yanıt vücut) Bunun...
Kabul+XHR başlıkları ve token endpoint için ham-string yanıt parsing
FreePBX, küme DNS aracılığıyla çağrıldığında metin/html geri döndü çünkü Host Title, yapılandırılmış PBX HOSTNAME ile eşleşmedi. Add Add Add Add Kabul: Uygulama...
Drive, animasyon kontrolleri aracılığıyla en aza alındı giriş
Animate={...} to animate={tabControls} girişi kırdı animasyon: sekme denetimler dağda kuyruklanmış bir hedef yok, bu yüzden düğme kaldı Başlangıçta { y: 100 } p...
FreePBX API için Doğru OAuth2 kapsamı dizeleri
FreePBX kapsamı üst düzey tanımlayıcılardır: 'gql' (tüm GraphQL) ve 'rest' (tüm REST). Format 'gql:read' bir modül için GQL anlamına gelir “Okun” olarak adlandı...
Expose port 8088 doğrudan ClusterIP servisinde
Hizmet sadece 80+8088 haritalama vardı. İç hizmetleri kullanarak **************** (e.g. VOIPService API token Talepler) zamanlamasıydı çünkü port 8088'de dinley...
Trust backend waitingCount, drop client Balances
Backend waitingCount artık hazırlanmaktadır (saygılar TICKET seanslar) Sahibin sonViewed'den yeni mesajlarla. Ajan açıldığında Bir bilet, markAsRead → backend y...
K1m1 için eksik sabit 2ban yapılandırılmış ConfigMap ekleyin
İşsizlik referansları başarısız2ban yapılandırılmış ConfigMap (jail.local + Risk güvensizliği.conf) ama mevcut değildi, pod'u pod'u engellemedi. MountVolume. Se...
MarkAsRead after agent send so lastViewed updates
Destek biletleri üzerinde, hem ziyaretçi hem de ajan mesajları depolanır Aynı sistemMember, bu yüzden mevcut olmayan sorgu üye-agnostic ve Tamamen sonViewed'e d...
Destek biletleri üye-agnostic'e ihtiyaç duymaz
Destek biletleri üzerinde Ziyaretçi mesajları aynı sistem altında depolanırMember Ajanın aslı olarak gerçekleştirilmesi, bu yüzden mevcut CHAT-session daha açık...
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.
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...
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...
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 ...
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...
Kargoyu gördüğünüz gibi?
İş alanınızda bu güncellemelerden her biri otomatik olarak. Ücretsiz başlayın ve haftadan sonra büyümesini izleyin.