Largage non utilisé de l'erreur d'errage sur le corps de recherche en continu
Le cas de RequestInit, le cas de RequestInit fait déjà taire l'erreur de type; la directive est redondant dans le mode strict TS et casse la construction de la ...
Mises à jour de la liste des chats en direct via le canal NATS non lus
Liste des chats avec défilement infini, virtualisé via IntersectionObserver
Multi-sélection dans MemberList pour le démarrage des discussions de groupe
Split ChatBox en composants focalisés, fonctions multi-pièces filaires
En-tête de discussion avec pile d'avatars, popover du titre et cueilleur des membres
Composeur avec glisser-déposer, puces de fixation en attente, entrée multiligne
Bulle de message avec des avatars, des actions de vol stationnaire et un indicateur visible
Types de clients et crochets pour les sessions, reçus, pièces jointes
Voies de proxy pour la recherche-or-création, les membres, les pièces jointes, l'imagerie, le mute, la révocation
Extrait partagé et aide à app/lib/mediaServiceUrl.ts. Ajouter des itinéraires proxy: find-or-create, membres, reçus, pièces jointes (streaming), muets, révoquer...
Distinguer activement les messages et les messages en file d'attente
La file d'attente en continu était déjà strictement séquentielle (on aille à la fois), Mais chaque message en file d'attente rendait "traduction..." parce qu'il...
Afficher l'icône d'erreur lorsqu'un message ne se traduit pas
Lorsque le vote de traduction d'appels traduit traduits:fève, erreurs, ou fois, la bulle de discussion rend maintenant une petite icône rouge ErrorOutline au li...
Persister Language change et montrer le langage courant en infobulle
Le critère d'évaluation des membres accepte PUT et non PATCH, de sorte que le PATCH du sélecteur de langue a été silencieusement ignoré - Member.language n'a ja...
Chaîne d'interrogations à l'avant
Le mandataire Next.js abandonnait la chaîne d'interrogation de demande lors de la transmission à MediaService, ce qui signifie que l'historique du chat fetch es...
Traductions de messages les plus récents sur le commutateur linguistique
Lorsque l'utilisateur choisit une nouvelle langue (ou ouvre une discussion existante dans un langage différent de la source des messages), chaque bulle qui a be...
Retourner "fixe(sets): montrer l'onglet Plans et facturation quel que soit le statut root-org"
Cela revient à l'engagement
Traduire les messages de discussion dans la langue du téléspectateur
Ajoute un cueilleur de drapeau "My Language" dans NavTop (à gauche de l'outil d'e-mail, séparé par une règle verticale). Sélection d'une langue revient à Member...
Afficher les plans et l'onglet Billing, quel que soit le statut de root-org
La porte de zisRootOrg a caché l'onglet sur les orgs racines et les propriétaires d'orgges bloqués et auto-ordonneurs d'avoir atteint leur page de facturation à...
Traduire des chaînes d'UI codées en dur
setup/dns (6 fichiers): page, AliasStatusTable, DnsProgressView, DnsProvisioningPanel, DomainEntryForm, ManualDnsGuide. settings (10 fichiers): diagnostics, élé...
Largez et sautez chaque membre, pas de softPush à la libération
La dérive à la libération était une tirée softPushCluster sur le chemin de chute de l'utilisateur. A les limites du méga-cluster s'étendent dans toutes les dire...
Traduire des chaînes d'UI codées en dur
compte/vue: 40 chaînes réutilisées à partir d'espace de noms existant (pas de nouvelles clés). kb (13 fichiers): traduisant l'éditeur d'article, le téléspectate...
Traduire les chaînes d'UI codées en dur
Page Tâches: Enregistrer les modifications, fermer, Ajouter l'élément de tâche au flux d'automatisation, Éditer l'infobullition du titre. Page des notes: Rejets...
Remplacer l'anglais encodé en caractères durs par t() par l'ensemble des pages pistes
Traduire les chaînes d'UI codées en dur restant dans des allocations, des nouveaux, des rapports, et view/[id) pour utiliser next-intl. Ajouter des scripts/i18n...
Retouement fermement en place - jet de queue uniquement - jump() à une vitesse claire
La solution précédente laisse encore les têtes dériver à la libération parce que: 1. La détection de jet a une vitesse moyenne sur la fenêtre de 110 ms. Un uti...
Laisser tomber en place après une traînée en pause au lieu de dériver
Deux bugs coopérants ont provoqué le vol de têtes (simple ou post-rière) à des positions apparemment aléatoires quand l'utilisateur a traîné rapidement, ralenti...
Ajouter des sections personnelles et Chat/Docs/Notes/KB/HRS
L'indice /settings n'a montré aucune section aux non-administrateurs parce que chaque La section existante a été fermée sur un droit administratif (CONFIGURE-SY...
Élaboration de l'objectif sur la base du rapport d'aspect de la fenêtre de visualisation
Le cadre de but s'incline maintenant de atan2 (viewportH, viewportW) donc son ouverture vise la diagonale de la fenêtre de visualisation - pour les moniteurs 16...
Jeter un but avec des célébrations de score/mans
Une trame de but de 132 x 132 apparaît en haut-gauche chaque fois qu'une tête est en un front solo ou un ergot actif, décalé de 56px à partir du coin de sorte q...
Jeter de la physique avec des collisions avec des collisions de table de pool et des sentiers de comètes
En franchissant le seuil de jet le lance à travers la fenêtre de visualisation en physique explicite (friction, rebond de bord, tête-vs tête-tête élastique coll...
Annuler la vitesse de traînée héritée sur la libération
Le gestionnaire de traînée met à jour la valeur de mouvement de la tête avec rapid mx.set(nx) les appels, qui traître-motion utilise pour calculer la vitesse. L...
Esquisse hexagonale à toutes les tailles/états
Quatre sources de douceur éliminées: - sur le SVG sur le contour visible, de sorte que le trait la largeur n'étire pas (et ne floue pas) sous les transformati...
Utiliser OTK mis en place par serveur pour passer à un nouvel org
Préférez le taux de suivi par POST /api/security/org /api/sécurité/enter-comme aller-retour. Le serveur chanfreine un nouveau propriétaire en tant que partie de...
Écartement par tranches de même taille - règles de regroupement de même taille
L'adjacence des cellules en grappe et de l'hexagone sont maintenant dérivées de la plus grande agencée. membre au lieu de l'échelle mondiale, et les MV ci-après...
Se cacher le popover lorsque l'invitée à la réunion ouvre le dialogue
Le popover était en place pour rester ouvert sous le dialogue de la réunion parce que de dialogue a été effectué conditionnellement à l'intérieur de la porte ci...
Système de réécriture de dragster/cluster avec un geste magnétique et de ramassage
Remplacer le groupe monolithique HexHeadGroup (847 lignes) par un moteur modulaire en grappe sous app/composants/chat/hexheads/. Source unique de vérité : chaqu...
Restre de secours anglais robuste pour les traductions locales manquantes et vides
- fusionWithFallback traite désormais les valeurs locales à cordes vides comme non traduites, retomber à la valeur anglaise au lieu de ne rien rendre - Rempla...
Mettre à jour le type de compte uid de la page des ordres du numéro à la chaîne
AccountSummary.uid est maintenant une chaîne (correcte de grande précision). Enlever également Comparaison parseInt et type-------------------------------
Déplacer l'état d'avancement de la disponibilité vers le côté gauche avant My Businesses
Relocalise la pilule de statut de la barre d'action de droite à la section d'accueil de gauche, en la plaçant entre le séparateur d'accueil et My Businesses ave...
Ajouter targetOrganizationId aux types d'ordonnances d'abonnement et créerAbonnementOrder
CustomerMemberId est la chaîne d'identification des membres, la résolution des comptes par le primaireMemberId
- posApi: AccountSummary uid string, ajouter primaryMemberId; et clientMilleMemberId; et chaîne clientId - AbonnementOrderWizard: envoyer (non uid) en tant que ...
Remplacer click-to-open avec action popover et contrôle de taille
Cliquer une tête hexagonale ouvre maintenant un popover de morphisme du verre poli avec des actions contextuelles au lieu d'ouvrir immédiatement sa fenêtre d'ou...
Compléter la prochaine touche pour le diagnostic du système
Wire restant MySQL, Redis, statistiques, demande et copie UI d'accordion à components.settings.diagnostics keys; utiliser le temps de localisation et le badge d...
Retourner "feat(billing): wire FeaturesManager to platform a subscription pour portage d'orge enfant"
Cela revient à l'engagement
Wire FeaturesManager à l'abonnement à la plate-forme pour le portage d'ors enfants
FeaturesManager appelait l'héritage, qui lancers (retirage noué) au lieu de lire le véritable abonnement à la plate-forme. Maintenant, appelle - qui interroge ...
Legacy getrtenCurrent Subscription stub doit lancer, pas revenir null
Retour à nuls fabriqués FeaturesManager traite chaque org comme n'ayant pas d'abonnement (billingLoaded-true, has Subscription-false), verrouillage de toutes le...
Utiliser l'aria-label traduit pour les onglets ParamètresView
Lire - à partir de next-intl.
Modules json à l'ambiance pour messages gitignored/-json import
et la résolution IDE (en) fichiers commis sous les messages/. Les extensions comprennent les types//.d.ts.
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.