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...
Rubriques de configuration pour les limites de fixation et la multipièces
Liste de discussion en page avec prévisualisations, membres, comptes non lus
qui retourne ChatListRowDto lignes y compris le dernier message avant-première, membre les résumés, les comptes non lus par session et ownLastViewedAt.
Ajouter countUnreadAfter(guid, memberId, since) à MediaObjRepository
Besoin par point de terminaison de discussion paged pour calculer les comptages non lus par session lorsque ownLastViewedAt est un pointeur LocalDateTime plutôt...
Ajouter 'PrePersist à MediaObjImgDownload.dateCréé pour satisfaire NOT NULL sur insérer
Imagerie proxy avec support HTTP Range et suivi du téléchargement par membre
Ajouter MediaObjImgDownloadRepository avec existByObjImgIdAndMemberId
Requis par ImagingProxyService (tâche 10) pour découvrir par membre le suivi des téléchargements sans scan complet de table.
Ajouter type assoc CHAT-ATTACLMENT avec seau d'image-chat-pilier
Skip créator in findOrCreateExactChatSession boucle (créateChatSession les ajoute déjà)
Méthodes de service pour la recherche/création exacte, le membre ajouter, mute, révoquer, lire
Déplacer l'agrégateur du codeur à AYANT; ajouter "Transactionnel à marquerRead
Demandes de dépôt pour la recherche exacte, liste de pages, reçus
Ajouter dateLastViewed to MediaSessionMembre pour les horodatages de réception
Ajouter isAccessARevoked flag pour le contrôle d'accès par joint
temporisation des sondes 10 et 2 ouvriers du canonnière
Les blocs de sondes de LibreTranslate/langues sur l'événement de la canulet-corne boucle. Avec un seul travailleur traduisant un long message de discussion, la ...
Distinguer activement les messages et les messages en file d'attente
La file d'attente de traduction était déjà séquentielle, mais chaque bulle en file d'attente rendu "Translator....". Maintenant le message unique en vol montre ...
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 message traduit les retours d'appel traduits traduits:faux, erreurs, ou fois dehors, la bulle du chat rend maintenant une icône AlertTriangle en roug...
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...
Levé le temps de lecture du client aux 120 s pour les messages longs
LibreTranslate exécute des modèles d'argos uniquement CPU et un message de discussion sur la longueur du paragraphe Il faut 20 à 30 secondes pour traduire, et l...
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...
Propriétaire de la Monnaie OTK avec des droits d'octroi de tous droits sans aller-retour DB
Après - attribue l'Administrateur et écrit membre-droits appliqués, le bloc de frappe OTK était Relire ces rangées par l'intermédiaire de à l'intérieur de la mê...
Traductions les plus récentes pour l'histoire des visiteurs
Lorsque le visiteur atterrit sur un local non anglais et que le chat de soutien a messages anglais existants, chaque bulle signalée Besoins backend montre maint...
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...
Traduction en vrac uniquement cache, poignées FE se remplit
Les points d'extrémité de recherche de messages en vrac ne renvoient plus que des traductions qui sont déjà mises en cache et tagées lignes manquantes avec need...
Retourner "fixe(sets): montrer l'onglet Plans et facturation quel que soit le statut root-org"
Cela revient à l'engagement
Messages de visiteur et d'agent auto-transférer
Réponses de l'agent vivant arrivant dans une langue autre que l'URL du visiteur local maintenant montrer une bulle "Translating..." tandis que l'appel Translate...
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...
Critère de traitement par prise en charge par procuration, texte-critère
Ajoute une voie de passage pour le nouveau critère d'évaluation de MediaService qui traduit un un message d'assistance unique dans la localisation de l'URL du v...
Traduction à la demande pour les messages de discussion et d'appui
Capture la langue source pour chaque message de discussion/soutien et ajoute un optionnel ?lang-XX param sur les critères d'évaluation de l'extraction par messa...
Chat de traduction pour les messages de discussion
Ajoute l'entité MediaObjMsgTranslation (une ligne par paire (message, langue)) et une colonne optionnelle sourceLanguageId sur MediaObjMsg afin que les messages...
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...
Comme ce que tu vois expédier ?
Tout cela arrive dans votre espace de travail par lui-même. Commencez sur le plan gratuit et relisez cette page dans un mois.
