Direkt zum Inhalt
KAMOUniverse

Changelog

Was ist neu?

Jede Verbesserung an der Plattform, wie sie geliefert wird.

  1. · kamo-internal

    Plattform-Links auf dem primären APex, und die Plattform namens KamoUniverse

    Links die für die Plattform generierte App sind von PLATFORM_APEX aufgebaut, so dass sie dem primären folgen apex (kamouniverse.com). Jeder bereits ausgehändigte Link von kamocrm.com funktioniert weiter, denn beides apexes servieren die gleiche Sache - verifiziert: identisch ETag für die APK und der Chat-Loader auf beiden Themen Gastgeber, der gleiche DAV 401 ("Kamo Kalender") auf beiden Api-Hosts: - das KamoMobile installieren QR und Link, der Web-Chat Einbett-Snippet, die CalDAV/CardDAV Server URL und SRV-Ziel und die Beispielwerte in den Redakteuren für Vereinbarung und E-Mail-Vorlage. Wo die App für die Plattform spricht und nicht für einen Mieter, der Name der Plattform ist KamoUniverse, einmal in app/lib/platformBrand.ts gehalten: die Fallback-Organisation des Wurzellayouts, das Laden und /validate logo alts, die Email-Vorlage-Editor's org-name Fallbacks, die Outbound-Host Route Diagramm, die Bulk-Relais-Preset und der User-Agent des Bild-Proxys. Die juristische Person bleibt "KamoCRM Inc". (Firma in Contact Sales, die "<org- Inc". Vorlage Fallbacks). Organisationserstellung Vorschauen KamoUniverse.com/o/<alias, und ein Test hält diese Anzeigeform zu der eigentliche Aff. Kontakt Verkaufsnamen Sales@KamoUniverse.com: kamouniverse.com mail ist live und landet in der kamocrm.com Mailbox (RCPT sales@kamouniverse.com antwortete 250; nichts wurde gesendet).

  2. · kamo-internal

    Erkennen Sie beide Plattform-Anpexe, wo immer die App erzählt eine Plattform Host von einem Mieter

    kamouniverse.com ist jetzt die Plattform primären Höhepunkt und kamocrm.com bleibt vollständig serviert, so dass jeder überprüfen, die fragt "ist dies einer der Hosts der Plattform?" hat zu beantworten, ja für beide, durch ganze Etikett: - proxy.ts: auf einer Plattform hosten die img-src Namensthema.<apex&gt; und *.<apex&gt; für JEDE Plattform apex. intern.kamouniverse.com (heute live) blockiert jedes gespeicherte themen.kamocrm.com Bild, und internal.kamocrm.com würde das theme.kamouniverse.com URLs blockieren, bauen Server auf dem primären apex. Die eigene Spitze eines Mieters benennt immer noch nur sich selbst. - networkModel.isCustomDomain, das FirstOrgCta jetzt anstelle einer Kopie wiederverwendet: acme.kamouniverse.com Lesen Sie als eigene Domain, so Enter geöffnet ************ - kein solcher Host. - OrgOAuthAppSektion: ein Callback auf api.kamouniverse.com wurde als die eigene Domain der Org beschrieben. - LeadVendorManager: SecurityService baut sich an.<primary apex&gt; für eine Org ohne Domain und die Überprüfung kannte nur apply.kamocrm.com, so dass sich das Formular der Plattform als der eigene Host der org las. - /api/org/[...domain]: der Client-Credentials-Eintrag der Plattform existiert unter jedem Plattform-Apex. - next.config allowedDevOrigins und der CSP Image-Host Guard akzeptieren auch kamouniverse.com. Auf gebaut ist PlatformHost / PLATFORM_APEXES von app/lib/platformApex.ts; keine neue Liste von apexes.

  3. · kamo-internal

    Erkennen Sie beide Plattform-Anpexe, wo immer die App erzählt eine Plattform Host von einem Mieter

    kamouniverse.com ist jetzt die Plattform primären Höhepunkt und kamocrm.com bleibt vollständig serviert, so dass jeder überprüfen, die fragt "ist dies einer der Hosts der Plattform?" hat zu beantworten, ja für beide, durch ganze Etikett: - proxy.ts: auf einer Plattform hosten die img-src Namensthema.<apex&gt; und *.<apex&gt; für JEDE Plattform apex. intern.kamouniverse.com (heute live) blockiert jedes gespeicherte themen.kamocrm.com Bild, und internal.kamocrm.com würde das theme.kamouniverse.com URLs blockieren, bauen Server auf dem primären apex. Die eigene Spitze eines Mieters benennt immer noch nur sich selbst. - networkModel.isCustomDomain, das FirstOrgCta jetzt anstelle einer Kopie wiederverwendet: acme.kamouniverse.com Lesen Sie als eigene Domain, so Enter geöffnet ************ - kein solcher Host. - OrgOAuthAppSektion: ein Callback auf api.kamouniverse.com wurde als die eigene Domain der Org beschrieben. - LeadVendorManager: SecurityService baut sich an.<primary apex&gt; für eine Org ohne Domain und die Überprüfung kannte nur apply.kamocrm.com, so dass sich das Formular der Plattform als der eigene Host der org las. - /api/org/[...domain]: der Client-Credentials-Eintrag der Plattform existiert unter jedem Plattform-Apex. - next.config allowedDevOrigins und der CSP Image-Host Guard akzeptieren auch kamouniverse.com. Auf gebaut ist PlatformHost / PLATFORM_APEXES von app/lib/platformApex.ts; keine neue Liste von apexes.

  4. · DocsService

    Die Karriere-Website der Plattform ist careers.kamouniverse.com, und careers.kamocrm.com hält seinen Vorstand

    kamouniverse.com ist der primäre Höhepunkt der Plattform; kamocrm.com bleibt ein voll servierte Vermächtnis-Apx. - careers.platform-apex (wo eine Stellenanzeige, der Erhalt eines Bewerbers, Talent-Alert-Brief und ein Netzwerk-Board-Kartenpunkt für eine Organisation mit keiner Live-Domain der eigenen) jetzt standardmäßige ************ in allen fünf Klassen und k8s/configmap.yaml setzt es auf kamouniverse.com explizit, damit der laufende Wert nicht wartet auf einem Wiederaufbau. careers.kamouniverse.com dient mit einem gültigen Zertifikat und löst auf die Plattform Organisation genau wie careers.kamocrm.com tut. - CareersPublicController hat die Karriereseite der Plattform durch die ONE anerkannt konfiguriert apex, so dass die Bewegung der Einstellung würde die Cross-Or genommen haben Netzwerk-Board weg von careers.kamocrm.com (a 404, fail-closed). Es jetzt akzeptiert Karrieren.<jede PlatformDomains apex" plus die konfigurierte, Vergleichen der gesamten Spitze so careers.acme.kamocrm.com und careers.evil-kamocrm.com wird immer noch abgelehnt. Prüfungen: ************ Pins beide Türen und die Doppelgänger; DocsAliasHostTest gewinnt die kamouniverse.com-Fälle für die aliasgroup1 Änderung in fab3d80; die drei Link-Tests, die die Plattform-Konsole Fallback jetzt erwarten internal.kamouniverse.com, das ist, was OrgLinkHosts antwortet seit kamo-shared-library 0e8cf90f. mvn clean test: 848 Run, 0 Ausfälle.

  5. · SecurityService

    Kamouniverse.com ist der primäre APex, und eine Domain wird überprüft, wo es löst

    "Veränderte die Domain von kamocrm.com zu kamouniverse.com auf /setup/dns. Es sagte es es aber konnte nichts überprüfen, und nach einer Auffrischung sagte es noch kamocrm.com". Es gab drei Fehler. 1. Die Domäne der Org wurde alphabetisch ausgewählt. Die Plattform Org hält beide apexes als verifizierte Wurzeln, und kamocrm.com sortiert zuerst, so Links, Anmeldung, Behavior & Labeling und die DNS-Seite könnten niemals der Marke folgen. OrgDomains teilt jetzt Share-lib ************ der primäre Scheitel zuerst. PLATFORM_APEX ist kamouniverse.com. PlatformApexes ist kamouniverse.com,kamocrm.com, primäre erste, und jeder kamo.platform.apex default liest die Konstante. Domainless-Arbeitsplätze öffnen sich jetzt auf internal.kamouniverse.com von beiden Türen, und login.kamocrm.com behält arbeiten. Die Domains-Liste gibt auch primäreDomain und platformApexes, so die Seite stoppt das Re-Derivat. 2. Die Überprüfung verglich das Ziel eines CNAME mit dem wörtlichen "kamocrm.com". Jeder Host auf kamouniverse.com CNAMEs zu kamouniverse.com, so dass alle von ihnen gescheitert. So auch eine A-Platte direkt auf der Plattform und eine CNAME-Kette. überprüfenPointsAtPlattform ersetzt es überall: überprüfen-dns, beide DomainVerificationWatcher fegt, und die Bereitstellung Ziel. Es folgt der Host durch eine Aufzeichnung oder CNAME-Kette zu seinen endgültigen Adressen und vergleicht sie mit dem, was kamouniverse.com jetzt beschließt. Diese Adresse wird live gelesen und cached für 60er Jahre, mit der letzten guten Lektüre für eine Stunde gehalten, wenn eine Lektüre fehlschlägt; es ist nie konfiguriert. Ein streunende AAAA versagt den Scheck, weil Let's Encrypt bevorzugt IPv6. Eine unlesbare Plattformadresse, NXDOMAIN oder SERVFAIL anhängig, nie Fehler. überprüfen-dns gibt cnameTarget und platformAddresses so die Seite kann die A-Record-Alternative anbieten. 3. "Domain ändern" bedeutete, die Domain im Gebrauch zu löschen. Für eine Plattform-After abgelehnt (409 PLATFORM_APEX, a5bcbd2); die Seite hört auf, es anzubieten. Recognition bleibt add-only: ApplicationChatOriginService erlaubt Anwendung. auf beiden apexes, weil Kredit-Anwendung Links auf kamocrm.com leben in gesendeten E-Mails. apply.kamocrm.com hat keine DNS-Rekorde heute, so dass die Fallback-Link bewegen zu apply.kamouniverse.com (das dient) behebt auch Links, die tot waren.

  6. · KlusterServices

    Auto-Zert Pre-Themen Analytics, Desktop und myloan auf kamouniverse.com

    - STATIC_DOMAINS gewinnt analytics.kamouniverse.com, desktop.kamouniverse.com und myloan.kamouniverse.com, Zwillinge von kamocrm.com Hosts, die nur über einen Link erreichbar sind. Ein Host ohne Zertifikat nie erzeugt die Access-Log-Linie, die die dynamische Scan-Benötigungen benötigt.: kamo-internal Frames Analytics.<its own apex. desktop.: KamoDesktops neue Route. myloan.: SecurityService PortalUrls baut https://myloan.<live root", und die Die Live-Wurzel der Plattform ist jetzt kamouniverse.com. myloan hat noch keinen DNS-Rekord; Die Schleife überspringt es, bis der Besitzer den CNAME hinzufügt. - IMMER_ALLOW_APEXES Namen kamouniverse.com direkt neben kamocrm.com Hosts unter dem primären APC-Aufenthalt erlaubt, was auch immer STATIC_DOMAINS hält. - Kommentare und eine Logzeile hören auf, die statische Liste "kamocrm-spezifisch" zu nennen, und die SUBDOMAINS Notiz sagt, dass die Etiketten beide Plattform-Apexe servieren. Das Standard-Zertifikat (tls-kamocrm-com) ist absichtlich unverändert: es ist, was gegen den ein SNI-loser Client, der sich auf kamocrm.com beruft.

  7. · KlusterServices

    Servieren Desktop.kamouniverse.com, und bounce ein nackter computers.kamouniverse.com zu seinem Login

    desktop.kamouniverse.com hatte DNS, aber keine Route, so beantwortete es Traefiks 404 hinter dem Standard-Zertifikat. Es dient jetzt KamoDesktop durch Desktop-https-kamouniverse. Dieser Weg hat die gleichen vier Regeln, Prioritäten und Middlewares wie die Desktop.kamocrm.com Routen, verwendet tls: {], und bounces a Bare Besuch auf login.kamouniverse.com. Es lebt in traefik/routen/ weil Push to Desktop/ startet SecurityService neu, wiederholt die Guacamole Bootstrap Job und erneute Anwendung der KubeVirt VM. desktop.kamocrm.com ist unberührt. computers.kamouniverse.com wird über die Org-Domain-Routen bedient und ist es jetzt wo SecurityService sendet die Plattform Organisation, weil die Plattform ist Live-Wurzel-Domain ist kamouniverse.com. hc-to-login nur anerkannt computers.kamocrm.com, so dass ein nackter Besuch zeigte Guacamole Passwort-Box, die kann nie gelingen. Das neue hc-to-login-kamouniverse sendet es an login.kamouniverse.com. Jeder andere Organisation Gastgeber passt weder regex und verhält sich wie zuvor.

  8. · kamo-shared-library

    Kamouniverse.com ist der primäre Avorse der Plattform

    Die Marke zog von kamocrm.com zu kamouniverse.com, aber nichts die Plattform generierte, könnte folgen. Jede "Welche dieser Org-Domänen-Regel" rangiert nach die wenigsten Etiketten dann alphabetisch, so die Plattform Organisation, die beide hält apexes als verifizierte Wurzeln, kam immer als kamocrm.com. Änderung der Domain auf /setup/dns folglich nie genommen. PlatformDomains ist nun die eine Liste: PRIMARY_APEX kamouniverse.com, LEGACY_APEX kamocrm.com und ROOT_PREFERENCE, die den primären Apex an erster Stelle steht. OrgApiHosts, OrgThemeAssets und SecurityService OrgDomains teilen diese Regel. **************** der Gastgeber, auf den ein Link zurückfällt ohne eine eigene Live-Domain, ist der primäre Avorstreich. OrgApiHosts.PLATFORM_API_HOST bleibt absichtlich api.kamocrm.com. Die Plattform OAuth Apps sind dort in Google registriert, Microsoft und RingCentral Konsolen. Das Bewegen muss diese Konsolen zuerst geändert werden.

  9. · kamo-register

    Die Anmelde-Screens Credit KamoUniverse und fallen zurück auf seinen APx

    kamouniverse.com ist jetzt der primäre Achter der Plattform (kamocrm.com bleibt ein servierte Legacy-Apex): - Theme.tsx: PLATFORM_APEX, der Thema-Host verwendet, bevor der Browser kennt seine Host oder auf einem Host ohne Apulo, ist kamouniverse.com. Jeder echte Gastgeber noch fragt Thema.<its eigenen Afful. - RegisterFlow: die Server-Render-Platzhalter für den Anmeldelink und die org domain sind login.kamouniverse.com / kamouniverse.com. Der Browser ersetzt beides mit dem eigenen Login dieser Seite.<apex" auf dem Mount, wie zuvor. - "Powered by / Built on / Running on" Pillennamen KamoUniverse auf jeder Tür ohne eigene Affäre und Links zu www.kamouniverse.com Business-OS Seite und Produktlinie stehen für kamocrm.com's /product und / funktionsfähig, die diese Seite nicht hat). - Das Standard-Alt von ThemeLogo ist ein neutrales "Logo" (es malt das Logo eines der Org). - Der "Kontakt-Support" der sorry Seite ist support@kamouniverse.com: die Mail Stream verifiziert kamouniverse.com inbound ist live und aliased zu dem gleichen Briefkasten. Gepfiff: JAVA_API_BASE = api.kamocrm.com in den BFF Routen. Es ist die geteilte Plattform-API-Hosts (OrgApiHosts.PLATFORM_API_HOST bleibt) und ein Server-zu-Server rufen; api.kamouniverse.com Routen identisch, so bewegen es nichts kauft. Cookie Soping und die Kasse Hand-off sind Host-abgeleitet und unberührt.

  10. · kamo-login

    Der Anmelde-Bildschirm Credits KamoUniverse und fällt zurück zu seinem Appen

    kamouniverse.com ist jetzt der primäre Aspekt der Plattform (kamocrm.com bleibt ein servierte Legacy-Apex): - Theme.tsx: PLATFORM_APEX, der Thema-Host verwendet, bevor der Browser kennt seine Host oder auf einem Host ohne Appe (localhost), ist kamouniverse.com. Eine Seite Stöberte auf jedem echten Host immer noch fragt Thema.<its eigenen apex. login.kamocrm.com liest thematischen.kam.com. - "Powered by / Built on / Running on" Pille Namen KamoUniverse auf jeder Tür ohne eigene Scheinselmarke (weiße Mieter und das Vermächtnis kamocrm.com Tür) und Links zu www.kamouniverse.com. Diese Website hat keine /Produkt oder / Spielfilme, so dass diese Varianten gehen auf seine Business-OS-Seite und seine Produktlinie (beide verifiziert 200 in jedem Gebiet). Das KamoUniverse Die eigene Überleitung der Tür ist unverändert. - ThemeLogos Standard-Alt ist ein neutrales "Logo": das Bild ist, welches Organisation Logo der Bildschirm malt, so "KamoCRM Logo" war falsch für jeder Mieter. Die Themenmappe die kamouniverse.com Türfarben, Cookie-Skoping und die Checkout Hand-off sind Host-abgemeldet und unberührt.

  11. · kamo-internal

    Die Registerkarte und Abzeichen laden neu, wenn jemand schreibt eine Notiz auf der Leitung

    Die Lead-Kommunikation öffnet sich auf Alle, deren Timeline neu geladen, nur wenn dieses Mitglied eine Anmerkung von ihm, also eine Notiz von jemand anderem geschrieben (ein anderes Mitglied, ein Hot Reassign, ein KI-Mitglied Tool) benötigte noch eine Seite neu laden dort. useLeadNoteWritten folgt /topic/media/feed/<orgId? auf die gemeinsame Medienbuchse der Registerkarte, erfährt den Lead-Stream aus seinem Feed und ruft zurück (gekokalt, und nach einer Reconnect) für eine Notiz in diesem Strom; LeadCommunications lädt die Timeline und die Abzeichen zählt mit ihm.

  12. · kamo-internal

    Die Notizen eines Leads laden nach, wenn eine Notiz in einem eigenen Stream geschrieben wird

    MediaStream (eine Lead's Notes, der Clubhouse Feed) hörte auf /topisch/media/feed/<orgId' aber reagierte nur auf POST_CREATED/POST_UPDATED und nichts wurde jemals weitergeleitet. MediaService jetzt gibt die org media.feed-Ereignisse weiter, bei denen eine neue Notiz oder ein Beitrag COMMENT_ADDED seinen Stream benennt. Der Feed erinnert sich an den Stream, den er auflistet (der neue StreamGuid der Antwort, oder seine Beiträge guid) und lädt, leise, nur für eine Notiz in diesem Strom: eine Hot Reassign Note erscheint jetzt für eine andere Zuschauer der Führung ohne Reload. Die Regel ist app/lib/mediaFeedEvents.ts.

  13. · SecurityService

    Ein Feed benennt den Stream, den er auflistet (streamGuid)

    Der Feed des Browsers lädt nach, wenn /topic/media/feed/<orgId' sagt, dass eine Notiz in seiner eigenen geschrieben wurde Stream. Eine Führung ohne Notizen hat noch keinen Beitrag, dessen guid Namen, die Strom, so die erste Note Ein anderes Mitglied schrieb dort (eine Hot Reassign Note, typischerweise) konnte nie live erscheinen. GET /api/security/media/feed gibt jetzt streamGuid für den Lead Feed und den Org Feed zurück.

  14. · MediaService

    Relay media.feed.<orgId" zu /topisch/media/feed/<orgId", bewacht von org

    Ein neuer Beitrag oder Leitnotiz wird auf media.feed angekündigt.<orgId" und kamo-interne MediaStream (a Lead's Notes, der Clubhouse Feed) hört auf /topisch/media/feed/<orgId' - aber nichts eine an die andere weitergeleitet, so dass eine Notiz ein Mitglied schrieb (Hot Reassign enthalten) erschien für ein weiterer Zuschauer der Führung erst nach einem Reload. MediaFeedStompRelayController abonniert media.feed.* auf Core NATS ohne Warteschlangengruppe (jedes Pod liefert seine eigenen Steckdosen) und gibt nur eine numerische org-ID weiter. StompDestinationAuthz hütet jetzt das Thema wie das Social Feed: SUBSCRIBE nur durch die eigene Org der Session, ohne Client SEND.

  15. · KlusterServices

    Svc_media kann media.feed.* abonnieren, um den org Feed an den Browser weiterzuleiten

    SecurityService und MediaService geben einen neuen Beitrag oder Leithinweis auf media.feed bekannt.<orgId", und der Feed des Browsers (die Leitansicht ist Notizen, der Clubhouse Feed) hört auf /topic/media/feed/<orgId. Nichts verband die beiden: svc_media konnte media.feed veröffentlichen. nicht zu abonnieren, so dass kein Relais existieren könnte. MediaServices neuer MediaFeedStompRelayController abonnent media.feed.* (ein Token: die org id; media.feed.lead.* wird nicht weitergeleitet).

  16. · kamo-internal

    KI-Einladungen selbst beitreten; Treffen Geschichte Link; Keep-AI-Transkripte Einstellung

    Der Einladungssammler des Sitzungsdialogs liest die Nachteilung von SecurityService Antwort unter membersByDepartment (es las die oberste Ebene, fand nichts und nie zeigte einen Picker, wenn ohne Mitgliederliste geöffnet). Eine KI-Eingeladene trägt den KI-Chip und bringt den Joins-by-itself-Hinweis aus jedem Eintrag Punkt: das Interaction Center und die Mitgliederliste übergeben die Flagge und ein Mitglied Vorwählt aus einem Gespräch oder Mitgliedskarte wird von der Picker markiert Liste. Das Einladungsthema wird als Sitzungstitel versandt. Geschichte treffen wird mit VIEW_MEETINGS angeboten und geht durch navIntent. Aufnahme Einstellungen erhalten den KI-Begleiter Transkriptschalter, außerhalb der Aufnahme Block; Einstellungshinweise treffen auf WCAG AA Kontrast.

  17. · KlusterServices

    Kamo Meet Bridge - Jigasi Transport und Endpunkt, PIN-Einwahl unter 7800, vertrauenswürdiger Eintrag für KI-Mitglieder

    Kein vom Benutzer oder Anrufer geschriebener Text gibt einen Wählkopfausdruck ein: der Raum prüft die Längen des KIs Anzeigename wird gefiltert, bevor er getestet wird (ein Angebot in einem getippten Raumnamen könnte sonst den Check drehen falsch und wählen Sie den gefilterten Raum). Der Rechener-Header wird einmal gesetzt, vor der PIN-Retry-Schleife.

  18. · kamo-internal

    Der Assistent streamt seine Antworten, mit REST als Fallback

    Der Assistent war REST-only seit vor KamoAI: seine WebSocket Kontext berichtet "Vernetzt", öffnete keine Steckdose und postete jede Nachricht, so dass die ganze Antwort auf einmal ankam. Es öffnet AIService's /ws/ai-chat auf api.<org's Domain mit einem einmaligen Schlüssel (/api/generate-otk?purpose=ws) und zeigt die Antwort, wie sie geschrieben steht: - TOKEN Frames strömen in die Antwortblase; MESSAGE_COMPLETEs gespeicherte Antwort (mit seiner Zitate) ersetzt es, und ein Rahmen ohne Text hält, was gestreamt wird; - ein TOOL_RESULT ordnet den Text vor dem Tool-Aufruf und die Zeile des Werkzeugs ein, wie das Transkript liest auf Reload; - Nachrichten gehen eins nach dem anderen, so dass zwei Antworten nie in eine Blase strömen; Rahmen einer anderen Konversation auf der gleichen Steckdose wird ignoriert; - REST bleibt der Fallback, wenn die Steckdose nicht geöffnet werden kann (kein Schlüssel, kein api Host, eine verweigert oder langsam Handschlag); ein Sockel, der die Mitte-Antwort fällt, beendet es mit einem Fehler, anstatt wieder zu fragen; - der Socket öffnet sich mit der ersten Meldung und schließt nach fünf Leerlaufminuten. Der Platzhalter 501 /api/ai/ws, der besagte, dass der Sockel nicht erreicht werden konnte, wird entfernt. SP99-T10.

  19. · KlusterServices

    Eine Workstation-Sonde, die nie das MCP-Token ausdruckt

    Die Akzeptanz von SP11 las den Deskriptor eines KI-Arbeitsplatzes und erprobte dessen MCP Brücke von Hand, und eine diagnostische Linie gedruckt ein Live-Triger Token in eine Sitzungsprotokoll (SP11 Task 30 Review, Feststellung 2). canary/workstation-probe.sh tut beides. beschreibt den Deskriptor mit das Token als "<present" oder Null (--refresh mints a new one; Sonde Runs initialisieren, die Werkzeugnamen, der Typ eines Screenshots und ein falsches Token von einem ephemere Container in der Werkzeug-Flugzeug-Spode, und jede Zeile, die es ausdruckt, seine die mitgelieferten Fehler, wird maskiert. Das Token lebt in einer Schalenvariable und probe's stdin only. Die Tests gefälschte kubectl mit einem bekannten Token und führen die erzeugte Sonde mit Locken gegen eine lokale Brücke.

  20. · kamo-login

    Senden Sie eine Universum- Anmeldung zu seiner Kasse, oder um seine Organisation zu schaffen

    Kamo-register parkt einen kostenpflichtigen Anmeldeplan in sp_checkout_plan und die Die Pläne der KamoUniverse-Website sind die eigenen der Universen (family_premium, community_starter, personal_pro, ...). planCheckoutUrl nur geehrt starter|business|enterprise, also ein Käufer, der gerade seine E-Mail verifiziert hatte und angemeldet wurde auf dem Home-Bildschirm statt Kasse fallen gelassen. planCheckoutUrl geht zu lib/planCheckout.ts und akzeptiert den gemeinsamen Vertrag **************** Es leitet das Universum an **************** weiter immer das PLAN-Universum, da das die Leiter ist, von der es verkauft wird - wann immer der Plan gehört Familie, Gemeinde oder Persönliche oder Kamo-register geparkt sp_checkout_universe; es klärt dieses Cookie mit dem Plan und Code. Eine kostenlose Anmeldung in Familie, Gemeinschaft oder Personal Parks ein Universum und kein Plan. Ohne explizite ?next= und ohne Stellenanzeige, landet es jetzt auf /network/create?universe=<u? im Arbeitsbereich, wo die erstellende Seite vorwählt dieses Universums; der Cookie wird für den Gebrauch ausgegeben. Business ist die eigene Seite der erstellen Standard, so ein Business-Aktuation landet, wo immer es immer tat. Der Business-Trichter ist unverändert: ************ noch ergibt ************ ohne Universum darauf. test/planCheckout.test.mjs pins it (node --experimental-strip-types --testtests/*.test.mjs).

  21. · kamo-register

    Tragen Sie einen Universumsplan und sein Universum in die Kasse

    Die KamoUniverse Website zeichnet Menschen als **************** und seine bezahlten Pläne sind die eigenen der Universen: family_premium, community_starter, personal_pro und so weiter. Der Vervollständigungshandler nur geparkt starter|business|Enterprise, so dass jedes Universum Anmelden, die eine bezahlte gewählt hatte planen abgeschlossene Registrierung und wurde nie zur Kasse geschickt. Die Übergabe zieht in lib/checkoutHandoff.ts ein und akzeptiert den gemeinsamen Vertrag **************** (freie Pläne brauchen keine Kasse und parken nichts). Es parkt auch sp_checkout_universe von einem gültigen ?universe= mit oder ohne Plan, da kostenlose Anmeldung in ein Universum muss noch "Erschaffen Sie Ihre Organisation" erreichen mit diesem gewählten Universum, welches Kamo-Login jetzt auch. Gleiche Cookie-Attribute und apex Regel wie zuvor, so kamo-login klar, was dies schreibt. Der Business-Trichter ist Byte für eins, was er war: ?plan=starter|business| unternehmen[&code=] schreibt genau die gleichen Cookies. 'npm run guard:checkout pins, dass, und der Rest des Vertrages. Eine Anmeldung, die ein Universum benennt, sagt das unter dem Schrittzähler: "Du bist ein Familienuniversum beginnen".

  22. · kamo-internal

    Fragen Sie, zu welchem Universum die Organisation eines Kunden gehört, und lesen Sie Pläne nach Art

    Die Plattform verkauft jetzt vier Plan Leitern - Business, Familie, Community und Persönlich - und das Universum einer Organisation entscheidet, welches es angeboten wird. /network/create stellt die Frage einmal, wo es hingehört: nur, wenn Organisation wird direkt unter der Plattform erstellt (die Sitzung Organisation ist Top-Level), das ist, wo die erste Organisation eines Kunden ist gemacht. Überall sonst ist die neue Organisation eine Filiale eines bestehenden Kunden und SecurityService gibt ihm das Universum seiner Eltern, so dass kein Picker angezeigt wird und kein "Universum" wird gesendet. Der Elternteil wird von /api/org/current statt der gelesen Shell's OrgContext, der auf dem gemeinsamen Host als Plattform startet und blinken die Frage an jemanden, der eine Niederlassung seiner eigenen Firma. Der Picker startet beantwortet - Business, oder was auch immer die KamoUniverse Website Hand-Off-Link namens ************ - so kann es nie einen Start blockieren. Ein bezahlter Plan von dieser Verbindung, die zum gewählten Universum gehört wird durch die Abrechnung der NEUEN Organisation durch die NEUE/validate?next= Konsole mit dem Plan bereits ausgewählt, auf der eigenen Mitgliedschaft des Schöpfers da. Fahrten auf POST /api/security/org nur, wenn es gefragt wurde; SecurityService parsiert diesen Körper Feld für Feld, so dass der Schlüssel ignoriert wird, bis der universe-bewusste SecurityService landet. Die Planflächen verglichene Codes: "planCode === 'FREE" (MyPlanWidget, PlanUpgradeDelta, PlanStandingHero, /myplan) und "ENTERPRISE" (AbonnementorOrderWizard). Auf einer Familienorganisation gibt es keine FREI . Etage ist FAMILY_FREE - so dass die Seite keine Boden gefunden, um eine Studie gegen zu messen und bot den kostenlosen Plan als Upgrade an. Sie fragen jetzt planLadder: der Boden ist plan_type FREE oder einen Code, der ihn benennt (jede Antwort, die vorher gegeben wird, wird aufbewahrt), und ein ausgehandelter Plan ist ENTERPRISE oder <UNIVERSE&gt;_ENTERPRISE. Die Abrechnung Konsole war bereits kataloggesteuert und brauchte nichts. /myplan zeigt das Universum der Organisation als schreibgeschützten Chip auf der Org-Leitung. Eine abwesende "Universum" - jede Organisation, die vor Universen geschaffen wurde, liest sich wie Business (UniverseOrDefault). Schlüssel: Kamo-Translation-Wörterbuch 1fcb6274 (vorerst gedrängt).

  23. · APIService

    Der öffentliche Abonnement-Katalog nimmt ?Universum=

    Die KamoUniverse Website zeigt die Familien-, Gemeinde- und Personalplanleitern und der öffentliche Katalog Proxy nur weitergeleitet Lokal, so konnte es immer nur zurückgeben die Business-Pläne. ************ und ************ jetzt vorwärts ein optionales Universum (nur Buchstaben; alles andere ist ein 400, bevor es die stromaufwärts query string). SecurityService entscheidet, was es benennt und liest abwesend ein als Geschäft, so kamocrm.com, die keine sendet, bekommt die gleiche upstream URL und die gleichen vier Pläne wie zuvor.

  24. · BillingService

    Die Abrechnungskonsole verkauft einer Organisation ihre eigenen Universumspläne

    KamoUniverse fügt neben der Business-, Family-, Community- und Personalleiter hinzu, und BillingService nahm einen einzigen Katalog: "der freie Plan" war der Code GRATIS, "verhandelt" war der Code ENTERPRISE, und der Markt war der erste der Wurzel. - lösenBillingMarketId: eine Familie/Community/Personal org kauft aus seinem Universum Markt (KamoFamilie, ...), so dass die Konsole listet diese Leiter nur. Wirtschaft unverändert. - erstellen / aktualisieren verweigern Sie einen Plan aus einem anderen Universum als das Ziel org, so ein Die Familie kann nicht die KamoCRM Markt-ID veröffentlichen und die Leiter des Unternehmens kaufen. - Free-Plan-Kontrollen gehen nach Plan-Typ (FAMILY_FREE, ...) oder der Business FREE Code; eine abgelaufene Studie oder ein verfallener Plan fällt auf den Free Plan des Org-Universums zurück. - Sitzdecken: Unternehmen hält "25 auf jedem Plan, Enterprise oben"; die neue Leitern Kappe jeden Plan an seiner eigenen Sitzzahl und zeigen auf den nächsten Plan nach oben, mit nur dem ausgehandelten Plan ungedeckelt (Persönlich hat keine: Pro's 5 ist das Ende). - EnterprisePlanGuard bewacht jeden plan_type CUSTOM Plan auf der Plattform org, nicht nur das eine codierte ENTERPRISE. - Die gemeinsam genutzten Add-ons (Mail, Telefon, Speicherplatz) sind unter dem KamoCRM-Markt eingereicht auf einem Universumsmarkt gelistet, wenn kompatibel mit seinen Plänen, und ein Geschäft Förderung wird nicht auf einem Universumsmarkt beworben. Plan DTOs tragen "Universum". Needs kamo-shared-library's UniversePlans (vorerst geschubst).

  25. · SecurityService

    Organisationen werden in einem KamoUniverse Universum erstellt und Rechnung aus seinem Katalog

    KamoUniverse verkauft Business, Familie, Gemeinde und Personalplan Leitern von der Plattform org. SecurityService entscheidet, auf welcher Leiter eine Organisation steht, und jeder Ort, der "den freien Plan" oder "Enterprise" angenommen hat, fragt jetzt pro Universum. - POST /api/security/org nimmt ein optionales "Universum" (Geschäft | Familie | Gemeinschaft | persönlich, case-unsensitive; unbekannt ist ein 400). Abwesend, eine Filiale erbt die Eltern, es sei denn, der Elternteil ist die Plattform oder ein Plattformprodukt; sonst BUSINESS (gespeichert Null, wie jede vorhandene Org). - Org Nutzlasten (/org/current, /org/{id', /org/domain/{host', /org/ref/{ref]) tragen "Universum" durch die Entität; die /Netzwerkreihen (my-networks, all-Netzwerke) tragen Sie es auch. "BUSINESS" für jede Org, die aus der Zeit vor Universen besteht. - /pos/subscription-catalog und /pos/subscription-promotions nehmen ?universe=. Abwesend ist BUSINESS, so kamocrm.com und die öffentliche Proxy sehen genau heute Katalog. Die Listenpreise werden von jedem plan_type CUSTOM Plan einbehalten, nicht nur die eine codierte ENTERPRISE. - EntitlementService: die Freie Etage ist der Freie Plan des Mitglieds org Universums (a Die Etage der Familie trägt nicht mehr das CRM; eine Testversion gewährt den gesamten Katalog für BUSINESS wie zuvor und die Top-Tier des Universums anderswo. - BillingSetupService sät eine neue org auf den freien Plan seines Universums, in dem Der Markt des Universums (KamoFamilie, ...), statt FREI in KamoCRM. Needs Kamo-shared-library's UniverseType / UniversePlans (vorerst geschubst).

  26. · InitializerService

    Die Familien-, Gemeinde- und Personalkataloge neben der Geschäftsleiter von KamoCRM

    KamoUniverse verkauft vier Kataloge aus der Plattform org ein Plan Tabelle. Das landet das Schema und die Daten für die drei neuen. - UniverseColumnsMigration (@Bestellung 0): orgs.universe_type und ******************** nullable INT, kein Standard - null ist GESCHÄFT, also wird nichts verfüllt und keine vorhandene Zeile ändert die Bedeutung. - UniverseCatalogMigration (@Order 50), Insert-if-missing und scope by org_id: die KamoFamily / KamoCommunity / KamoPersonal SUBSCRIPTION Märkte; die zwölf Pläne (FAMILY_*, COMMUNITY_*, PERSONAL_*) mit universe_type und einem expliziten market_id, so KamoCRMMarketBackfillLoader nie absorbiert sie in KamoCRM; ihre monatliche/jährliche/dreijährige Preise pro Sitzplatz; USERS (Sitzobergrenze, unbegrenzt auf der ausgehandelte Pläne) und STORAGE (4 GB/Sitz) Reihen; die "Add-on"-Mail und Telefon Zeilen; Kompatibilität für die fünf Add-ons, die jeder Plan kaufen kann (beide Post, beide Telefon, zusätzlicher Speicherplatz); und Community Premium 51-250 Sitzband bei 15% Rabatt. - UniversePackages: welche Apps jeder neue Plan enthält, lesen Sie von beiden ************ (die Behörde, die die Reihen schreibt) und ****************, also können sie nicht widersprechen. Kein CRM auf die Familien- oder Persönlichen Leitern; Post, Ursprungssysteme, Patientenakten und Hosted Computers auf keinem Universum Ebene. - Die Add-ons der Ursprungs-/EHR/Hosted Computers werden mit BUSINESS kompatibel gemacht ausgehandelte Pläne nur, wenn sie zuerst erstellt wurden, nie die Familien-/Gemeinschaftspläne. - Die Totalitätsprüfung "Handelskinder sitzen genau mit POS"-Regel ist die Die Geschichte der Geschäftsleiter; sie überprüft jetzt Geschäftscodes, und eine neue Kontrolle hält jedes Universums-Stufe von der Bündelung eines Handelskindes ohne POS.

  27. · kamo-shared-library

    Organisationen und Pläne gehören zu einem KamoUniverse-Universum

    KamoUniverse verkauft die Plattform an vier Zielgruppen - Business, Family, Community, Persönlich - jeder auf seiner eigenen Planleiter mit Paketen, die es passen (eine Familie bekommt keine CRM). Nichts könnte diese Kataloge auseinander zu unterscheiden: jede Org löste ihre Free Floor von der root-Plan kodiert FREE, die das CRM enthält und gilt unabhängig von der org zahlt dafür, so dass eine Familie org das CRM für immer gehalten hätte. - UniverseType (BUSINESS 1, FAMILY 2, COMMUNITY 3, PERSONAL 4) durch ID beharrlich über UniverseTypeConverter (unbekannte id liest null), JSON mit Namen. Null bedeutet BUSINESS überall; Geschäft wird als Null gespeichert. - Organisation.universe (orgs.universe_type) und Abonnement.Universe **************** beide nullbar. Organisation getter gibt nie null zurück, also sagt jede Org-Niveload "univers:::BUSINESS" für die Orgs, die vor ihm datieren. Die Spalten wurden hinzugefügt und in Yugabyte von KamoInitializer's UniverseColumnsMigration bevor diese geschoben wurde. - UniversePlans: reine Helfer (keine neue Bohne) für den freien Plan eines Universums, Top-Tier, ausgehandelter Plan und Selbstbedienungssitzobergrenze. - ************ der Freie Boden ist der Org-Universum kostenlos Plan; eine Studie gewährt alles für BUSINESS (unverändert) und das Universum Top-Tier anderswo. - ************ Universum) / getPromotions(..., Universum): Pläne, die ins Universum gefiltert werden (null = BUSINESS), Add-ons/Bündeles/Promotions Beschnitten zu denen, die seine Pläne benennen; eine Reihe, die keinen Plan benennt, ist business-only. Für BUSINESS ist das Ergebnis genau der Pre-Universe-Katalog. Plan DTOs tragen "Universum".

  28. · KlusterServices

    Dev.kamouniverse.com weiter an www

    Die Seite ist live auf www.kamouniverse.com, so dass seine Pre-Launch-Host stoppt es und 301s zu dienen https://www.kamouniverse.com mit Pfad und Abfrage gehalten, so dass bestehende Links weiter funktionieren. A redirectRegex middleware macht es (kamo-nowww kann nur canonictalizes a bare apex); Priorität 300 übertrumpft die Website-eigene IngressRoute, die dev in einem Follow-up fällt. Das dev Zertifikat bleibt in STATIC_DOMAINS so https Links noch weiter.

  29. · kamo-register

    Register.kamouniverse.com trägt die Marke KamoUniverse

    register.kamouniverse.com ist die KamoUniverse Anmeldetür der Plattform. Seine Host beschließt, die Plattform-Organisation, so dass die by-Host-Lookup würde beantworten "crm" und malen Sie das Logo, die Farben, den Titel und das Favicon von KamoCRM darauf. Eine Plattform-Apose mit einer eigenen Marke benennt nun direkt ihren Themenordner: kamouniverse.com -öffentlich/kamouniverse/ (im Alias in zurückgehalten SecurityService, in der Theme-Eimer eingerichtet). getThePath antwortet es synchron, so dass die erste Farbe bereits richtig ist, und der Host-Lookup ist Dort übersprungen. Ein ?org= malt immer noch das eigene Branding dieser Organisation. Die "Powered by" Pille Namen und Links KamoUniverse auf diesem Achterschein, und Analytik zählt register.kamouniverse.com neben register.kamocrm.com (Plattformtüren nur; der Hostname hält sie trennbar). Dieselbe Veränderung wie die von kamo-login.

  30. · kamo-login

    Login.kamouniverse.com trägt die Marke KamoUniverse

    login.kamouniverse.com ist die Ein-Anmeldetür der Plattform. Sein Gastgeber löst auf die Plattform-Organisation, so dass die by-Host-Lookup würde antworten "crm" und malen KamoCRMs Logo, Farben, Titel und Favicon darüber. Eine Plattform-Apose mit einer eigenen Marke benennt nun direkt ihren Themenordner: kamouniverse.com -öffentlich/kamounivers/ (im Alias vorbehalten in SecurityService, in der Themenschaufel. getThePath beantwortet es synchron, so dass die erste Farbe bereits richtig ist, und der Host-Lookup ist Dort übersprungen. A ?org= malt immer noch das eigene Branding dieser Organisation, auf diese Tür wie auf jeder anderen. Die "Powered by" Pillennamen und verbindet KamoUniverse auf diesem Axt und Analysen zählt login.kamouniverse.com neben login.kamocrm.com (nur Plattform-Türen; der Hostname hält sie trennbar).

Euer Universum wartet.

Fügen Sie Produkte hinzu, wann immer Sie möchten – keine Migration, keine neuen Anmeldungen.

Für immer kostenlos – keine Kreditkarte erforderlich