Changelog
Qué hay de nuevo.
Cada mejora de la plataforma, a medida que se envía.
· kamo-internal
Enlaces de plataforma en el ápice primario, y la plataforma llamada KamoUniverse
Enlaces que la aplicación genera para la plataforma se construyen desde PLATFORM APEX, por lo que siguen la primaria apex (kamouniverse.com). Cada enlace kamocrm.com ya entregado sigue funcionando, porque ambos apexes sirven lo mismo — verificado: ETag idéntico para el APK y el cargador de chat sobre ambos temas hosts, el mismo DAV 401 ("Kamo Calendario") en ambos anfitriones api: - el KamoMobile instalar QR y enlace, el snippet de la cadena web, la URL del servidor CalDAV/CardDAV y Objetivo SRV, y los valores de ejemplo en los editores de acuerdo-templa y e-mail-template. Donde la aplicación habla por la plataforma en lugar de un inquilino, el nombre de la plataforma es KamoUniverse, celebrada una vez en app/lib/platformBrand.ts: la organización de retroceso del diseño raíz, la carga y /validate logo alts, el email-template editor's org-name fallbacks, la ruta outbound-host diagrama, el preset de relé a granel y el agente de usuario de la imagen proxy. La entidad jurídica permanece "KamoCRM Inc." (línea de empresa en ventas de contacto, la plantilla de "Seguridad de contacto"). La creación de la organización preve KamoUniverse.com/o/ierealias confiar, y una prueba sostiene que muestra el formulario a el verdadero ápice. Contacto Nombres de venta Sales@KamoUniverse.com: kamouniverse.com mail is live and lands en el buzón de correo kamocrm.com (RCPT sales@kamouniverse.com respondió 250; nada fue enviado).
· kamo-internal
Reconozca ambos ápices de plataforma dondequiera que la aplicación le diga a un anfitrión de plataforma de un arrendatario
kamouniverse.com es ahora el ápice primario de la plataforma y kamocrm.com se mantiene completamente servido, así que cada cheque que pregunta "¿es éste de los anfitriones de la plataforma?" tiene que responder sí para ambos, por etiqueta entera: - proxy.ts: en una plataforma acoge el tema de nombres img-src de la página. apex. internal.kamouniverse.com (en vivo hoy) bloqueó cada tema almacenado.kamocrm.com imagen, y interna.kamocrm.com bloquearía el tema.kamouniverse.com URLs servidores construir en la primaria Apex. El propio ápice de un inquilino todavía nombra solo a sí mismo. - networkModel.isCustomDomain, que FirstOrgCta ahora reutiliza en lugar de una copia: acme.kamouniverse.com read as a custom domain, so Enter opened **************** — ningún host. - OrgOAuthAppSection: a callback on api.kamouniverse.com was described as the org's own domain. - LeadVendorManager: SecurityService construye aplica. el cheque sólo sabía aplicar. kamocrm.com, así que el formulario de la plataforma se lee como el propio anfitrión del org. - /api/org/[...dominio]: la entrada cliente-credencial de la plataforma existe bajo cada ápice de plataforma. - siguiente.config permitidoDevOrigins y la guardia anfitriona CSP aceptan kamouniverse.com también. Construido en isPlatformHost / PLATFORM APEXES de app/lib/platformApex.ts; no hay nueva lista de ápices.
· kamo-internal
Reconozca ambos ápices de plataforma dondequiera que la aplicación le diga a un anfitrión de plataforma de un arrendatario
kamouniverse.com es ahora el ápice primario de la plataforma y kamocrm.com se mantiene completamente servido, así que cada cheque que pregunta "¿es éste de los anfitriones de la plataforma?" tiene que responder sí para ambos, por etiqueta entera: - proxy.ts: en una plataforma acoge el tema de nombres img-src de la página. apex. internal.kamouniverse.com (en vivo hoy) bloqueó cada tema almacenado.kamocrm.com imagen, y interna.kamocrm.com bloquearía el tema.kamouniverse.com URLs servidores construir en la primaria Apex. El propio ápice de un inquilino todavía nombra solo a sí mismo. - networkModel.isCustomDomain, que FirstOrgCta ahora reutiliza en lugar de una copia: acme.kamouniverse.com read as a custom domain, so Enter opened **************** — ningún host. - OrgOAuthAppSection: a callback on api.kamouniverse.com was described as the org's own domain. - LeadVendorManager: SecurityService construye aplica. el cheque sólo sabía aplicar. kamocrm.com, así que el formulario de la plataforma se lee como el propio anfitrión del org. - /api/org/[...dominio]: la entrada cliente-credencial de la plataforma existe bajo cada ápice de plataforma. - siguiente.config permitidoDevOrigins y la guardia anfitriona CSP aceptan kamouniverse.com también. Construido en isPlatformHost / PLATFORM APEXES de app/lib/platformApex.ts; no hay nueva lista de ápices.
· DocsService
El sitio de carreras de la plataforma es careers.kamouniverse.com, y careers.kamocrm.com mantiene su junta directiva
kamouniverse.com es el ápice primario de la plataforma; kamocrm.com mantiene un sirvió el ápice legado. - carreras.platform-apex (donde un anuncio de trabajo, el recibo de un solicitante, un carta de talento y punto de tarjeta de red para una organización sin dominio en vivo de su propio) ahora predeterminado a ************* in the five classes, and k8s/configmap.yaml lo establece a kamouniverse.com explícitamente para que el valor de funcionamiento no espere en una reconstrucción. careers.kamouniverse.com sirve con un certificado válido y resuelve a la organización de la plataforma exactamente como carreras. kamocrm.com lo hace. - CarrerasPublicController reconoció el sitio de carreras de la plataforma por la UNA apex configurado, así que mover el ajuste habría tomado el cross-org tablero de red lejos de carreras.kamocrm.com (a 404, no cerrado). Ahora acepta carreras.Seguido PlatformDomains apex confianza más el configurado, comparar todo el ápice así carreras.acme.kamocrm.com y careers.evil-kamocrm.com todavía se niegan. Pruebas: ¿Qué? pins ambas puertas y el look-alikes; DocsAliasHostTest gana los casos kamouniverse.com para los aliasgroup1 cambio en fab3d80; las tres pruebas de enlace que marcaron el plataforma-console fallback ahora espera interior.kamouniverse.com, que es lo que OrgLinkHosts responde desde la biblioteca con forma de kamo 0e8cf90f. prueba limpia mvn: 848 correr, 0 fracasos.
· SecurityService
Kamouniverse.com es el ápice primario, y un dominio es verificado por donde resuelve
"Cambió el dominio de kamocrm.com a kamouniverse.com en /setup/dns. Lo dijo. lo puso pero no pudo verificar nada, y después de un refresco aún dijo kamocrm.com." Había tres fallas. 1. El dominio de la org fue elegido alfabéticamente. El org de la plataforma sostiene ambos apexes como raíces verificadas, y kamocrm.com ordena primero, por lo que los enlaces, entrada, Comportamiento y etiquetado y la página DNS nunca podrían seguir la marca. OrgDomains ahora comparte coartada compartida ************** el ápice primario primero. PLATFORM APEX es kamouniverse.com. PlatformApexes es kamouniverse.com,kamocrm.com, primario primero, y cada kamo.platform.apex Por defecto lee la constante. Espacios de trabajo sin dominio ahora abiertos internal.kamouniverse.com desde cualquier puerta, y login.kamocrm.com mantiene trabajando. La lista de dominios también devuelve primarioDomain y plataformaApexes, por lo que la página deja de volver a conducirlos. 2. La verificación comparó el objetivo de un CNAME con el literal "kamocrm.com". Cada uno host on kamouniverse.com CNAMEs to kamouniverse.com, so all of them failed. También hizo un registro A directamente en la plataforma, y una cadena CNAME. verificarPointsAtPlatform lo reemplaza en todas partes: verificado-dns, ambos DomainVerification El reloj barre, y el objetivo de provisión. Sigue el host a través de cualquier cadena A record o CNAME a sus direcciones finales y compara con lo que kamouniverse.com resuelve ahora. Esa dirección se lee en vivo y caché para los 60, con la última buena lectura guardada durante una hora si una lectura falla; Nunca se configura. Un Estrecho AAAA falla el cheque, porque vamos a Encrypt prefiere IPv6. Una dirección de plataforma no legible, NXDOMAIN o SERVFAIL son pendiente, nunca error. check-dns devuelve cnameTarget y plataforma la página puede ofrecer la alternativa A-record. 3. "Cambiar dominio" significa eliminar el dominio en uso. Para un ápice de plataforma que es rechazado (409 PLATFORM APEX, a5bcbd2); la página deja de ofrecerla. El reconocimiento permanece solo: Aplicación ChatOriginService permite aplicar. en ambos apexes, porque los enlaces de solicitud de préstamo en kamocrm.com viven en correos electrónicos enviados. apply.kamocrm.com no tiene registro DNS hoy, por lo que el enlace de retroceso que se mueve a apply.kamouniverse.com (que sirve) también fija enlaces que estaban muertos.
· KlusterServices
Auto-cert pre-issues analytics, escritorio y myloan en kamouniverse.com
- STATIC DOMAINS gana análisis.kamouniverse.com, escritorio.kamouniverse.com y myloan.kamouniverse.com, gemelos de kamocrm.com hosts que se alcanzan sólo a través de un enlace. Un anfitrión sin certificado nunca produce la línea de acceso-log las necesidades de exploración dinámica. análisis.: kamo-internal frames analytics. Se realiza apex confianza. escritorio.: La nueva ruta de KamoDesktop. Myloan: SecurityService PortalUrls construye https://myloan. plataforma en vivo root es ahora kamouniverse.com. myloan no tiene registro de DNS todavía; el bucle lo salta hasta que el propietario añade el CNAME. - ALWAYS ALLOW APEXES nombres kamouniverse.com directamente al lado de kamocrm.com, así que los anfitriones bajo la estadía del ápice primario permitieron lo que tenga STATIC DOMAINS. - Comentarios y una parada de línea de registro llamando a la lista estática "kamocrm-specific", y la nota SUBDOMAINS dice que las etiquetas sirven ambos ápices de plataforma. El certificado predeterminado (tls-kamocrm-com) no cambia a propósito: es lo que un cliente sin SNI llamando kamocrm.com valida contra.
· KlusterServices
Servir escritorio.kamouniverse.com, y rebotar una computadora desnuda.kamouniverse.com a su login
escritorio.kamouniverse.com tenía DNS pero ninguna ruta, así que respondió Traefik 404 detrás del certificado predeterminado. Ahora sirve a KamoDesktop a través escritorio-https-kamouniverse. Esa ruta tiene las mismas cuatro reglas, prioridades y middlewares como las rutas de escritorio.kamocrm.com, utiliza tls: {}, y bounces a visita desnuda a login.kamouniverse.com. Vive en traefik/routes/ porque a push to desktop/ restarts SecurityService, re-runs the Guacamole bootstrap trabajo y vuelve a aplicar el KubeVirt VM. escritorio.kamocrm.com es intacto. computadoras.kamouniverse.com es servido por las rutas de org-dominio, y ahora donde SecurityService envía la organización de la plataforma, porque la plataforma dominio raíz vivo es kamouniverse.com. hc-to-login sólo reconocido computadoras.kamocrm.com, por lo que una visita rápida mostró la caja de contraseña de Guacamole, que nunca puede tener éxito. El nuevo hc-to-login-kamouniverse lo envía a login.kamouniverse.com. El anfitrión de cada organización no coincide con regex y se comporta como antes.
· kamo-shared-library
Kamouniverse.com es el ápice primario de la plataforma
La marca pasó de kamocrm.com a kamouniverse.com, pero nada de la plataforma los generadores podrían seguirlo. Cada regla "que de los dominios de esta org" clasificada por menor etiqueta entonces alfabética, por lo que la organización de la plataforma, que tiene ambas apexes como raíces verificadas, siempre salió como kamocrm.com. Cambiar el dominio en /setup/dns por lo tanto nunca tomó. PlatformDomains es ahora la única lista: PRIMARY APEX kamouniverse.com, LEGACY APEX kamocrm.com, and ROOT PREFERENCE, which ranks the primary apex first. OrgApiHosts, OrgThemeAssets and SecurityService OrgLos dominios comparten esa regla. ¿Qué? el host un enlace se vuelve para una org sin un dominio vivo propio, es el ápice primario. OrgApiHosts.PLATFORM API HOST deliberadamente permanece api.kamocrm.com. La plataforma Las aplicaciones OAuth están registradas allí en Google, Microsoft y RingCentral consolas. Mover necesita que esas consolas cambien primero.
· kamo-register
Las pantallas de registro acreditan KamoUniverse y vuelven a su ápice
kamouniverse.com es ahora el ápice primario de la plataforma (kamocrm.com mantiene un servido legado apex: - Theme.tsx: PLATFORM APEX, el host temático utilizado antes de que el navegador sepa host o en un host sin apex, es kamouniverse.com. Cualquier verdadero anfitrión todavía pide el tema. - RegisterFlow: el servidor-render marcadores para el enlace de inicio de sesión y el dominio org son login.kamouniverse.com / kamouniverse.com. El navegador reemplaza ambos con el propio login de este sitio. - "Powered by / Built on / Running on" pill names KamoUniverse on every door sin una marca de ápice propia y enlaces a www.kamouniverse.com página de negocio-OS y línea de productos para kamocrm. com /product y / características, que ese sitio no tiene). - El alt predeterminado de ThemeLogo es un "Logo" neutral (trata el logotipo de cualquier org). - El "Apoyo de Contacto" de la página lo sentimos es support@kamouniverse.com: el correo corriente verificada kamouniverse.com inbound es en vivo y aliado a la misma buzón de correo. Kept: JAVA API BASE = api.kamocrm.com en las rutas BFF. Es lo compartido plataforma API host (OrgApiHosts.PLATFORM API HOST se mantiene) y un servidor a servidor llamada; api.kamouniverse.com rutas idénticamente, así que moverse no compra nada. La copia de las cookies y la entrega de salida son conducidos y sin tocar.
· kamo-login
La pantalla de inicio de sesión acredita KamoUniverse y vuelve a su ápice
kamouniverse.com es ahora el ápice primario de la plataforma (kamocrm.com mantiene un servido legado apex: - Theme.tsx: PLATFORM APEX, el host temático utilizado antes de que el navegador sepa host o en un host sin apex (localhost), es kamouniverse.com. Una página navegado en cualquier host real todavía pide el tema. login.kamocrm.com sigue leyendo theme.kamocrm.com. - "Powered by / Built on / Running on" pill names KamoUniverse on every door sin una marca de ápice propia (inquilinos de marca blanca y el legado kamocrm.com door) y enlaces a www.kamouniverse.com. Ese sitio no tiene /producto o /features, por lo que esas variantes van a su página Business-OS y su línea de productos (ambos verificados 200 en cada local). El KamoUniverse La anulación de la puerta no cambia. - El alt predeterminado de ThemeLogo es un "Logo" neutral: la imagen es cualquiera el logotipo de la organización las pinturas de la pantalla, así que "KamoCRM Logo" estaba equivocado para cada inquilino. La carpeta temática de las pinturas de la puerta kamouniverse.com, la copia de las cookies y la el checkout de la mano son el host-derived y sin tocar.
· kamo-internal
La pestaña Todas y las placas se recargan cuando alguien escribe una nota en el plomo
Las comunicaciones de plomo se abren en todos, cuyo cronograma se recarga sólo cuando este miembro publicó un nota de ello, por lo que una nota escrita por otra persona (otro miembro, un Hot Reassign, un miembro de AI herramienta) todavía necesita una página de recarga allí. useLeadNoteWritten follows /topic/media/feed/ UtilizarLeadNoteWritten follows /topic/media/feed/ la toma de medios compartida de la pestaña, aprende el flujo del plomo de su alimentación, y llama de nuevo (contratado, y después de una reconexión) para una nota en ese flujo; LeadCommunications reloads the timeline and the La placa cuenta con ella.
· kamo-internal
Notas de plomo recarga cuando una nota está escrita en su propio flujo
MediaStream (Apuntes de plomo, la alimentación del Clubhouse) escuchó en /topic/media/feed/iereorgId reaccionó sólo a POST CREATED/POST UPDATED — y nada fue retransmitido allí. MediaService ahora transmite los eventos mediáticos del org.feed, donde una nueva nota o post es COMMENT ADDED nombrando su flujo. El pienso recuerda el flujo que lista (la nueva secuencia de la respuestaGuid, o la forma de sus publicaciones) y recarga, silenciosamente, sólo para una nota en ese flujo: una nota Hot Reassign ahora aparece para otro visor del plomo sin una recarga. La regla es app/lib/mediaFeedEvents.ts.
· SecurityService
Un feed nombra el flujo que lista (streamGuid)
La alimentación del navegador se recarga cuando /topic/media/feed/Seguido dice que una nota fue escrita en su propio arroyo. Una pista sin notas todavía no tiene ningún post cuyo guid nombra esa corriente, así que la primera nota otro miembro escribió allí (una nota Hot Reassign, por lo general) nunca podría aparecer en vivo. # /api/security/media/feed now returns streamGuid for the lead feed and the org feed.
· MediaService
Relay media.feed. wonorgId confiar a /topic/media/feed/ Id], custodiado por org
Se anuncia un nuevo post o nota principal en media.feed. ■orgId confiar, y el MediaStream de Kamo-internal (Apuntes de plomo, la alimentación de Clubhouse) escucha /topic/media/feed/§orgId], pero nada nunca retransmitido uno al otro, por lo que una nota que un miembro escribió (Hot Reassign incluido) apareció para otro espectador del plomo sólo después de una recarga. MediaFeedStompRelayController suscribe media.feed.* en NATS núcleo sin grupo de cola (cada cápsula entrega a sus propias tomas) y retransmite sólo una org numérica id. StompDestination Authz guarda ahora el tema como la alimentación social: SUSCRIBE por la propia orgía de la sesión, sin cliente SEND.
· KlusterServices
Svc media puede subscribir media.feed.* para transmitir el pienso de org al navegador
SecurityService y MediaService anuncian un nuevo post o nota principal sobre media.feed. - No. la alimentación del navegador (las notas de la vista principal, la alimentación del Clubhouse) escucha /topic/media/feed/iereorgIdilo. Nada conecta los dos: svc media puede publicar media.feed. pero no suscribirse a ella, por lo que no podría existir ningún relé. MediaService's new MediaFeedStompRelayController suscribe media.feed.* (una señal: la org id; media.feed.lead.* no es retransmitido).
· kamo-internal
AI invita a unirse por sí mismos; enlace de historia de reunión; configuración de keep-AI-transcripts
El buscador de invitados del cuadro de diálogo dice que SecurityService está por partida respuesta bajo miembrosByDepartment (leer el nivel superior, no encontró nada y nunca mostró un picker cuando se abrió sin una lista de miembros). An AI invitee usa el chip AI y trae la insinuación de la entrada punto: el Centro de Interacción y la lista de miembros pasan la bandera, y un miembro preseleccionado de una conversación o tarjeta miembro está insignia de la selección lista. El tema de la invitación se envía como título de reunión. Historia de la reunión se ofrece con VIEW MEETINGS y pasa a través de navIntent. Grabación configuración ganar el interruptor de la transcripción del compañero AI, fuera de la grabación bloque; encontrar pistas de ajuste cumplir con el contraste WCAG AA.
· KlusterServices
Kamo Meet bridge — Jigasi transport and endpoint, PIN dial-in on 7800, de confianza para los miembros de AI
Ningún texto tipo usuario o llamada entra en una expresión de plan de línea: los cheques de la habitación comparan longitudes y la AI el nombre de la pantalla se filtra antes de que sea probado (una cita en un nombre de habitación tipo podría cambiar el cheque falso y marcar la sala filtrada). El encabezado de resolución se establece una vez, antes del bucle de retry PIN.
· kamo-internal
El asistente transmite sus respuestas, con REST como el revés
El asistente había sido sólo REST desde antes de KamoAI: su contexto WebSocket informó "conectado", no abrió ninguna toma, y publicó cada mensaje, por lo que la respuesta entera llegó inmediatamente. Ahora abre /ws/ai-chat de AIService en api. (/api/generate-otk?propósito=ws) y muestra la respuesta como está escrito: - TOKEN frames stream into the answer bubble; MESSAGE COMPLETE's save answer (with its citas) la reemplaza, y un marco sin texto mantiene lo que se accionó; - a TOOL RESULT archiva el texto antes de la llamada de la herramienta y la fila de la herramienta, como dice la transcripción on reload; - los mensajes van uno a uno, así que dos respuestas nunca fluyen en una burbuja; marcos de otro la conversación en el mismo socket se ignora; - REST se mantiene en el retroceso cuando el socket no se puede abrir (ninguna llave, ningún host api, un rechazado o lento apretón de manos); un enchufe que cae de media respuesta lo termina con un error en lugar de preguntar de nuevo; - la toma se abre con el primer mensaje y se cierra después de cinco minutos inactivos. El 501 /api/ai/ws marcador de posición, que dijo que el socket no podía ser alcanzado, es eliminado. SP99-T10.
· KlusterServices
Una sonda de estación que nunca imprime el token MCP
La aceptación de SP11 leyó el descriptor de una estación de trabajo AI y probó su MCP puente a mano, y una línea diagnóstica imprimió una señal de portador vivo en un transcripción del período de sesiones (revisión de la tarea 30, encontrando 2). canary/workstation-probe.sh hace ambos. describir impresiones el descriptor con la ficha como "presente confianza" o null (--refresh mints a new one); la sonda corre inicializar, los nombres de las herramientas, un tipo de captura de pantalla y un token incorrecto de un contenedor efímero en la cápsula del Plano de Herramientas, y cada línea que imprime, su errores incluidos, está enmascarado. El token vive en una variable de shell y la La sonda sólo es picante. Las pruebas falsas kubectl con un token conocido y ejecutar el sonda generada con rizo contra un puente local.
· kamo-login
Envía un registro de un universo a su salida, o a crear su organización
kamo-register parques un plan de registro pagado en sp checkout plan, y el Los planes del sitio de KamoUniverse son los propios universos (family premium, community starter, personal pro, ...). planCheckoutUrl sólo honoró starter inversiones futurasenterprise, por lo que un comprador que acaba de verificar su email y firmado fue dejado en la pantalla de inicio en lugar de checkout. planCheckoutUrl se mueve a lib/planCheckout.ts y acepta el contrato compartido ¿Qué? Avanza el universo a ************** siempre el universo del PLAN, ya que esa es la escalera de la que se vende, siempre que sea el plan pertenece a Family, Community o Personal o kamo-register estacionado sp checkout universe; aclara que la cookie con el plan y el código. Un registro GRATIS en los parques familiares, comunitarios o personales un universo y ningún plan. Sin ningún anuncio explícito?next= y sin anuncio de trabajo, ahora aterriza en /network/create?universe= indicau confianza en el espacio de trabajo, donde la página de creación presele ese universo; la cookie se gasta en uso. El negocio es la página de creación propia por defecto, por lo que un registro de negocios aterriza dondequiera que siempre lo hizo. El embudo Business no cambia: ¿Qué? rendimientos todavía No hay ningún universo. en ella. pruebas/planCheckout.test.mjs lo clava (nodo --experimental-strip-types --test tests/*.test.mjs).
· kamo-register
Llevo un plan del universo y su universo en la compra
El sitio KamoUniverse firma a las personas como ******************* y sus planes pagados son los propios universos: familia-premium, community-tarter, personalpro y así es así. El manejador de la terminación sólo aparcó empresa starter, empresa de negocios, así que cada inscribimiento universal que había elegido un pago plan terminó la inscripción y nunca fue enviado a la compra. La entrega se mueve en lib/checkoutHandoff.ts y acepta el contrato compartido ******************* (los planes gratuitos no necesitan check-out y estacionar nada). También aparca de un universo válido con o sin plan, desde un Señalización gratuita en un universo aún tiene que llegar a "crear su organización" con ese universo elegido, lo que kamo-login ahora lo hace. Los mismos atributos de cookie y regla del ápice como antes, así que kamo-login aclara lo que esto escribe. El embudo de negocios es byte-for-byte lo que era: ?plan=starter.business. empresa [&code=] escribe exactamente las mismas cookies. Guardia de la carrera:checkout. alfileres, y el resto del contrato. Un fichaje que nombra un universo lo dice bajo el mostrador de pasos: "Estás Empezando un universo familiar".
· kamo-internal
Pregíte a qué universo pertenece la organización de un cliente, y lee los planes por tipo
La plataforma ahora vende cuatro escaleras de plan. Negocios, Familia, Comunidad y Personal y el universo de una organización decide cuál se ofrece. /net/crear pregunta, una vez, dónde pertenece: sólo cuando el organización se está creando directamente bajo la plataforma (la sesión organización es de primer nivel), que es donde se encuentra la primera organización de un cliente hecho. En todas partes la nueva organización es una rama de un cliente existente y SecurityService le da el universo de sus padres, así que no se muestra ningún seleccionador y No se envía un universo. El padre se lee en /api/org/corriente en lugar de OrgContext, que en el anfitrión compartido comienza como la plataforma y lo haría La pregunta a alguien creando una sucursal de su propia empresa. El seleccionador comienza contestado. Negocios, o lo que sea el sitio KamoUniverse's enlace de mano llamado ************* *** . . . . . . . . . . . . . . . . . . . . . . bloquear un lanzamiento. Un plan pagado de ese vínculo que pertenece al universo elegido se lleva a través de la facturación de la organización NUEVO consola con el plan ya seleccionado, clavedo en la propia membresía del creador Ahí. Los paseos en POST /api/security/org sólo cuando se le preguntó; SecurityService analiza ese cuerpo campo por campo, por lo que la clave es ignorada hasta las tierras de SecurityService conscientes del universo. Las superficies del plan comparaban códigos: "planCode" === 'FREE' (MyPlanWidget, PlanUpgradeDelta, PlanStandingHero, /myplan) y "ENTERPRISE". (SubscriptionOrderWizard). En una organización familiar no hay GRATIS. el piso es FAMILIA.FIR GRATIS, por lo que la página no encontró piso para medir un juicio contra y ofreció el plan gratuito como una actualización. Ahora preguntan planLader: el piso está plan-type GRATIS o un código que lo nombre (cada respuesta dada antes se mantiene), y un plan negociado es ENTERPRISE o .UNIVERSE-ENTERPRISE. La facturación La consola ya estaba impulsada por el catálogo y no necesitaba nada. /myplan muestra el universo de la organización como un chip de lectura en la línea de org. Cada organización creada ante los universos dice como Negocios (universoOrDefault). Llaves: kamo-translación-diccionario 1fcb6274 (empujándote primero).
· APIService
El catálogo de suscripción pública toma ?universo=
El sitio KamoUniverse muestra las escaleras de la familia, la comunidad y el plan personal, y el proxy del catálogo público sólo enviado locale, por lo que sólo podría devolver la planes de negocios. **************** y ************* ahora hacia adelante un universo opcional (sólo en boletos; cualquier otra cosa es un 400 antes de que llegue a la en la cadena de consulta aguas arriba). SecurityService decide qué nombra y lee un ausente uno como negocio, así que kamocrm.com, que no envía ninguno, obtiene lo mismo río arriba URL y los mismos cuatro planos que antes.
· BillingService
La consola de facturación vende una organización sus planes de su universo
KamoUniverse añade escaleras familiares, comunitarias y personales al lado del negocio, y BillingService asumió un único catálogo: "el plan libre" era el código GRATIS, "negociado" fue el código ENTERPRISE, y el mercado fue el primero de la raíz. - resoluciónBillingMarketId: una familia/Comunidad/Corg Personaliza compra en su universo mercado (KamoFamily, ...), así que la consola lista esa escalera sólo. Negocios Sin cambios. - crear/actuale la basura un plan de otro universo que el de los org objetivo, así que un familia no puede publicar el id del mercado KamoCRM y comprar la escalera de negocio. - Controles de plan libre van por tipo de plan (FAMILY-FREE, ...) o el código comercial GRATIS; un ensayo caducado o un plan caducado vuelve a caer en el plan libre del universo de la oreja. - Techos de asiento: negocios mantiene "25 en cualquier plan, Enterprise arriba"; el nuevo Las escaleras tapan cada plan en su propio conteo de asientos y apuntan al siguiente plan, con sólo el plan negociado sin tapar (Personal no tiene ninguno: Pro 5 es el final). - EnterprisePlanGuard custodia todo plan-tipo CUSTOM plan en el andorg org, no sólo el ENTERPRISE codificado. - Los complementos compartidos (mail, teléfono, almacenamiento) presentados bajo el mercado KamoCRM son cotiza en un mercado universal cuando es compatible con sus planes, y un negocio la promoción no se anuncia en un mercado universal. Los DTO del Plan llevan "universo". Necesita UniversoPlanes de la biblioteca compartida de kamo (empujado primero).
· SecurityService
Las organizaciones se crean en un universo KamoUniverse y proyecto de ley de su catálogo
KamoUniverse vende escaleras de planes empresariales, familiares, comunitarios y personales de la plataforma org. SecurityService decide en qué escalera está una organización, y Cada lugar que asumió "el plan libre" o "Enterprise" ahora pide por universo. - Mensaje /api/security/org toma un "universo" opcional (negocio y familia comunidad personal, insensible; desconocida es de 400). Ausente, una sucursal hereda la de sus padres a menos que el padre sea la plataforma o un producto de plataforma; De lo contrario BUSINESS (almacenado, como todos los org existentes). - Cargas Org (/org/current, /org/.id, /org/-id, /org/-host, /org/ref/ref.) carry "universo" a través de la entidad; las filas /red (mis redes, todo-red) llevámoslo también. "BUSINESS" para cada org que precede a los universos. - /pos/suscripción-catalog y /pos/suscripción-promociones tomar ?universe=. Ausente es BUSINESS, por lo que kamocrm.com y el representante público ven exactamente el de hoy catálogo. Los precios de la lista se retienen de todo plan-tipo plan, no sólo el codificado ENTERPRISE. - Servicio de Derechos: el piso libre es el plan libre del universo miembro (a El piso de la familia ya no lleva el CRM; un juicio otorga todo el catálogo para BUSINESS como antes y el nivel superior del universo en otros lugares. - BillingSetupService sembra una nueva or en el plan libre de su universo, en eso Mercado del universo (KamoFamily, ...), en lugar de GRATIS en KamoCRM. Necesita UniverseType / UniversePlans (empuvice primero).
· InitializerService
Los catálogos de la familia, la comunidad y la persona junto a la escalera de negocios de KamoCRM
KamoUniverse vende cuatro catálogos de la tabla de un plan de la plataforma. Esto aterrice el esquema y los datos de los tres nuevos. - UniverseColumnsMigration (-Pedr 0): orgs.universe-type y ******************* nullable INT, no default - null is BUSINESS, por lo que nada se vuelve a llenar y ninguna fila existente cambia de significado. - UniverseCatalogMigration (-Orden 50), insert-if-missing y scoped by org-id: los mercados KamoFamily / KamoCommunity / KamoPersonal SUBSCRIPTION; los doce planos (FAMILIA*, COMUNIDAD*, PERSONAL*) con universo-tipo y un explícito market-id, por lo que KamoCRMMarketBackfillLoader nunca los absorbe en KamoCRM; su precios mensuales/anuales/trienales por asiento; USU. USERS (techo del asiento, ilimitado en la planes negociados) y STORAGE (4 GB/seat) filas; el correo y el teléfono "Add-on" filas; compatibilidad para los cinco complementos que cada plan puede comprar (ambos correos, ambos teléfono, almacenamiento extra); y la banda de asientos de Community Premium con un 15% de descuento. - UniversePackages: qué aplicaciones incluye cada nuevo plan, leído por ambos ************* (la autoridad, que escribe las filas) y **************** por lo que no pueden estar en desacuerdo. Sin CRM en las escaleras familiares o personales; correo, sistemas de origen, registros de pacientes y Computadoras anfitriona en ningún nivel universal. - Los complementos de originación/EHR/Informáticas de Hosted se comparten compatibles con BUSINESS negoció planes sólo cuando se crearon por primera vez, nunca los Familiares/Comunidad. - La regla de la prueba de totalidad de "niños comercios se sientan exactamente con POS" es la regla Historia de la escalera de negocios; ahora comprueba los códigos de negocio, y un nuevo cheque se mantiene cada nivel del universo de empaquetar a un niño de comercio sin POS.
· kamo-shared-library
Organizaciones y planes pertenecen a un universo KamoUniverse
KamoUniverse vende la plataforma a cuatro audiencias - Negocios, Familia, Comunidad, Personal - cada uno en su propia escalera de plan con paquetes que lo encaben (una familia no CRM). Nada podía distinguir esos catálogos: cada org resolvió su piso libre del plan de la raíz codificado GRATIS, que incluye el CRM y aplica lo que sea el org paga, por lo que un org de la familia habría tenido el CRM para siempre. - UniverseType (BUSINESS 1, FAMILIA 2, COMUNIDAD 3, PERSONAL 4) persistieron por id a través de UniverseTypeConverter (un conocido id lee null), JSON por su nombre. Medios de Nul BUSINESS en todas partes; las empresas siguen siendo almacenadas como nulas. - Organization.universe (orgs.universe) y SubscriptionPlan.universe ************* ambos nulos. Organización getter nunca devuelve nula, así que cada org payload dice "universo":"BUSINESS" para los orgs que lo prescien. Las columnas fueron añadidas y verificadas en Yugabyte por KamoInitializer's UniverseColumnsMigration antes de que esto fuera empujado. - UniversePlans: puros ayudantes (sin frijol nuevo) para el plan libre de un universo, nivel superior, plan negociado y techo de asiento de autoservicio. - ************* el piso libre es el universo de la org. plan; un ensayo otorga todo para BUSINESS (sin cambios) y el del universo nivel superior en otra parte. - ********************** universo) / getPromotions(..., universo): planes filtrados al universo (null = BUSINESS), add-ons/bundos/promociones podada a los que nombran sus planes; una fila que no nombra ningún plan es solo de negocios. Para BUSINESS el resultado es exactamente el catálogo de pre-universo. Los DTO del plan llevan "universo".
· KlusterServices
Dev.kamouniverse.com se adelanta www
El sitio está en directo en www.kamouniverse.com, por lo que su anfitrión pre-lanzamiento deja de servirlo y 301s a https://www.kamouniverse.com con trayectoria y consulta mantenidas, por lo que los enlaces existentes siguen funcionando. A redirdirectRegex middleware lo hace (kamo-nowww solo canonicaliza un ápice desnudo); prioridad 300 outranks la propia IngressRute del sitio, que deja caer dev en un seguimiento. El dev cert se queda en STATIC-DOMAINS así que https enlaces todavía hacia adelante.
· kamo-register
Register.kamouniverse.com lleva la marca KamoUniverse
register.kamouniverse.com es la puerta de registro KamoUniverse de la plataforma. Es su anfitrión se resuelve a la organización de la plataforma, para que la mirada by-host responder "crm" y pintar el logotipo, colores, título y favicon de KamoCRM sobre él. Un ápice de plataforma con una marca propia ahora nombra directamente su carpeta temática: kamouniverse.com -- público/kamouniverse/ (reservado como alias en SecurityService, aprovisionado en el cubo de tema). getThemePath lo responde sincrónico, así que la primera pintura ya está bien, y el anfitrión busca es Salió allí. A ?org= todavía pinta la propia marca de esa organización. Los nombres de las píldora "Powered by" y vincula a KamoUniverse en ese ápice, y análisis cuenta register.kamouniverse.com junto a register.kamocrm.com (puertas de la plataforma solo; el nombre de huésped los mantiene separables). El mismo cambio que el de kamo-login.
· kamo-login
Login.kamouniverse.com lleva la marca KamoUniverse
login.kamouniverse.com es la puerta de inicio de sesión KamoUniverse de la plataforma. Su huésped se resuelve a la organización de la plataforma, por lo que la mirada por el anfitrión respondería "Cradura" y pintar el logotipo, colores, título y favicon de KamoCRM sobre él. Un ápice de plataforma con una marca propia ahora nombra su carpeta temática directamente: kamouniverse.com -- público/kamouniverse/ (reservado como alias en SecurityService, aprovisionado en el cubo de tema). getThemePath lo contesta sincrúnidos por lo que la primera pintura ya es correcta, y el anfitrión busca Salió allí. A ?org= todavía pinta la propia marca de la organización, en esta puerta como en cualquier otra. Los nombres de píldora "Powered by" y vincula a KamoUniverse en ese ápice, y análisis cuenta login.kamouniverse.com al lado de login.kamocrm.com (sólo puertas de la plataforma; el nombre de host los mantiene separables).

Tu universo está esperando.
Comience gratis en minutos y agregue productos cuando esté listo, sin migración ni nuevos inicios de sesión.
Gratis para siempre: no se requiere tarjeta de crédito