Intégréer dans GeoLookupService et ajouter NATS publish pour les messages d'agents
- Réparation de l'inadéquation optionnelle ou du type de liste - Injecter NatsMessageService dans MediaController - Publier sur chat.session. l'agent et le vi...
Livraison en temps réel du chat, aspects du message, notifications et synchronisation des noms
- Maintenir l'abonnement NATS en vie chez le client se désabonner pour éviter la rupture de l'agent en temps réel - Marquez les messages de visiteur avec messag...
Montrer le drapeau des visiteurs et l'emplacement dans l'en-tête du ticket d'assistance
- Injecter PublicChatVisitorRepository et GeoLiteLocationRepository dans SupportTicketService - Populate visitorIpAddress, visiteurCountryCode, visiteurName en ...
Tag les messages de visiteurs en tant que type de VISITOR-MESSAGE, ajouter ernderName to GET messages
- PublicChatService: paramétrer le messageType-VISITOR-MESSAGE pour que frontend puisse distinguer échos des visiteurs provenant des réponses des agents sur l...
Réparer le chat public de bout en bout en temps réel via STOMP/NATS
- Supprimer l'exigence d'autoth intérieure de PublicChatWebSocketInterceptor de sorte que les visiteurs peuvent se connecter directement en utilisant uniqueme...
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...
Live pending support ticket count via NATS — notify org owner on new tickets, add pending-count REST endpoint
Rebuild for kamo-shared-library update (CREATE_CHILD_ORG right + apply-to flags)
Pulls the new RoleRightType.CREATE_CHILD_ORG (id 131), the three apply-to flags on ChildOrgSecurityModel, the two 13-arg service overloads, and the AppliedModel...
Rebuild for kamo-shared-library update (appConfig upsert-only fix)
Pulls the hardened **************** that no longer deletes appConfig rows whose service types are absent from the caller's payload — prevents silent data loss w...
Rebuild for kamo-shared-library update (effective-feature resolver)
Picks up the new AppliedModelEnforcementService methods (computeAvailabilitiesMap, isAppEffectivelyEnabled, getEffectivelyEnabledAppTypes, computeEffectiveFeatu...
Rebuild for kamo-shared-library update (applied-model enforcement + appConfigs + isPrivate)
Triggers a rebuild so this service pulls the updated kamo-shared-library containing AppliedModelEnforcementService, ChildOrgSecurityModelAppConfig entity, Servi...
Rebuild for kamo-shared-library update (runtime force rules + DEFAULT fallback in MemberRightsAppliedService)
Triggers a rebuild so this service picks up the updated **************** that applies template force rules and DEFAULT-template fallbacks on top of the existing...
Rebuild for kamo-shared-library update (master model, default role templates, force-rule resolver)
Triggers a rebuild so this service pulls the new kamo-shared-library revision containing Organization.branchTypeID, Organization.masterModelID, ****************...
Add concurrency group to prevent duplicate workflow runs
When a push triggers a workflow and workflow_dispatch is also fired (or two pushes arrive in quick succession), both runs would execute simultaneously. Adding a...
Add conversion progress NATS-to-STOMP relay
Relays document conversion progress from NATS to WebSocket clients. Supports both imgId-based and member-based topic routing for real-time progress updates duri...
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 ...
Enforce minimum advance booking when filtering available slots
Filters out slots that fall within the configured minAdvanceBookingMinutes window, and persists the field on create/update of webinar types.
Implement webinar scheduling backend with full business logic
Adds the core webinar scheduling system to MediaService: - WebinarService: CRUD for **************** presenter assignment **************** calendar conflict ...
Add ***-authenticated API key management endpoints for public chat
Adds /api/media/public-chat-keys CRUD endpoints for managing PublicChatApiKey shown once at creation. Uses same *** auth pattern as SupportController.
Trigger rebuild with updated shared library (PublicChatVisitor @MapsId fix)
Add public chat support endpoints with anonymous visitor sessions and WebSocket auth
Adds REST endpoints for public chat session creation, messaging, and visitor management. Includes PublicChatWebSocketInterceptor for token-based WebSocket auth ...
Include org static background images in meet virtual backgrounds
Fetch backgroundImageCount from the org's theme config.json and generate URLs for /img/bg/{n}.webp so org-level static backgrounds appear alongside meet-specifi...
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...
Add public config and backgrounds endpoints for sidecar consumption
GET /api/meet/public-config?domain= returns org meet config by domain. GET **************** returns combined virtual backgrounds. Both endpoints are unauthentic...
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...
Add config CRUD, background management, and org-theme endpoints
All endpoints enforce MANAGE_MEET_SETTINGS privilege. Config auto-creates with defaults on first access per org. Background uploads go to MinIO with SHA-256 has...
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...
Implement chat WebSocket and email invite sending for meetings
MeetController now reads sendChatInvite, sendEmailInvite, and customMessage from the create request body and triggers async invite sending. MeetService.sendInv...
Add GET /api/meet/exists/{roomName} endpoint for anonymous room validation
Add MeetConfigController and MeetConfigService for org-level meet settings
Critères d'évaluation REST pour CRUD sur OrgMeetConfig et MeetBackground. Prend en charge la configuration get/update, le téléchargement/la sévir/la commande pa...
Ajouter MeetController et MeetService pour la création de réunions et la gestion des invitations
Reconstruire le déclencheur pour la librériure kmo-shared-library ServiceType.MEET
Ajouter le point d'extrémité de l'API de comptage non lus, point d'extrémité de marque en tant que relecture et diffusion WebSocket
- GET/api/media/sessions/chat/unread retours par session et par expéditeur non lu - PUT /api/media/sessions/-guid/- luth marque une session comme lus pour le me...
Ajouter PRE-TICKET Création et point d'extrémité de conversion à ticket
- createTicket: quand prétunir-clic, fixe le statut à PRE-TICKET, saute affectation (pas de titre requis) - PUT /tickets/-id-/conversion: convertit PRE-TICKET...
Comme ce que tu vois expédier ?
Chacune de ces mises à jour atterrit automatiquement dans votre espace de travail. Commencez gratuitement et regardez-le grandir semaine après semaine.