Changelog
Ce qui est nouveau.
Chaque amélioration apportée à la plateforme, à mesure qu'elle est livrée.
· kamo-internal
Auto-étiquette AI et UI de sous-titrage; paramètres de niveau de coût/vision du fournisseur (P3)
Paramètres et AI et fournisseurs: chaque fournisseur obtient un niveau de coût (Lumière/Moyen/Lourd) et un Prend en charge la basculement de la vision (- list chips). Tiroir pour matériaux: "Étiquettes de prédileve avec AI" (preuves acceptées d'appliquer) et "Générez la description avec l'IA" - les deux appels des fournisseurs configurés de l'organisation via MediaService-AIF; fermé par un message clair lorsqu'aucun fournisseur de vision n'est mis en place.
· AIService
Passage du niveau de coût/visage du fournisseur et point de vue interne à un seul coup
AiProviderContrôleur lit/échosTitreTier et supporteVision. Fourneau de ProviderRoutingService selectVisionProvider (orgId, tier). l'achèvement de la vision réutilisant le fournisseur/adaptateur de l'organisme (pas de session/RAG/outils). Nouveau contrôleur interne Ai POST/api/ai/interne/vision (X-Internal-Auth, OTK-exempt) pour les appelants de service à service.
· MediaService
Auto-étiquette AI et légende via les fournisseurs d'org (P3)
MaterialAiController POST (Charte de contrôle de la propriété, Monture une URL de matériel signé à courte durée de vie, et appelle le point d'extrémité de vision interne d'AAIService (orgs les fournisseurs, LIGHT tier) via AiVisionClient. Analyse de l'étiquette de lenient ; en panne-arrêt si aucune vision un fournisseur configuré.
· kamo-shared-library
Niveau de coût AiProvider et drapeau de vision (deux axes de capacité orthogonal)
Ajout coûtTier (LIGHT/MEDIUM/HEAVY via le nouvel AiProviderTier enum) et supporteVision boolean à AiProvider, de sorte que les intégrations peuvent choisir le coût d'un fournisseur à utiliser et quel soutien la vision est élevé. Repo finder pour les fournisseurs de vision active. Colonnes ajoutées à AI-PROVIDERS via ALTER.
· EmailService
Consentement "afficher des images externes" côté serveur
Remplace le client-local (localStorage) en se souvenant du choix de l'image externe avec un enregistrement durable par membre. Nouveau service RemoteImageConsentService (échoiter à lire ainsi le rapport de report de la recherche de messages avant l'existence du tableau) - POST /api/email/remote-image-consent d'enregistrer le consentement. Le DTO en message complet porte maintenant remoteImagesAmagesAbsage (regardé par membre et message-ID), peuplés dans la boîte à messages unique, thread et partage-mailbox S'il vous faut, puis, pour que le client enseigne sa porte du serveur.
· kamo-shared-library
EmailRemoteImageEntité et référentiel
Enregistrement à portée de membre qu'un membre a choisi d'afficher des images externes (à distance) pour un message spécifique, clé par Member-id - normalisé RFC Message-ID (unique). Suive le modèle de l'e-mail-metadata-tog-arg-alled pattern (FilterRuleEntity). Récupère le C'est-à-dire la préférence "affichage d'images externes" côté serveur, de sorte que le choix persiste à travers appareils et sessions. KamoInitializer crée la table sur sa prochaine course.
· InitializerService
Ajouter la colonne INVESTOR-PRICE à taux-saculations-sacs-snapshots
Ordonnance(80) idempotent ADD COLUMNIF PAS EXISTES (DECIMAL(9,4), correspondant au prix à 100 de sorte que le RCE MLOS peut enregistrer le véritable prix d'exécution des investisseurs non-pars sur le la fixation de l'enroulement et de sa citation liée au lieu de par-by-omission. Additif pouvant être annulés; miroirs RecordingTranscriptMigration.
· kamo-shared-library
Enregistrer le véritable prix de l'investisseur non-par sur RateLock et LoanPricingSnapshot
La liaison à la tête du record et sa cotation liée ne portaient que le taux et les jours d'écluses; Les points de réduction/origination ont été laissés nuls, de sorte que les entités de base lisent PAR pendant le Nombre réel de numéros à prix réel et prix-100 avec le prêteur marge cuite à) ne vivait que sur le MLOS côté-dor MlosLockRecord.lockedPrice. Ajouter une colonne INVESTOR-PRICE (DECIMAL(9,4), correspondant aux grilles de prix à 100 expédiées) aux deux entités - leurs DTO - - C'est le prix d'exécution de l'INVESTATEUR, NE PAS décomposé en points d'emprunteur (que nettoie la marge et nécessite le modèle de redevance - la décomposition maintenant in exprimérait à tort l'emprunteur points, une erreur de divulgation de Reg---/ECOA). Les points restent nuls jusqu'à ce que le modèle de redevance atterrit; le prix brut est maintenant conservé sur l'enrouleau, et pas seulement sur le registre latéral. Populée par le RCE (MLOSCapitalMarketsService) à partir du prix final; colonne matérialisée par KamoInitializer RateLockInvestorPriceMigration (ADD COLONNE SI NON EXISTES).
· kamo-internal
Légaires connecter RingCentral au nom d'un membre
Dans les paramètres téléphoniques d'un autre membre, un administrateur avec des droits de gestion-VOIP (canManageVoipConfig) voit maintenant Connect/Reconnect/Disconnect pour le membre Compte RingCentral au lieu d'un "ils doivent le connecter eux-mêmes" message - pour le cas courant où un sysadmin détient le RingCentral du membre les pouvoirs. La copie de connexion indique clairement que vous vous connectez avec THAT member's les références et le membre cibleID sont passés (le serveur impose le droit).
· VOIPService
Permettre aux administrateurs de connecter RingCentral au nom d'un membre
Le flux par membre de RingCentral était en libre-service, donc un administrateur de gestion Le profil d'un autre membre a vu "ils doivent le connecter eux-mêmes". Sysadmins créer généralement le compte RingCentral du membre et conserver leurs références, de sorte que ils devraient pouvoir se connecter au nom du membre. - Le titulaire/déconnexe/déconnexion du membre OAuthController accepte désormais une cible facultative membreId. Le fait d'agir au nom d'un autre membre nécessite des autorisations de gestion ou (miroirs de la porte de l'éditeur de profil); sois toujours autorisé. - commence également à vérifier que le membre cible est effectivement affecté à cette instance (le l'instance est org-arped, donc cela confirme le même or). - Quiconque complète le login RingCentral détermine toujours l'identité; La garde d'extension attribuée-raccordée à l'extension est un défaut de discordance.
· kamo-internal
Analyses d'utilisation et visualisations d'Insights (P2)
Enregistrements - événements et un dialogue Insights avec des totaux d'orge - le les matériaux les plus utilisés (par téléchargements et aperçus).
· MediaService
MaterialAnalyticsContrôleur et enregistrements et agrégats
POST (dosage) GET/analyse (comptes par matériau) totaux de type et d'orge).
· kamo-shared-library
MaterialEvent entity-repo (analyse des données d'utilisation)
Éléments d'utilisation uniquement - avec un per-(imgId, type) une requête agrégée. Tableau MATERIAL-EVENTS (CRDB DDL ciblé; auto-scans KI).
· kamo-internal
HUI d'approbation du flux de travail et filtrage de charge (P2)
Contrôle de l'état dans le tiroir - badge d'état sur les carreaux, et a filtre d'état dans la barre d'outils. Se charge également toutes les pages matérielles à l'avance (bouchée) de sorte que la recherche/l'étiquette/ Les filtres de campagne/statuus couvrent l'ensemble de la bibliothèque, et pas seulement la première page.
· MediaService
MatérielContrôleur et carte de statut et état d'avancement
GET/api/média/materials/reviews (carte de l'imgId à l'échelle de l'orge) et POST pour définir l'état d'un matériau (validé, estampillé par l'examinateur, upsert).
· kamo-shared-library
Material Review entity-repo (tableau de l'état d'agrément)
PROJET/PENDING/APPROUVÉ/ARCHIVÉ par matériau, calqué par imgId (invention non touchée). Tableau MATÉRIELLES (CRDB DDL ciblé; auto-scans KI).
· kamo-internal
Par-membre RingCentral connect et softphone webs corrects v2
Corrections de SDK de téléphone mobile (le téléphone-tour central est v2.4.0, et non l'adaptateur v0.x) l'utilisation ciblée de wp.userAgent.- a été lancée sur init): - Réécrire RingCentralPhoneSdk pour l'API v2: objet single sipInfo, start()/call()/dispose(), inboundCall/outboundCall, départ anticipé câblage, synthétisation muette/maintenage/mutée/non mutée, et adoption des SDK un élément audio par appel en tant qu'audio à distance de l'audio, donc le volume AV/le routage du dispositif. - PhoneSdk.SipInfo: ajouter allerProxyBackup et stunServers. - useSoftphone: effacer la bannière d'appel entrante coincée sur un hangup distant pendant anneau; ne pas démolir le SDK à escale à mi-appel sur le rafraîchissement des titres d'identité; gardez-vous contre auto-réponse et double acceptation d'appels. Connexion par membre RingCentral: - PhoneSettingsTab: auto-servir la carte "Connect RingCentral" sur le sien profil (les administrateurs obtiennent le statut de lecture seule), gestion de redirection d'OAuth, et un l'avertissement d'extension-mise au défimatage. - voipApi: membre OAuth start/status/disconnect. - utilisationSoftphone et SoftphonePanel: besoin de MemberGarage de la connexion avec un "Connecter" votre instruction RingCentral compte au lieu d'une erreur d'enregistrement.
· VOIPService
Pari pour ann rock d'OAuth et correctifs SIP pour téléphone portable
Corrections d'identifiants SIP pour le téléphone portable: - getSipCredentials: map outboundProxyBackup et stunServers (web-phone v2 needs pour le basculement WSS - ICE/média); throw ProviderException (502) au lieu de nue RuntimeException (500) que SipController a raté; gardez contre un Identité SIP à l'exclusion d'une mauvaise extension. Connexion par membre RingCentral: - RingCentralTokenResolver : résoudre/rafraîchir le propre jeton d'un membre avec un vol unique (RC tourne des jetons de rafraîchissement), reconnecter les besoins sur un jeton mort, et révoquer-à-déconnecter. - OAuthContoller : membre de la session uniquement (auto-service), champ d'appel de VoipCalling, PKCE; connecter les enregistrements de rappel extension connectée. - SipController et PhoneProviderFactory: les registres de softphones en tant que membre Extension de PROPRI ; retourne un discriminateur de 200 a besoin de session de session de session en cas de connexion. - MemberVoipConfigContrôleur : exposer l'état de connexion; révoquer la réaffectation. - La nouvelle table indique que les mots sont gracieusement si le membre n'est pas encore migré.
· kamo-shared-library
Ajouter MemberVoipOAuthToken pour les connexions RingCentral par membre
Support par membre OAuth jeton à clé (memberId, provider, instanceId) Opérations de linge de portée d'extension Opérations d'un annomètre et d'une prise de soja pour téléphone mobile plus la Journal d'appel personnel du membre / messagerie vocale / présence. Décalys de la org/instance OrgOAuthToken (compréhension). Exige un KamoInitializer courir à créer
· kamo-internal
Collections/campagnes UI (P2)
Section Collections gauche-nave (créer/sélection/suppression), filtre de campagne sur la vue de collecte, et un éditeur de collections dans le tiroir de détail (ajouter/revoler le matériel, créer-et-ajouter). Câblé par /api/matériaux/campagnes/matériaux/matériaux/matériaux/campagnes/campes/campes/campes/campes/campes/campagnes/campes/campes/campes/camagnes/camagne Des étiquettes similaires côté client.
· MediaService
MatériauCampaignContrôleur - CRUD - Carte de l'article - ajouter/supprimer
/api/média/materials/campaigns: list/create/update/delete, GET/items (org-wide imgId-campaignId carc)), POST /add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
· kamo-shared-library
MatérielCampaign et entités/repos (collections)
Collections de première classe regroupant des documents entre les dossiers. Tableau MATÉRIAU-CAMPAIGNS MATERIAL-CAMPAGNE-ITEMS (CRDB DDL ciblé; auto-scans KI à la prochaine course).
· kamo-internal
Tags UI et contrôle au niveau d'accès (P2)
Tags (org-scoped, cross-cut): puces d'étiquette sur les tuiles, une barre de filtre d'étiquette (ET dans la sélection), et un éditeur d'étiquettes dans le tiroir de détail (assigner/supprimer un nouveau-désign existant, créer et affectation nouvelle). Câblé à travers /api/matériaux/étiquettes/-proxies et matériauxTagsApi. Ajout également d'une visibilité (niveau d'accès) le contrôle du tiroir à l'aide du critère d'évaluation existant au niveau d'accès.
· MediaService
MatériauTagContrôleur - étiquette CRUD - assigner/non-vente et carte d'affectation
/api/media/materials/tags: liste/créate/delete tags, GET/assignments (par. cartographier l'espace de travail rejoint côté client), POST /assign ' /unassign avec des contrôles d'org-titre.
· kamo-shared-library
MatériauTag - Entités d'affectation/repos (étiquettesorges)
Axe plat et transversal sur des plieuses pour les matériaux de commercialisation. Tableau MATÉRIAUX ETRANGERES MATERIAL-TAG-ASSIGNMENTS (créé via CRDB DDL ciblé; auto-scans KI à l'heure suivante).
· kamo-internal
Liens publics gérés UI (P1) - création/expiration/revoke/compte de vues
Le tiroir de détail acquiert un panneau "Liens publics" (ShareLinkManager): créer un lien durable avec une étiquette et une expiration facultatives (1h/1d/7d/30d/j/jamais), la copier, voir son numéro de vue et la révoquer. Soutenu par les nouveaux points d'extrémité du registre MediaService via /api/materials/links proxies. Le Un lien de copie rapide reste rapide pour un partage social/courrier électronique rapide.
· MediaService
Critères d'évaluation de l'objectif de liaison publique (créate/list/revoke) et serve-t-il suivi
Ajout POST/GET/api/media/materials/links et DELETE/links/-id-sa par MaterialShareLink, et résout d'abord les jetons gérés sur le public GET (vérification/récupérant et écrasement viewCount) avant de retomber dans l'ancien vérificateur HMAC. Jetons opaques aléatoires, org-jaunes contrôles de propriété, TTL clampé à -1y.
· kamo-shared-library
Entité de registre MaterialShareLink - repo (liens publics gérés/suivi)
Le dossier révocable, expirant, liens publics comptés sous la vue pour le matériel de commercialisation de sorte que les liens peuvent être listés, révoqués et comptés (vs. les jetons HMAC apatride). Auto-balayé par KI (EntityScan com.kamo) et MediaService; il a besoin d'une course KI pour créer le Tableau MATÉRIAUX-SHARE-LINKS.
· kamo-internal
Ajouter un menu contextuel de contact avec le bouton droit/presse longue vers les lignes de conversation
Achève le menu d'action de la liste à travers les deux modes de visualisation. Les lignes de conversation ouvertes maintenant le même menu partagé en clic droit et appuyez sur le bouton long-connect avec des actions au niveau du fil: Répondre / Répondre à tous / En avant (en opérant sur le dernier message du fil, récupéré la demande et composée à partir de la boîte aux lettres active), Signaler Spam / Pas de spam et Supprimer (appliqué sur tout le fil), Mark lire, et Étoile / Unstar.
· kamo-shared-library
DecisionGate.appliedThreshold expose la barre de confiance réelle
La porte applique intérieurement max (locataire surpasse, sécurité Plancher, étage) mais les appelants n'avaient que le mur du locataire avant l'arrachement. afin qu'une décision d'enregistrement puisse persister le seuil-IN-EFFECT (examiner- reproductible) au lieu d'une valeur que la porte soulève silencieusement. Additif ; évaluation() inchangé. DecisionGateTest 14/14 passe.

Votre univers vous attend.
Commencez gratuitement en quelques minutes. Ajoutez des produits quand vous êtes prêt. Pas de migration, pas de nouvelles connexions.
Gratuit pour toujours — aucune carte de crédit requise