चैट भागीदारी और रूटिंग से गैर सक्रिय सदस्यों को छोड़कर
एक गैर-कार्यात्मक **************** सदस्य के रूप में प्रकट नहीं होना चाहिए, या होना चाहिए के रूप में लक्षित, एक लाइव चैट प्रतिभागी। साझा-lib पर हर चैट पथ को गेट ...
बनाना WebChatIntegration () @transactional ( एकीकरण-धारा विफलता पर कोई अनाथ कुंजी नहीं)
सार्वजनिक-चैट प्रणाली के सदस्य को प्रति-org (ड्रॉप हार्डकोडेड स्नाडजाफिनिया आलिया) को हल करें
supportSession, buildपब्लिकटिकट, और मालिक अधिसूचना सभी सहायकों ने एक हार्डकोड के माध्यम से ऑर्ग के "सिस्टम सदस्य" को हल किया यूज़रनेम Alias="snadjafinia" लुकअप,...
याद किए गए संदेश ईमेल में संदेश सामग्री डालने से रोकें
संदेश को हटा दें पूर्वावलोकन, लेजर पूर्वावलोकन लिखने, और संदेश पूर्वावलोकन टेम्पलेट चर; शामिल पूर्वावलोकन वरीयता ड्रॉप। ईमेल अब प्रेषक + गिनती + CTA केवल - साइन...
Persist अनुसूचित सामग्री अंगूठे झंडे लक्षित अद्यतन के माध्यम से
रूपांतरण पाइपलाइन के रूप में एक ही अलग-अलगता अनाथ हटाने योग्य मुद्दा: हेडलेस स्वीप एक अलग ImgDat पकड़े गए और () / मर्ज () को बचाने के लिए छवियों संग्रह में कब्ज...
लपेटें रिकॉर्डिंग अपलोड करें ताकि मीडिया सर्विस संकलन
MinIOStorageservice.upload एक चेक अपवाद है कि ingest () न तो फेंक पकड़े गए और घोषित किए गए - isGuest फिक्स के शीर्ष पर ब्रेक का निर्माण। इसे लपेटें और लपेटें एक...
MeetingParticipant.isGuest (west getGuest था, compile नहीं होगा); सामान्य समापन बिंदु के लिए ट्रांसक्रिप्ट करें
बैठकपार्टिसिपेंट एक्सपोज़ेस (Guest) (प्रीमेटिव बोओलेन गेट्टर) है, जो Guest () नहीं है। इसके अलावा साझा/api/conversion/transcribe पर सारांश ट्रांसक्रिप्ट कॉल को ...
Persist ने प्रतिभागियों को आमंत्रित किया, MANAGE MEET SETTINGS को लागू किया, डबल-इन्वाइट पथ छोड़ दिया
- निर्माण: आमंत्रित सदस्य संख्यात्मक स्नोफ्लेक आईडी हैं, यूयूआईडी स्ट्रिंग्स नहीं हैं - उन्हें LongToUUID जैसे निर्माता के माध्यम से जाना जाता है। पिछला UUID.fr...
क्लस्टर MinIO सेवा DNS का उपयोग करें; ड्रॉप डिप्रीकेटेड वायरगार्ड / CGNAT IP और सेवानिवृत्त k2m1 / k0m1
NATS CREATE घटना को साझा करने के बाद लेनदेन छवि अनुलग्नक दौड़ को ठीक करने के लिए प्रतिबद्ध है
NATS संदेश @transactional शरीर के अंदर प्रकाशित किया गया था, जिसका मतलब था प्राप्तकर्ताओं को क्रेट इवेंट प्राप्त हो सकता है और छवि के माध्यम से अनुरोध कर सकता ह...
Serialize attachments in WS relay and message history; allow attachment-only sends
Three bugs fixed: 1. ChatSessionSubscriptionManager was building the STOMP messageMap manually and omitting attachments, sourceLanguageId, readMemberId, msg...
Fix NPE in getChatSessions from Map.of() rejecting null nextcoder
java.util.Map.of() throws NullPointerException when nextcoder is null (no more pages). Replace with HashMap that accepts null values. Also wrap entire handler i...
Fix upload 500 (missing EmbRecordState) and empty chats tab (Timestamp cast)
Defect A: ChatAttachmentService.upload omitted **************** causing a NOT NULL violation on imgs.is_active. Added the default recordState. Also hardened Cha...
Prefer usernameAlias over User.name in memberDisplayName
Switches display name priority to: Member.usernameAlias → User.name → User.alias → User.username. Also includes the paged query dispatch fix from the previous c...
Use split First/After queries for chat sessions paged endpoint
Addresses empty Chats tab by dispatching to ****************
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...
रेडिस में सत्र GUID द्वारा सार्वजनिक समर्थन चैट ट्रैक करें
विपणन आगंतुक सदस्य आईडी के बिना / ws/public-chat-native का उपयोग करते हैं; अभी भी टिकट अनुरोधकर्ता के रूप में ऑर्ग प्लेसहोल्डर सदस्य का संदर्भ लें। Increment PR...
टैब थ्रॉटलिंग पर झूठी ऑफ़लाइन को रोकने के लिए 90s से 300s तक टीटीएल बढ़ाएं
वाणिज्य पैकेज को शामिल करने के लिए JPA रिपोजिटरी स्कैन का विस्तार करें
नया कामो साझा पुस्तकालय **************** जिसकी आवश्यकता है ************* (Com.kamo.z.shared.commerce). मीडिया सर्विस को केवल donotmodify.dao.repos स्कैन किया गय...
ChatWebSocketController में HashMap आयात को पुनर्स्थापित करें
पिछले रिफैक्टर ने हैशमैप आयात को हटा दिया लेकिन संभालना विधि अभी भी टाइपिंग इवेंट पेलोड के लिए एक हैशमैप का निर्माण करती है, जिसके कारण Forgejo का निर्माण 'चिह्...
लगातार संदेश हानि को रोकने के लिए सत्र निर्माण पर NATS उपभोक्ता का निर्माण
पहले NATS जेटस्ट्रीम पुश उपभोक्ता को केवल एक STOMP क्लाइंट के रूप में बनाया गया था भेजे गए / ऐप / चैट / सदस्यता। DeliverPolicy के साथ। नया, किसी भी संदेश को प्र...
कोर NATS से रिले थीम प्रावधान
मैच सुरक्षा सेवा कोर प्रकाशन: डिस्पचर के साथ सदस्यता लें Security.theme.provision.* जेटस्ट्रीम के बजाय (स्ट्रीम केवल चैट को कवर करता है)।.
PublicChatVisitor displayName for requestorName on आगंतुक टिकट
ऑर्ग सिस्टम सदस्य के लिए आगंतुक-प्रेरित टिकट हार्डकोड अनुरोधकर्ता, इसलिए डीटीओ अनुरोधकर्ता कॉलम में ऑर्ग मालिक के नाम पर सर्फिंग कर रहा था। गिरना इसलिए सूची प्र...
GeoLookupService में त्रुटि बनाएँ और एजेंट संदेश के लिए NATS प्रकाशन जोड़ें
********************** में वैकल्पिक बनाम सूची प्रकार mismatch को ठीक करें Inject NatsMessageService in MediaController - chat.session को प्रकाशित करें। एजेंट के...
Real-time chat delivery, message sides, notifications, and name sync
- Keep NATS subscription alive on client unsubscribe to avoid breaking agent real-time delivery - Tag visitor messages with messageType=VISITOR_MESSAGE in getMe...
टैग आगंतुक संदेश VISITOR MESSAGE प्रकार के रूप में, प्रेषक नाम को प्राप्त करने के लिए संदेश जोड़ें
- PublicChatService: सेट संदेशटाइप = VISITOR MESSAGE तो फ्रंटेंड अलग हो सकता है STOMP विषय पर एजेंट प्रतिक्रियाओं से आगंतुक गूंजता है - MediaController.getMessa...
Three support/chat issues — NATS relay, auto-popup, topic fallback
1. Switch SupportNotificationService and SupportStompRelayController from JetStream to core NATS — the CHAT_MESSAGES stream only covers chat.> so JetStrea...
Write contact form description as chat message on public ticket creation
The description was only stored on the ticket entity and never appeared in the chat window. Added writeTextMessage() helper and call it after the system event s...
Add debug logging and robust rights parsing for webinar controller
Adds info/warn logging for session data and rights on POST /types to diagnose 403 errors. Also adds fallback parsing for rights stored as JSON strings in Redis ...
Resolve org theme backgrounds not appearing in meet virtual backgrounds
- Add domain-based theme URL resolution for internal K8s service-to-service calls - getPublicBackgrounds now accepts optional domain param to derive correct the...
Upload meet backgrounds to public MinIO bucket with hash-based naming
Was uploading to private 'imaging-meet-recordings' bucket via **************** which caused: - MinIO region mismatch errors on the primary node - Connection tim...
Return serialization-safe Maps instead of raw JPA entities in MeetConfigController
All config/background endpoints were returning raw JPA entities with @ManyToOne(fetch=LAZY) Organization references. Jackson failed to serialize the Hibernate p...
Remove duplicate endpoints from MeetController, add org-themes to MeetConfigController
MeetConfigController already handled config/background endpoints. The duplicate endpoints in MeetController caused ambiguous mapping. Added org-theme background...
Update health probes to HTTP port 80 to match new server config
Startup, readiness, and liveness probes were still pointing to port 8443 with HTTPS scheme, causing pod restart loops.
Switch MediaService to HTTP port 80 — TLS termination at Traefik
Internal cluster traffic doesn't need HTTPS. Traefik handles TLS for external clients. This aligns MediaService with all other services.
Send chat invites to correct WebSocket topic /topic/chat/incoming/{memberId}
Was publishing to /topic/chat/member/{id} but kamo-internal subscribes to /topic/chat/incoming/{id}. Also fixed Member entity field access **************** inst...
NATS स्ट्रीम विषयों में जोड़ें और VoipStompRelayController में IllegalStateException को संभालने के लिए
NATS स्ट्रीम केवल चैट को कवर करता है। थर्ड IllegalStateException कोई मिलान स्ट्रीम नहीं। जोड़ा गया voip.> इसलिए दोनों विषयों को कवर किया जाता है, और विस्तारित क...
क्रॉस-subdomain WebSocket auth के लिए क्वेरी पैराम से *** स्वीकार करें
********* = क्वेरी पैरामीटर पहले, वापस करने के लिए गिर रहा है कुकी यह आंतरिक.kamocrm.com पर फ्रंटेंड को अधिकृत करने की अनुमति देता है। WebSocket कनेक्शन media.k...
अद्वितीय उपभोक्ता retry के साथ stale NATS उपभोक्ता बाध्यकारी संभाल
- निर्माण में संदेश हैंडलर निकालेंNatsMessageHandler() विधि - "Consumer पहले से ही बाध्य" जब अद्वितीय उपभोक्ता नाम के साथ retry तर्क जोड़ें सर्वर पुनरारंभ के बा...
रूट WebSocket के माध्यम से Traefik बंदरगाह 443 पर
- service.yaml: pod के वास्तविक सुन बंदरगाह से मिलान करने के लिए पोर्ट 80 → 8443 को ठीक करें - ingressroute.yaml: बैकएंड के लिए योजना https + पोर्ट 8443 का उपयो...
NATS कनेक्शन के लिए क्लस्टर-इंटरनल DNS का उपयोग करें
WireGuard IPs (100.64.x.x) से डिफ़ॉल्ट NATS URL बदलें nats.kamo.svc.cluster.local स्थानीय सर्वर के लिए। रिमोट नोड (k0m1, k2m1) वायरगार्ड आईपी पर बने रहे हैं।.
मीडिया सर्विस तैनाती में टीएलएस प्रमाणपत्र वैकल्पिक बनाना
- वैकल्पिक जोड़ें: वाइल्डकार्ड-कामोक्रम-कॉम गुप्त वॉल्यूम के लिए सही - लापता प्रमाण पत्र को सुंदर ढंग से संभालने के लिए Cert-converter कंटेनर को अपडेट करें
Unsecure registry config के साथ buildx सेटअप को हल करने के लिए 401 auth त्रुटियों
सदस्य पर गैर मौजूदा getName() विधि के बजाय getUsernameAlias () का उपयोग करें
Janus प्रमाणीकरण के लिए WebRTC config प्रतिक्रिया में apiSecret जोड़ें
जैसा कि आप शिपिंग देखते हैं?
यह सब अपने कार्यक्षेत्र में आता है। मुफ्त योजना शुरू करें और इस पृष्ठ को एक महीने में फिर से पढ़ें।.
