Utiliser les noms de champ SignatureContent corrects (en-têteImageUrl, signatureImageUrl)
Utiliser Partial-SignatureContent pour satisfaire les contrôles de type stricts TypeScript
Envelopper des courriels d'invitation avec un modèle de signature d'orgage (en-tête/pied/signature) et inclure un message personnalisé
Maintenant, réplique exactement le même emballage par courrier électronique que le compositeur d'e-mails: 1. Modèle de signature de Fetches from EmailService (c...
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.
Envoyer des courriels d'invitation DIRECTEMENT à EmailService, et non via la passerelle APIService
Proclamation racine: les routes forwardToApi via la passerelle Java d'APIService qui ne préserve pas correctement les limites de FormData multipart. L'e-mail Le...
Utiliser de subtiles teintes d'arrière-plan sur l'en-tête et la barre latérale de la page calendrier
Associer le style de la page fils/allotements avec les fonds de mélange de couleur claire au lieu de couleurs primaires fortement saturées.
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.
Chargement de la gorge CSS/favicon immédiatement à chaque chargement de page, élargissement des paramètres à 800px, forcez le texte/les icônes sombres dans tous les dialogues, la prévisualisation vidéo rétractable
1. Marque: loadThemeAssets() court maintenant PREMIER avant tout écoulement d'authine, donc org CSS (-navpri, -color-primaire), favicon et les données du log...
Contournements de marque, mise en page de dialogue et verrouillage du nom d'affichage via des modifications de source
- PreMeetingScreen: utiliser la cascade variable CSS pour la couleur de fond de la colonne de gauche (----------------------------------------------------------...
Des hexheads clairs sur le rafraîchissement de la page au lieu de restaurer l'état orphelin
Les fenêtres d'outils minimisées ne survivent pas au rafraîchissement, donc la restauration des positions hexades a créé des têtes orphelines avec des icônes ma...
Faire passer le nom plus agressif pour se rencontrer ne peut pas l'écraser
Se rencontrer peut remplacer window.config entièrement pendant le bootstrap, en dégageant le readOnlyName flag. Ajouter Object.definePetitte de la propriété sur...
Écoutez l'événement de chargement de marque async pour que le logo et les couleurs d'orge rendent
PreMeetingScreen, Watermarks et WelcomePage lisaient Window.-KAMO-MEET-BRANDING une fois pendant le rendu, manquant les données lorsque la charge d'assienBrandi...
Résoudre les problèmes de qualité de dialogue et la hauteur, le débordement des onglets et le texte blanc sur blanc
Changer de hauteur fixe de 560px en auto avec 85vh max pour que le contenu ne soit pas des barres de défilement. Ajouter flexWrap à la barre de languette afin d...
Système de placement de HexHead avec moteur de configuration déterministe
Remplace le système d'évitement de collision buggé ( spirale-recherche, résolutionCollisions, flyToHomeRow, boucles RAF d'ock/groupe) avec une seule fonction re...
Préserver le nom de la salle d'origine (pas de capitalisation/espaces), ajouter le champ URL de réunion copiable
1. Safe DisabledStartCase() qui transformait 'myroom123' en 'Myroom 123' avec la capitalisation et les espaces aléatoires. Les noms de salle sont maintenant ...
Remplacer les icônes SVG par des équivalents d'icône MUI via une couche d'adaptateur
Dialogue de restyle avec conception de vitrmorphisme et barre de languette horizontale
Ajouter un indicateur de frappe au chat AI en attendant la réponse
La bulle en continu ne montrait que lorsque le contenu était déjà diffusé en continu. ne laissant aucun retour visuel pendant l'attente du REST. Éléments de reb...
Cacher les onglets spécifiques aux membres lorsque memberID est "nouveau" pour éviter les erreurs BAD-REQUEST
Le /settings/member/new URL (à partir du bouton "Ajouter un membre de l'équipe") est arrêté par le route dynamique, provoquant AccountActivityTab, MembershipPer...
Correct meet.service.url jusqu'au port de https 8443 (MediaService utilise SSL)
Valider OTK PREMIER avant de charger des actifs thématiques pour empêcher l'expiration
CAUSE ROTE: marqueing/overrides.js chargeait org config, CSS, favicon Avant de valider l'OTK. Ces demandes de réseau ont pris plus de 10 secondes, amener l'OTK ...
OTK TTL pour les fenêtres de rencontre, le chat/email indépendant invite qui ne bloquent pas le backend
ROT CAUSE : L'OTK avait un TTL de 10 secondes. D'ici la page kamo-meet a chargé tous ses actifs et son marquage/overrides.js a été exécuté pour valider l'OTK, e...
Verrouiller correctement le nom de l'écran par annulation de la configuration et observateur de la mutation DOM
Approche à trois couches pour s'assurer que le nom est verrouillé pour les utilisateurs authentifiés: 1. Drapeau local "kamo-meet-authentiated" survit la redire...
Envoyer des invitations à un chat via l'API de session de chat existante, les invitations par courrier électronique via multipart vers EmailService
L'invitation au chat: crée/obtient une session de discussion via POST /api/media/sessions/chat puis envoie l'invitation à la réunion sous forme de SMS à cette s...
Utiliser getServerName() au lieu de getHeader(Host) pour la résolution d'hôte d'origine
ForwardedHeaderFilter consomme X-Forwarded-Host et s'adapte getServerName() en conséquence, tandis que getHeader(Host) retourne l'hôte HTTP brut qui peut être u...
Nom de l'écran de verrouillage via la configuration de Meet readOnlyName pour les utilisateurs authentifiés
- Sidecar config.js met maintenant readOnlyName: vrai quand l'utilisateur a et un cookie ou JWT dans l'URL de la page (détecté via les en-têtes de référence/c...
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...
Transmettre tous les champs de la réunion (sendChatInvite, sendEmailInvite, customMessage, roomAlias, joinUrl) vers backend
La route Next.js API était en train de stripping sendChatInvite, sendEmailInvite, customMessage, et roomAlias - seulement salle d'orjourneNom et invitationMembe...
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...
Passer les membres à toutes les instances MeetingDialog et auto-extraction lorsqu'ils ne sont pas fournis
- MemberListpasss disponibles Les membres sont à chaque membre - MemberItem Passes disponiblesMembres à son MeetingDialog - MeetingDialog s'auto-recherche les m...
Générer Prosody JWT à partir de la session OTK et rediriger avec ?jt' pour le modeur approprié auth
Le flux OTK maintenant: 1. Validation d'OTK par l'intermédiaire d'un side-car et d'une session (memberId, displayName, etc.) 2. Sauvegarder le nom d'affichage s...
Appliquer la couleur de l'org nav à la colonne de gauche de pré-réunion entière, pas seulement la barre d'outils
Cible . écran de préréunion (conteneur à pleine hauteur) et son contenu les enfants au lieu de noms de classe générés. Contient également à l'état d'ensemble de...
Ajouter un effet de transparence du verre aux cartes de caractéristiques sur la page d'accueil et les paramètres
Paramètres complets modaux avec dispositifs/selles/en plus/pneus/scettes de coupes courtes, nom d'affichage sur la carte principale, superposition de couleur primaire
- Le nom d'affichage est désormais un champ obligatoire sur la carte principale au-dessus de la pièce. entrée, pas dans les réglages. Les utilisateurs doivent...
Transférer l'IP et l'agent d'utilisateur pour l'arrière-plan d'activité des comptes précis
Les lignes API Next.js n'ont pas fait circuler X-Forwarded-Fored-For, X-Real-IP, ou En-têtes utilisateur-agent au backend Java, ce qui fait que l'activité du co...
Utiliser HTTP sur le port 80 pour rencontrer l'URL du service pour correspondre à d'autres services
Le critère HTTPS sur 8443 provoque une inadéquation de cert SSL lors du routage par l'intermédiaire du DNS interne K8. Tous les autres services utilisent HTTP a...
Valider l'existence de la pièce avant la jonction anonyme, ajouter les paramètres modal avec sélection de l'appareil
Les utilisateurs anonymes doivent entrer un nom de salle de réunion valide - la page d'accueil contrôle /api/meet/exists/-roomName avant d'autoriser l'adhésion....
Add GET /api/meet/exists/{roomName} endpoint for anonymous room validation
Ajouter findRyRoomNameAndStatusIn requête à MeetingRecordRepository
Supprimer la contrainte maxWidth des paramètres de mise en place des onglets pour remplir la zone de contenu
Ajouter une zone de texte de message personnalisée à MeetingDialog pour les invitations au chat/courriel
Affiche une entrée de texte multilignes lorsqu'au moins une option de notification est permis, permettant au créateur de la réunion d'ajouter une note personnel...
Dialogue pour les réunions par membre au lieu de contourner directement
MemberItem (Interaction Center) et ChatBox (fréquet d'outil de chat) maintenant ouvrir le Dialogue avec le membre cible présélectionné, en permettant utilisateu...
Route rencontre l'API de configuration via APIService au lieu de MediaService direct
La liaison/création de l'itinéraire existant utilise forwardToApi (APIService), qui les proxys de MediaService. Les nouvelles routes de configuration/arrière do...
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.