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...
Reconstruire avec une bibliothèque partagée fixe (requête native pour le temps de résolution avg)
Ajouter des services de tickets d'assistance, des contrôleurs REST et un relais STOMP
Met en œuvre le backend MediaService pour le système de tickets d'assistance: - SupportTopicService: CRUD pour les thèmes d'appui à l'org Service d'affectations...
Mettre à jour les références d'ID de messagerie multimédia de Long à UUID
Ajouter voip à NATS stream sujets et traiter IllegalStateException dans VoipStompRelayContrôleur
Le flux NATS ne couvrait que le chat. ' donc abonnant à voip. Illegal StateException ([SUB-90007) Pas de flux correspondants). Ajout de voip. aux sujets de flux...
Maintenir VoipStompRelayRelayAbonnement du contrôleur et ajouter PreDestroy
Comme ce que vous voyez l'expédition?
Commencez avec le plan gratuit et lisez à nouveau cette page dans un mois, puis passez à l’abonnement payant pour bénéficier de toutes les fonctionnalités.
