Changelog
Ce qui est nouveau.
Chaque amélioration apportée à la plateforme, à mesure qu'elle est livrée.
· kamo-register
Les écrans d'inscription créditent KamoUniverse et retombent à son sommet
kamouniverse.com est maintenant l'apex principal de la plateforme (kamocrm.com reste un apex de l'héritage servi): - Theme.tsx: PLATFORM APEX, l'hôte de thème utilisé avant que le navigateur ne le connaisse hôte ou sur un hôte sans apex, est kamouniverse.com. N'importe quel véritable hôte encore demande le thème. - RegisterFlow: les détenteurs de place serveur-render pour le lien de connexion et le domaine org sont login.kamouniverse.com / kamouniverse.com. Le navigateur remplace les deux par la propre connexion de ce site.<apex> sur montage, comme auparavant. - "Powered by / Built on / Running on" noms de pilules KamoUniverse sur chaque porte sans une marque apex propre et des liens vers www.kamouniverse.com business-OS page et la ligne de produits sont pour kamocrm. com/produit et /caractéristiques, que ce site n'a pas). - ThemeLogo alt par défaut est un "Logo" neutre (il peint n'importe quel logo d'org). - Le "Contact Support" de la page est support@kamouniverse.com: le mail stream vérifié kamouniverse.com entrant est en direct et alias à la même Une boîte aux lettres. Kept: JAVA API BASE = api.kamocrm.com sur les routes BFF. C'est le partage plate-forme API host (OrgApiHosts.PLATFORM API HOST reste) et un serveur à serveur call; api.kamouniverse.com itinéraires identiques, donc déplacer il n'achète rien. Cookie scoping et la commande de la main-off sont d'origine hôte et intacte.
· kamo-login
L'écran de connexion crédite KamoUniverse et revient à son sommet
kamouniverse.com est maintenant l'apex principal de la plateforme (kamocrm.com reste un apex de l'héritage servi): - Theme.tsx: PLATFORM APEX, l'hôte de thème utilisé avant que le navigateur ne le connaisse hôte ou sur un hôte sans apex (localhost), est kamouniverse.com. Une page navigation sur n'importe quel hôte réel demande toujours le thème. login.kamocrm.com continue à lire thème.kamocrm.com. - "Powered by / Built on / Running on" noms de pilules KamoUniverse sur chaque porte sans une marque apex propre (locataires étiquetés en blanc et le legs kamocrm.com porte) et des liens vers www.kamouniverse.com. Ce site n'a pas /produit ou /caractéristiques, de sorte que ces variantes vont à sa page business-OS et sa gamme de produits (tous deux vérifiés 200 dans chaque localité). Le KamoUniverse L'emprise de la porte est inchangée. - ThemeLogo alt par défaut est un "Logo" neutre: l'image est la logo de l'organisation les peintures d'écran, donc "KamoCRM Logo" avait tort pour chaque locataire. Le dossier thématique les peintures de porte kamouniverse.com, cookie scoping et le La commande de main-off est dérivée de l'hôte et intacte.
· kamo-internal
L'onglet All et les badges rechargent quand quelqu'un écrit une note sur la piste
Les communications du chef de file s'ouvrent sur Tous, dont la chronologie n'a été rechargée que lorsque ce membre a note de celle-ci, donc une note écrite par quelqu'un d'autre (un autre membre, une réattribution chaude, un membre de l'IA outil) encore besoin d'une page de recharge là. useLeadNoteWritten suit /topic/media/feed/<orgId> sur la prise multimédia partagée de l'onglet, apprend le flux de lead de son flux, et rappelle (coalesced, et après un reconnect) pour une note dans ce flux; LeadCommunications recharge le calendrier et le Le badge compte avec.
· kamo-internal
Les notes d'un lead se rechargent lorsqu'une note est écrite dans son propre flux
MediaStream (un lead's Notes, le flux Clubhouse) a écouté /topic/media/feed/<orgId> mais n'ont réagi qu'à POST CREATED/POST UPDATED — et rien n'y a jamais été relayé. MediaService maintenant relaye les événements media.feed de l'org, où une nouvelle note ou post est COMMENT ADDED nommant son flux. Le flux se souvient du flux qu'il énumère (le nouveau flux de la réponseGuid, ou la guid de ses messages) et recharge, tranquillement, seulement pour une note dans ce flux: une note Hot Reassign apparaît maintenant pour un autre visionneuse du plomb sans recharge. La règle est app/lib/mediaFeedEvents.ts.
· SecurityService
Un flux donne le nom du flux qu'il énumère (streamGuid)
Le flux du navigateur recharge quand /topic/media/feed/<orgId> dit qu'une note a été écrite dans sa propre Un ruisseau. Une piste sans notes n'a pas encore de post dont les noms guid ce flux, donc la première note un autre membre a écrit là (une note de réattribution chaude, en général) ne pourrait jamais apparaître en direct. Allez /api/security/media/feed retourne maintenant streamGuid pour l'alimentation en plomb et l'alimentation en org.
· MediaService
Relay media.feed.<orgId> vers /topic/media/feed/<org Id>, gardé par org
Un nouveau billet ou une note principale est annoncé sur media.feed. <orgId> et kamo-internal's MediaStream (une note de lead, le flux Clubhouse) écoute /topic/media/feed/<orgId> — mais rien jamais relayé l'un à l'autre, ainsi une note un membre écrit (Hot Reassign inclus) est apparue pour un autre spectateur de la piste seulement après un rechargement. MediaFeedStompRelayController souscrit media.feed.* sur le noyau NATS sans groupe de queue (chaque pod livre à ses propres sockets) et ne transmet qu'un id d'org numérique. StompDestination Authz garde maintenant le sujet comme le flux social : SUBCRIRE par l'org seulement de la session, aucun client Envoyer.
· KlusterServices
Svc media peut s'abonner à media.feed.* pour transmettre le flux d'org au navigateur
SecurityService et MediaService annoncent un nouveau message ou une note principale sur media.feed. <orgId>, et le flux du navigateur (les notes de la vue principale, le flux Clubhouse) écoute sur /topic/media/feed/<orgId>. Rien n'a relié les deux : svc media pourrait publier media.feed.> mais ne pas s'y abonner, donc aucun relais ne pourrait exister. MediaService nouveau MediaFeedStompRelayController abonnement media.feed.* (un jeton : l'id org; media.feed.lead.* n'est pas relayé).
· kamo-internal
AI invite à se joindre par elle-même; lien d'historique de la rencontre; mise en place de l'AI-transcripts
L'invité du dialogue de réunion lit le service de sécurité par département réponse sous membresByDepartment (il a lu le niveau supérieur, n'a rien trouvé et jamais montré un piqueur lorsqu'il est ouvert sans liste de membres). Une invitation d'IA porte la puce AI et apporte l'indice joint par lui-même de chaque entrée point: le centre d'interaction et la liste des membres passent le drapeau, et un membre présélectionné d'une conversation ou d'une carte de membre est signalé à partir du liste. Le sujet de l'invitation est envoyé en tant que titre de la réunion. Historique de la réunion est offert avec VIEW MEETINGS et passe par navIntent. Enregistrement les paramètres obtiennent le commutateur de transcription de compagnon AI, en dehors de l'enregistrement bloc; rencontrer les conseils de réglage rencontrent WCAG AA contraste.
· KlusterServices
Kamo Meet bridge — Transport et terminal Jigasi, ligne PIN sur 7800, entrée de confiance pour les membres AI
Aucun texte dactylographié par l'utilisateur ou l'appelant n'entre dans une expression dialplan: la chambre vérifie comparer les longueurs et les AI le nom de l'affichage est filtré avant qu'il ne soit testé (une citation dans un nom de chambre tapé pourrait autrement tourner la vérification faux et composez la chambre filtrée). L'en-tête du résolveur est réglé une fois, avant la boucle de réessayer PIN.
· kamo-internal
L'assistant transmet ses réponses, avec REST comme retour
L'assistant était REST seulement depuis avant KamoAI: son contexte WebSocket rapporté "connecté", n'ouvrit pas de socket, et posté chaque message, donc toute la réponse est arrivée à la fois. Il ouvre maintenant le /ws/ai-chat d'AIService sur api.<le domaine de l'org> avec une clé unique (/api/generate-otk?purpose=ws) et montre la réponse telle qu'elle est écrite : - les frames TOKEN s'infiltrent dans la bulle de réponse ; la réponse sauvegardée de MESSAGE COMPLETE (avec citations) le remplace, et un cadre sans texte garde ce qui est en streaming; - un TOOL RESULT classe le texte avant l'appel de l'outil et la ligne de l'outil, comme le dit la transcription lors du rechargement; - les messages vont un à la fois, donc deux réponses ne coulent jamais dans une bulle; cadres d'une autre la conversation sur la même prise est ignorée; - REST reste le retour lorsque la prise ne peut pas être ouverte (aucune clé, aucun hôte api, un refusé ou lent poignée de main); une prise qui tombe à mi-réponse la termine par une erreur au lieu de demander à nouveau; - la prise s'ouvre avec le premier message et se ferme après cinq minutes de silence. Le porte-place 501 /api/ai/ws, qui a dit que la prise ne pouvait pas être atteinte, est enlevé. SP99-T10.
· KlusterServices
Une sonde de poste de travail qui n'imprime jamais le jeton MCP
L'acceptation de SP11 a lu le descripteur d'un poste de travail d'IA et sondé son MCP bridge à la main, et une ligne de diagnostic imprimé un jeton au porteur vivant dans un transcription de la séance (examen de la tâche 30 du SP11, conclusion 2). canary/workstation-probe.sh fait les deux. décrire les empreintes du descripteur avec le jeton est "<présent>" ou null (-- rafraîchir la menthe d'un nouveau); initialiser, les noms d'outil, le type d'une capture d'écran et un faux jeton d'un conteneur éphémère dans le pod de l'outil Plane, et chaque ligne qu'il imprime, erreurs incluses, est masqué. Le jeton vit dans une variable de shell et le La sonde est seulement stdin. Les tests faux kubectl avec un jeton connu et exécuter le a généré une sonde avec boucle contre un pont local.
· kamo-login
Envoyer une inscription universelle à sa caisse, ou pour créer son organisation
kamo-registre parc un plan d'inscription payé dans sp checkout plan, et le Les plans du site KamoUniverse sont les propres des univers (family premium, community starter, personal pro, ...). planCheckoutUrl seulement honoré starter-business, donc un acheteur qui venait de vérifier leur email et signé a été déposé sur l'écran de la maison au lieu de la caisse. planCheckoutUrl se déplace vers lib/planCheckout.ts et accepte le contrat partagé - Oui. Il transmet l'univers à **************** toujours l'univers du PLAN, puisque c'est l'échelle qu'il est vendu de — chaque fois que le plan appartient à la famille, à la communauté ou au registre personnel ou kamo garé sp checkout universe ; il efface ce cookie avec le plan et le code. Une inscription GRATUITE dans les parcs familiaux, communautaires ou personnels un univers et aucun plan. Sans ?next= explicite et sans annonce d'emploi, il atterrit maintenant sur /network/create?universe=<u> dans l'espace de travail, où la page de création présélectionne cet univers ; le cookie est utilisé. L'entreprise est la propre page de création Par défaut, une entreprise s'inscrit partout où elle l'a toujours fait. L'entonnoir d'affaires est inchangé: - Oui. les rendements **************** sans univers dessus. test/planCheckout.test.mjs pins it (node --expérimental-strip-types --test tests/*.test.mjs).
· kamo-register
Porter un plan d'univers et son univers à la caisse
Le site de KamoUniverse signe les gens comme - et ses plans payés sont les propres univers: famille - prime, communauté - starter, personal-pro et ainsi de suite. Le manipulateur d'achèvement uniquement garni starter-business-entreprise, donc chaque univers s'insistait qui avait choisi un paiement le plan a terminé l'inscription et n'a jamais été envoyé à la caisse. Le transfert se déplace dans lib/checkoutHandoff.ts et accepte le contrat partagé - (les plans gratuits n'ont besoin d'aucune caisse et ne ne garent rien). Il y a aussi des parcs Universel d'un univers valide, avec ou sans plan, depuis un L'inscription gratuite dans un univers doit encore atteindre "créer votre organisation" avec cet univers choisi, ce que fait aujourd'hui le kamo-login. attributs des cookies: mêmes et la règle du sommet comme avant, donc le kamo-login efface ce que ceci écrit. L'entonnoir d'entreprise est l'octet pour l'octet, ce qu'il était : L'entreprise écrit exactement les mêmes cookies. Garste de course:checkouts épinglez cela, et le reste du contrat. Une inscription qui nomme un univers le dit sous le compteur de pas : "Vous êtes le lancement d'un univers familial".
· kamo-internal
Demandez à l'univers à laquelle appartient l'organisation d'un client, et lisez les plans par type
La plate-forme vend maintenant quatre échelles de plan - Entreprises, Famille, Communauté et L'univers personnel et d'une organisation décide de celui qui est offert. /network/créate pose la question, une fois, où il appartient: uniquement lorsque l'organisation est créée directement dans le cadre de la plate-forme (la session l'organisation est de haut niveau), c'est-à-dire où la première organisation d'un client est Fabriqués. Partout ailleurs, la nouvelle organisation est une branche d'un client existant et SecurityService lui donne l'univers de ses parents, donc aucun cueilleur n'est montré et Non «univers» n'est envoyé. Le parent est lu à partir de /api/org/current plutôt que OrgContext de shell, qui sur l'hôte partagé commence comme la plate-forme et Cliquez sur quelqu'un qui crée une succursale de sa propre entreprise. Le sélecteur commence à recevoir une réponse - Business, ou n'importe quel autre site de KamoUniverse lien de transfert nommé - de sorte qu'il ne peut jamais bloquer un lancement. Un plan payant à partir de ce lien qui appartient à l'univers choisi est porté par l'intermédiaire de la facturation de l'Organisation NOUVEAU console avec le plan déjà sélectionné, clé sur l'adhésion du créateur Là. les manèges sur POST/api/sécurité/org seulement lorsqu'on lui a demandé; SecurityService analyse ce corps champ par domaine, de sorte que la clé est ignorée jusqu'à Le service de sécurité est conscient de l'univers. Les surfaces du plan comparaient les codes: «planCode et 'FREE') (MyPlanWidget, PlanUpgradeDelta, PlanStandingHero, /myplan) et « ENTERPRISE » (AbonnementOrderWizard). Sur une organisation familiale, il n'y a pas de LIBRE, son L'étage est FAMILY-FREE, donc la page n'a trouvé aucun plancher pour mesurer un procès contre et a offert le plan gratuit en tant que mise à niveau. Ils demandent maintenant planLadder: la parole est plan-type GRATUIT ou un code qui le nomme (toute réponse donnée avant est conservée), et un plan négocié est ENTERPRISE ou 'UNIVERSE-ENTERPRISE. La facturation La console était déjà pilotée par le catalogue et n'avait besoin de rien. /myplan montre l'univers de l'organisation comme une puce en lecture seule sur la ligne d'org. Un univers absent - chaque organisation créée avant les univers - se lit comme Entreprises (universeOrDefault). Clés: kamo-traduction-dictionary 1fcb6274 (poussié en premier).
· APIService
Le catalogue d'abonnement public prend l'univers
Le site de KamoUniverse présente les échelles familiales, communautaires et personnelles, et le catalogue public proxy n'achemin que l'emplacement, de sorte qu'il ne pourrait jamais revenir que les plans d'entreprise. et maintenant en avant un univers optionnel (lettres seulement; toute autre chose est un 400 avant qu'il n'atteigne le chaîne d'interrogation en amont). SecurityService décide de ce qu'il nomme et lit un absent un comme entreprise, donc kamocrm.com, qui n'en envoie pas, obtient la même en amont URL et les quatre mêmes plans qu'auparavant.
· BillingService
La console de facturation vend une organisation aux plans de son propre univers
KamoUniverse ajoute des échelles familiales, communautaires et personnelles à côté de l'entreprise, et BillingService a supposé un catalogue unique: "le plan libre" était le code GRATUIT, Le code ENTERPRISE était "négocié" et le marché était le premier de la racine. - resolveBillingMarketId: a Family/Community/Personal orgg buys from its universe marché (KamoFamily, ...), donc la console liste cette échelle seulement. Entreprises inchangé. - créer/actualiser refuser un plan d'un autre univers que l'ordonnance cible, donc a Famille ne peut pas afficher le marché KamoCRM et acheter l'échelle des entreprises. - Les contrôles en plan libre sont effectués par type de plan (FAMILY-FREE, ...) ou par le code GRATUIT de l'entreprise; un procès expiré ou un plan caduc retombe au plan libre de l'univers d'org. - Plafonds de siège : les entreprises conservent "25 sur tout plan, Entreprise au-dessus de"; le nouveau les échelles coiffent chaque plan à son propre compte de siège et pointent au format suivant, avec seulement le plan négocié non coiffé (Personal n'en a pas: Pro's 5 est la fin). - EnterprisePlanGuard garde chaque plan - plan de type CUSTOM sur l'organisation de la plate-forme; pas seulement l'unique ENTREPRISE codée. - Les add-ons partagés (courrier, téléphone, stockage) classés sous le marché KamoCRM sont les suivants: cotée sur un marché de l'univers lorsqu'il est compatible avec ses plans, et une entreprise la promotion n'est pas annoncée sur un marché de l'univers. Les DTO du plan comportent des "universes". Besoin de l'UniversePlans de la kamo-shared-library (poussié en premier).
· SecurityService
Les organisations sont créées dans un univers de KamoUniverse et Bill d'un projet de loi à partir de son catalogue.
KamoUniverse vend des échelles de planification commerciale, familiale, communautaire et personnelle amporerie de plate-forme. SecurityService décide de l'évolution d'une organisation, et chaque endroit qui a supposé "le plan libre" ou "Enterprise" demande maintenant par univers. - POST/api/security/org prend un "univers" facultatif (entreprise et famille) communauté personnelle, insensible aux casstes; inconnue est un 400). Absent, une branche hérie de sa société mère, à moins que le parent ne soit la plate-forme ou un produit de plate-forme; sinon BUSINESS (en stocké nul, comme chaque org existant). - Charges utiles d'org (/org/current, /org/-id-, /org/domain/-host-, /org/ref/ref-) carry "universe" par l'intermédiaire de l'entité; les rangées / réseaux (mes réseaux, tous les réseaux) le porter aussi. "BUSINESS" pour chaque groupe qui précéderait les univers. - /pos/subscription-catalog et /pos/subscription-promotions prennent ?universe. Absent est ENTREPRISE, donc kamocrm.com et le mandataire du public voient exactement la catalogue. Les prix de la liste sont retenus dans tous les plans de type PERSONOM, et pas seulement l'ENTREPRISE codée. - EntitlementService: le Free floor est le plan libre de l'univers de l'organisation des membres (a l'étage de la famille ne porte plus le CRM); un essai accorde l'intégralité du catalogue pour ACTIVITÉS comme avant et le niveau le plus élevé de l'univers ailleurs. - BillingSetupService enseignant un nouvel organisme sur le plan libre de son univers, en ce sens que le marché de l'univers (KamoFamily, ...), au lieu de GRATUIT dans KamoCRM. Besoin de kamo-shared-library UniverseType / UniversePlans (poussés en premier).
· InitializerService
Les catalogues familiaux, communautaires et personnels à côté de l'échelle des affaires de KamoCRM
KamoUniverse vend quatre catalogues du tableau du plan unique de la plate-forme. C'est ce que arracher le schéma et les données des trois nouveaux. - UniverseColumnsMigration (-Ordon 0): orgs.universe-type et Induct inidabilité, pas de défaut - nul est ACTIVITÉS, donc rien n'est remblayé et aucune ligne existante ne change de sens. - UniverseCatalogMigration (-Ordon 50), insérer-if-manquant et portée par org-id: les marchés de KamoFamily/ KamoCommunity / KamoPersonal SUBSCRIPTION; les douze plans (FAMILY, COMMUNITY, PERSONAL) avec l'univers-type et un caractère explicite marché-id, donc KamoCRMMarketBackfillLoader ne les absorbe jamais dans KamoCRM; leur prix mensuel/annuel/triennier par siège; UTILISATEURS (plafond du siège, illimité sur le plans négociés) et STOCKAGE (4 GB/siège); le courrier et le téléphone "Add-on" lignes; compatibilité pour les cinq add-ons que chaque plan peut acheter (les deux courriers, les deux téléphone, stockage supplémentaire); et la bande de 51,5-250 de la Communauté Premium, avec une réduction de 15 %. - UniversePackages: qui appli à chaque nouveau plan comprend, lu par les deux (l'autorité, qui écrit les lignes) et Ils ne peuvent donc pas être en désaccord. Pas de CRM sur les échelles familiales ou personnelles; le courrier, les systèmes d'origine, les dossiers des patients et Hébergé des ordinateurs sur aucun niveau d'univers. - Les modules complémentaires d'origine/EHR/Hosted Computers sont rendus compatibles avec BUSINESS les plans négociés uniquement lors de la première création, jamais les plans familiaux/communautaires. - La règle du test de totalité "les enfants du commerce sont assis exactement avec POS" est la suivante: l'historique de l'échelle des entreprises; il vérifie désormais les codes des entreprises, et un nouveau contrôle continue chaque niveau de l'univers en regroupant un enfant du commerce sans POS.
· kamo-shared-library
Les organisations et les plans appartiennent à un univers KamoUniverse
KamoUniverse vend la plateforme à quatre publics - Entreprise, Famille, Communauté, Personnel - chacun sur son propre plan d'échelle avec des colis qui l'adaptent (une famille n'obtient pas CRM). Rien ne peut dire à part ces catalogues: chaque org a résolu son sol libre à partir du plan de la racine codé GRATUIT, qui inclut le CRM et applique tout ce que Ordonnance paie, de sorte qu'une organisation familiale aurait détenu le CRM pour toujours. - UniverseType (BUSINESS 1, FAMILY 2, COMMUNAUTAIRE 3, PERSONNAL 4) persisté par id via UniverseTypeConverter (inconnu id lit null), JSON par nom. Null Moyenne ACTIVITÉS partout; les entreprises continuent d'être stockées comme nulles. - Organisation.universe (orgs.universe-type) et SubscriptionPlan.universe - les deux nuls. Organisation getter ne retourne jamais nul, donc chaque charge utile d'orgge dit "univers": "BUSINESS" pour les orges qui l'ont précédé. Les colonnes ont été ajoutées et vérifiées à Yugabyte par L'Univers de KamoInitializer UniverseColumnsMigration avant que cela ne soit poussé. - UniversePlans: aide pure (pas de nouveau haricot) pour un plan libre de l'univers, top tier, plan négocié et plafond de siège en libre-service. - Le sol libre est libre l'univers de l'org plan; un essai accorde tout pour les BUSINESS (inchangé) et l'univers le haut niveau ailleurs. - univers) / getPromotions(..., univers): plans filtrés à l'univers (nulle et BUSINESS), ajouts/ensembles/promotions élagués à ceux qui nomment ses plans; une querelle ne nommant aucun plan n'est question que pour les entreprises. Pour ENTREPRISE, le résultat est exactement le catalogue pré-universel. Plan DTO carry "univers".
· KlusterServices
Dev.kamouniverse.com est à l'adresse www.
Le site est en direct sur www.kamouniverse.com, de sorte que son hôte avant le lancement cesse de le desservir et 301 pour https://www.kamouniverse.com avec chemin et interrogations conservés, donc les liens existants continuent à fonctionner. A redirectRegex middleware le fait (kamo-nowww uniquement canonicalise un apex nu); priorité 300 outranks la propre IngressRoute du site, qui laisse tomber le dev dans un suivi. Le dev cert séjourne dans STATIC-DOMAINS donc https liens toujours en cours.
· kamo-register
Register.kamouniverse.com porte la marque KamoUniverse
register.kamouniverse.com est la porte d'inscription KamoUniverse de la plate-forme. Il est la résolution de l'hôte à l'organisation de la plate-forme, de sorte que la recherche par le parachute serait répondez "crm" et peignez le logo, les couleurs, le titre et le favicon de KamoCRM. Un sommet de plate-forme avec une marque de sa propre liste maintenant directement son dossier de thème: kamouniverse.com - public/kamouniverse/ (réservé comme un alias en SecurityService, provisionné dans le casier-sorthème). getThemePath répond synchrone donc la première peinture est déjà correcte, et la recherche de l'hôte est Sauté là. A ?orge peint toujours la propre marque de cette organisation. Les noms de pilules "Powered by" et relie KamoUniverse sur ce sommet, et l'analyse count register.kamouniverse.com à côté de register.kamocrm.com (portes plates-formes) uniquement; le nom d'hôte les maintient séparables). Même changement que celui de kamo-login.
· kamo-login
Login.kamouniverse.com porte la marque KamoUniverse
login.kamouniverse.com est la porte de signalisation KamoUniverse de la plate-forme. Son hôte décide à l'organisation de la plate-forme, de sorte que la recherche par l'hôte répondrait "crm" et peignez le logo de KamoCRM, les couleurs, le titre et le favicon. Une plate-forme apex avec une marque de son propre nomme maintenant son dossier de thème directement: kamouniverse.com - public/kamouniverse/ (réservé comme alias dans SecurityService, provisionné dans le seau à thème). getThemePath répond de manière synchrone, la première peinture est déjà correcte, et la recherche de l'hôte est Sauté là. Une ?orge peint toujours la propre marque de cette organisation, sur cette porte comme sur n'importe quelle autre. Les noms de pilules "Powered by" et relie KamoUniverse sur ce sommet, et l'analyse count login.kamouniverse.com à côté de login.kamocrm.com (portes plates-formes uniquement; le nom d'hôte les maintient séparables).
· SecurityService
Kamouniverse.com est une plateforme apex, pas un domaine locataire
login.kamouniverse.com et register.kamouniverse.com deviennent la plateforme Portes d'inscription et d'inscription KamoUniverse, soutenues par une ligne org domaines racine sur l'organisation de la plateforme à côté de kamocrm.com. Juge contre kamocrm.com seul, cet hôte se résolve à l'organisation de la plate-forme et prend Chemin HOST-SCOPED : seuls les membres de la plateforme pouvaient s'y connecter, ?org= a été ignoré, et un membre de tout autre espace de travail a été refusé. PlatformApexes détient la liste (kamo.platform.apexes, par défaut) kamocrm.com, kamouniverse.com; kamo.platform.apex reste le PRIMARY): - isPlatformHost: chaque plate-forme apex offre le sélecteur d'espace de travail. - L'hôte de l'espace de travail pour une organisation sans domaine est interne.<apex primaire> quelle que soit la porte à laquelle le mot de passe a été tapé — chemin de mot de passe, la session/sélection du sélecteur, et après un second facteur. L'organisation de plate-forme elle-même atterrit toujours sur internal.kamocrm.com (OrgDomains.préféré: kamocrm.com trie d'abord). - OrgNetworkEnterPolicy saute les lignes apex de plate-forme, donc une ligne racine de plate-forme en attente de certificats ne peuvent plus marquer la plate-forme "mise en place incomplète" en remportant la course de premier rang sans ordre. - Dossiers spéciaux Kamo de DomainController et SPF / DKIM / Les avis du DMARC reconnaissent *.kamouniverse.com comme ils le font *.kamocrm.com. - "kamouniverse" est un alias réservé: c'est le dossier thème que ces deux la peinture des portes, et une organisation la tenant réécrirait avec sa première marque.
· kamo-marketing
Laissez les visiteurs parler au chat et laissez le micro et allumez les mains libres
Le widget de chat hébergé (1.3.1) peut prendre des questions orales et lire ses réponses à haute voix. Deux choses se trouve entre elle et www.kamocrm.com: - Autorisations-Policy dit microphone (), qui refuse le micro à chaque cadre, y compris celui-ci; document, où 'kamo-chat', le widget détecte cela et cache entièrement son bouton micro. Il s'agit maintenant d'un microphone (soi-même): cette origine, les trames tierces intégrées restent bloquées, et le navigateur demande toujours au visiteur avant que tout son ne soit capturé. - L'encastré passe maintenant la voix. "hands-free" (mic dans le compositeur, une conversation mains-libre toggl et read-aloud), plus l'emplacement de la page, donc un visiteur on /es est écouté et répondu dans Espagnol plutôt que par défaut d'org.
· KlusterServices
Amener www.kamouniverse.com en direct; apex passe par kamo-nowww
KamoUniverse est maintenant le principal site de marketing. www.kamouniverse.com s'arrête 301 www.kamocrm.com et est servi par l'application kamouniverse-marketing (son propre IngressRoute, Host(www.kamouniverse.com) à la priorité 100 - au-dessus de la kamo-marketing - attrape-tout). Le nus apex route maintenant vers kamo-nowww, qui 308 est à l'adresse https://www.kamouniverse.com et passe ACME HTTP-01 remet en question, exactement comment kamocrm.com atteint www.kamocrm.com; la route http keeps à l'exclusion /.well-known/acme-challenge/ ainsi cert-manager's solver répond toujours aux renouvellements. L'intergiciel de redirection kamouniverse-to-kamocrm est passé du fichier; traefik/routes/- n'élagage pas, il est donc supprimé du cluster à la main après ce déploiement. Les quatre domaines d'audience sont déjà transmis à www.kamouniverse.com, de sorte qu'ils atterrissent maintenant sur le site. dans un saut au lieu de deux.
· KlusterServices
Certificats pour chaque hôte de la plateforme sur kamouniverse.com
login.kamouniverse.com et register.kamouniverse.com deviennent la plateforme KamoUniverse signe et portes d'inscription, et d'eux un visiteur atteint thème., capcha., api., interne. et le reste. Aucun de ces hôtes n'a un Certificat aujourd'hui, Traefik leur répond avec le défaut kamocrm.com Et le navigateur refuse la page. thème., capcha. et médias. ne sont que des ressources secondaires et ne peuvent pas démarrer leur certificat propre par le biais de l'analyse d'access-log, et de la plateforme la rangée kamouniverse.com org-domains ne peut être portée qu'une seule fois L'hôte KnownAliases est certifié, de sorte que les 13 étiquettes sont listées plutôt que attendre sur la circulation.
· kamo-shared-library
Rencontres téléphoniques en télémétrie AI CALL — gentille, id de réunion, REMOVED, événements de réunion
AiCallKind {PHONE, REUNION} et AI CALL.KIND / REUNION ID (SP14 DDL - Oui. Ai CallOutcome.REMOUVÉ, les quatre les types d'événements et le chercheur d'appels en direct. SP13 Entités d'AiCall Teste maintenant la liste des deux colonnes SP14 et du nouveau chercheur.
· KlusterServices
Run IBM Granite 4.0 H-Tiny à la place de qwen3:4b, sur 16 carottes
Le propriétaire a demandé un modèle local qui fonctionne sensiblement mieux sur les k3m1 AVX2-seulement Xeons (2026-09-27, décision SP01-LLM-granite4). granit4:tiny-h est un Munga-2/transformateur hybride MoE (7B total, 1B actif): plusieurs fois qwen3:4b prompt et répondre à la vitesse sur CPU, l'appel d'outil natif, et pas de passe-pensée. - postStart tire le granite4:tiny-h; - Limite de l'unité centrale 8 - 16 (LLAMA-ARG-THREADS) suit la demande 2 - 4; - OLLAMA-CONTEXT-LENGTH 8192 - 16384 (les pas d'agent passent de 3 à 5k jetons); - OLLAMA-FLASH-ATTENTION-1. La mémoire reste 8Gi.
· kamo-internal
Expliquer l'activité d'IA sur l'en-tête principal (SP10)
· kamo-internal
La salle de l'IA et banc de travail, cadran d'autonomie, les pistes et les répétitions (SP10)

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