Bouton de verrouillage/déverrouillage basé sur l'état de la serrure du membre
Rendre HTTP-to-HTTPS redirecto-agnostic de domaine pour tous les groupes
Utiliser le modèle de nom d'hôte de caractères génériques pour l'optimisation d'images agnostiques
Utiliser le modèle de nom d'hôte de caractères génériques pour l'optimisation d'images agnostiques
Accepter les grandes ID de la CockroachDB dans le schéma d'org
L'ord ID de single-rowid() dépasse JS MAX-SAFE-INTEGER, provoquant z.coerce.number().int() à échouer avec "to-big". Maintenant accepte le nombre, bigint, ou cha...
Accepter les chaînes UUID pour les ID de fonctionnalité dans le schéma d'org
Le schéma OrgFeature nécessitait id pour être un entier coercible, mais le backend UUIDs. Cela a provoqué un zodError sur chaque mise en page, retomber à la lis...
rafraîchir toujours le contexte d'orgage après tout basculement d'application, pas seulement au stade terminé
Le POS et d'autres applications non achevés affectent également l'interface utilisateur (par ex. Pipeline en NavPri). La vérification de stade empêchait le rafr...
Supprimer les documents, le courrier électronique, les notes, le téléphone, l'AI de NavPri et déjà dans NavTop
L'oléoduc est le commerce/POS, pas le CRM et la porte par isPos au lieu de isCrm
Mettre à jour toutes les listes de fonctionnalités de secours et gate Pipeline/Chat/LeadStatus
Procène de racine: layout.tsx et org route API avaient une fonction de repli codée en dur listes avec seulement 6 anciennes applications (VOIP manquante, AI-SUP...
Ajouter une contrainte unique sur (org-id, feature-type) pour empêcher les fonctions dupliquées
Caractéristiques de l'application au stade complet de l'auto-approvisionnement dans le domaine d'org
Déplace l'auto-approvisionnement du FeatureContrôleur (constant seulement à partir du FeatureController page de paramètres d'applications) vers le point d'extré...
Fonctions d'applications à étage complet manquantes pour les orages existants
Lors de la liste des fonctions, le contrôleur vérifie maintenant l'absence d'OrgFeature lignes pour les applications COMPLETED-stage et les créent. Cela garanti...
Auto-réactivez toutes les applications au stade complet pour les nouvelles orgs au lieu d'une liste codée en dur
Remplace la liste des caractéristiques codées en dur (qui avait des doublons et des types dépréciés) avec une boucle sur toutes les Types de service non dépréci...
Attraper toutes les exceptions dans les critères d'évaluation de l'activation/désactiveur du contrôleur
Empêcher que RuntimeExceptions ne devienne pas opaque 500 erreurs. Maintenant, retourne des messages d'erreur structurés pour tout échec.
DisableFeature retours nuls au lieu de lancer lorsque la rangée manque
Montrer CC et BCC dans les aperçus de l'e-mail de l'article envoyé
Ajouter le champ bcc au type EmailMessage. ThreadDetailView maintenant affiche BCC les destinataires lorsqu'ils sont présents (généralement dans des copies de d...
Extrait des destinataires BCC des messages IMAP
L'en-tête BCC est conservé sur les copies de dossiers envoyées. Maintenant extrait à côté To et CC afin que le frontend puisse l'afficher dans les aperçus d'élé...
Supprimer la page d'héritage/email iframe
Cette page n'a intégré mail.kamocrm.com dans un iframe. L'intégration Le client de courrier électronique à /messages le remplace entièrement.
L'icône de messagerie électronique nav est désormais liée à /messages au lieu d'héritage /email iframe
La page /email intègre mail.kamocrm.com dans un iframe (l'héritage du webmail). Le client de courrier électronique intégré est à /messages. Mise à jour de NavPr...
Message d'erreur dorsal réel de surface sur l'échec de la fonctionnalité basculer
Permettre/désactiver maintenant analyse le corps de réponse d'erreur et montre le réel erreur dans le toast au lieu d'un message générique. Aide à diagnostiquer...
Restaurer le rafraîchissement du contexte de l'orge après le basculement des applications terminées
Sans router.refresh(), le contexte de l'orge est resté caduque après avoir activé applis - NavPri, la page d'accueil et les paramètres n'ont jamais montré les n...
Porter toutes les cartes de caractéristiques et les sections de réglages par drapeaux de caractéristiques d'org
Page d'accueil : La carte de documents utilise maintenant les documents isDocs (non déprécié isStorage/isDocManager), Calendrier par isEmail, Notes gated by is ...
Supprimer router.refresh() de la basculement de la fonctionnalité pour empêcher la réinitialisation de la page
router.refresh() faisait que la page re-repliait et réinitialisait la page active Retournez à "Disponible" sur chaque bascule. L'invalidation de cache et loadFe...
Liste des fonctionnalités du dupliqué pour empêcher les entrées d'applications dupliquées
Empêcher les applications dupliquées dans la liste des fonctionnalités en excluant tous les types existants
La liste disponible ne consistait qu'à exclure les fonctionnalités avec enabled-true, donc a une fonctionnalité désactivée (isActive-false) est apparue dans le ...
Invalider le cache d'org après basculement de la fonctionnalité pour refléter immédiatement les changements
L'org route API cache les données d'organisation dans Redis pour 24h. Après activation ou la désactivation d'une application, le cache de conte a fait que les d...
Ajouter des pages de paramètres pour HRS, Docs, Support, KB, Notes et Chat
Créer ComingSoonTon Composant partagé et 6 nouvelles pages de paramètres de fonctionnalité avec des espaces réservés bientôt, des gardes-feux et des conseils d'...
UI auto-rafraîchissante après basculement de la fonctionnalité et changement de rôle
FeaturesManager et SecurityRoleManager maintenant appel router.refresh() après mutations pour ré-extraction des données de contexte d'orgue et de session d'util...
Droits de session de re-ranço-ramés après modification de la fonctionnalité/dessin
Le contrôleur de l'appelant et le contrôleur de sécurité reconstruisent maintenant celui de l'appelant les droits de session dans Redis après activation/désacti...
Passer tous les liens nav et paramètres pages en og drapeaux de caractéristiques
NavTop: cacher le chat AI, le softphone, les SMS, les crédits, les notes, le calendrier et les liens de contact lorsque leur application correspondante est désa...
Mettre en œuvre l'interface utilisateur de gestion d'applications avec intégration backend et autorisations dynamiques
Rewrite FeaturesManager pour utiliser l'API dorsal pour l'activation d'application/désactive avec root-org gating pour in-dev apps. Mettre à jour NavPri pour ga...
Ajouter FeatureController pour la gestion de l'application d'org
Critères d'évaluation REST pour la gestion des fonctionnalités de l'application d'organisation: liste des fonctionnalités GET, Post enable/disable avec CONFIGUR...
Ajout d'un système de gestion d'applications avec des types de services, des droits et un contrôle des caractéristiques
Restructure ServiceType enum: ajouter des drapeaux de base/dépréciés, renommer DOC-MANAGER-DOCS et AI-CHAT-AI-SUPPORT, ajouter SUPPORT/NOTES/POS types, déprécie...
Synchronisation des paramètres nav avec les définitions d'onglets réelles sur toutes les pages
Ajouter les entrées manquantes dans les boîtes aux lettres et CalDav/CardDav à la section e-mail dans les deux la page principale des paramètres et le tiroir gl...
Élitre de boîtes aux lettres divisées en sous-onglets pour les pseudonymes primaires, partagés
Les boîtes aux lettres primaires, les alias et les boîtes aux lettres partagées sont désormais les sous-titres. leur propre sous-tablet dans la page Paramètres ...
S'adpoint de liste de membres de l'onglet du fournisseur
Le fournisseur à l'exception des types non configurables envoie désormais le nom de champ correct. L'onglet boîtes aux lettres utilise maintenant le critère d'é...
Fournisseur GET retourne à la fois type et fournisseurType, PUT accepte les deux
GET /api/email/provider inclut désormais à la fois les champs «type» et «fournisseurType» dans la réponse pour la compatibilité frontale. PUT accepte maintenant...
Resolve Remember Me ne persiste pas le nom d'utilisateur à travers les sessions de connexion
Le rappel re-toi a capturé une performance périseLogin closure où rememberMe était toujours faux (état initial). Utilisé une réf pour lire le valeur de la case ...
Acmagominte du fournisseur pour les types non configurables et la cartographie électronique des membres de la boîte aux lettres
Les sélections persistent immédiatement via saveAprovider au lieu de ne mettre à jour que l'état local. Onglet Boîtes aux lettres maintenant extrait correctemen...
Ajouter un pseudonyme de courrier électronique et un support d'interface utilisateur partagé par boîte aux lettres
Compositeur "À partir de" déroulant pour passer d'une boîte aux lettres primaire, d'un pseudonyme à l'autre et d'une boîte aux lettres partagée adresses. Nouvea...
Ajouter des pseudonymes de courrier électronique et un support de boîte aux lettres partagé
Nouvelle interface de capacité du fournisseur MailboxManager pour les alias et la boîte aux lettres partagée CRUD. L'implémentation KamoMailMailboxManager gère ...
Ajouter un pseudonyme de courrier électronique et des entités et référentiels de boîtes aux lettres partagés
Nouvelles entités de l'APP pour le schéma de courrier électronique: EmailAliasEntity (en sous forme d'alias par membre), SharedMailboxEntity (boîtes à diffusion...
Fixer la contrainte PRE-TICKET DB et la forme de création de la refonte
- Fixe de la contrainte de la CHECK sur l'adresse suivante: support.ticket.status pour l'autorisation de l'ordinal 14 - Reconçu TicketCreationForm avec UI moder...
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.