Ir para o conteúdo
KAMOUniverse

Changelog

O que há de novo.

Cada melhoria para a plataforma, como ele envia.

  1. · kamo-internal

    A fonte do centro de ajuda fala como KamoUniverse

    ferramentas/centro de ajuda/conteúdo: "KamoCRM" torna-se "KamoUniverse" em 70 artigos — 105 lugares, três de eles títulos (O que KamoUniverse é, Como pesquisar através KamoUniverse, Como KamoUniverse é construído). Slugs e nomes de arquivos não são tocados: são endereços públicos dos artigos e do importador chave, e renomear um iria publicar uma segunda cópia. Também intocado: "KamoCRM Platform", o nome de um lead market um leitor encontra no dropdown, e "KamoCRM" em citações, o nome de um vendedor em uma lista. clean-source.mjs ganha rebrand(), executado por cleanBody após as referências cruzadas, então reconstruindo os artigos dos rascunhos mantêm o novo nome; "kamouniverse" junta-se às paradas de relações e Cápsulas de título. Os artigos ao vivo mudam apenas quando o import.mjs é executado contra o KBService, o que isto o commit não faz. Corrida a seco: 307 artigos, 181 referências cruzadas, 73.432 palavras — como antes.

  2. · kamo-internal

    Links da plataforma no ápice primário, e a plataforma chamada KamoUniverse

    Links que o aplicativo gera para a plataforma são construídos a partir de PLATFORM APEX, então eles seguem o principal apex (kamouniverse.com). Cada link kamocrm.com já distribuído continua funcionando, porque ambos os apexes servem a mesma coisa — verificados: Etag idêntico para o APK e o carregador de chat em ambos os temas hosts, o mesmo DAV 401 ("Calendar Kamo") em ambos os hosts api: - o KamoMobile instalar QR e link, o web-chat embed snippet, o CalDAV/CardDAV servidor URL e Alvo SRV, e os valores de exemplo nos editores de acordo-template e email-template. Onde o aplicativo fala para a plataforma em vez de um inquilino, o nome da plataforma é KamoUniverse, realizada uma vez em app/lib/platformBrand.ts: a organização de backback do layout root, o carregamento e /validate logo alts, o editor de e-mail-template org-name fallbacks, a rota outbound-host diagrama, a predefinição do relé em massa e o agente-utilizador do proxy da imagem. A entidade jurídica permanece "KamoCRM Inc." (linha da empresa em vendas de contato, o "<org> Inc." template fallbacks). Criação da organização pré-visualiza KamoUniverse.com/o/<alias>, e um teste mantém esse formulário de exibição para O verdadeiro ápice. Contato Nomes de vendas Vendas@KamoUniverse.com: kamouniverse.com correio é ao vivo e terras na caixa de correio kamocrm.com (RCPT sales@kamouniverse.com respondeu 250; nada foi enviado).

  3. · kamo-internal

    Links da plataforma no ápice primário, e a plataforma chamada KamoUniverse

    Links que o aplicativo gera para a plataforma são construídos a partir de PLATFORM APEX, então eles seguem o principal apex (kamouniverse.com). Cada link kamocrm.com já distribuído continua funcionando, porque ambos os apexes servem a mesma coisa — verificados: Etag idêntico para o APK e o carregador de chat em ambos os temas hosts, o mesmo DAV 401 ("Calendar Kamo") em ambos os hosts api: - o KamoMobile instalar QR e link, o web-chat embed snippet, o CalDAV/CardDAV servidor URL e Alvo SRV, e os valores de exemplo nos editores de acordo-template e email-template. Onde o aplicativo fala para a plataforma em vez de um inquilino, o nome da plataforma é KamoUniverse, realizada uma vez em app/lib/platformBrand.ts: a organização de backback do layout root, o carregamento e /validate logo alts, o editor de e-mail-template org-name fallbacks, a rota outbound-host diagrama, a predefinição do relé em massa e o agente-utilizador do proxy da imagem. A entidade jurídica permanece "KamoCRM Inc." (linha da empresa em vendas de contato, o "<org> Inc." template fallbacks). Criação da organização pré-visualiza KamoUniverse.com/o/<alias>, e um teste mantém esse formulário de exibição para O verdadeiro ápice. Contato Nomes de vendas Vendas@KamoUniverse.com: kamouniverse.com correio é ao vivo e terras na caixa de correio kamocrm.com (RCPT sales@kamouniverse.com respondeu 250; nada foi enviado).

  4. · kamo-internal

    Reconhecer ambos os ápices de plataforma onde quer que o aplicativo diz a um anfitrião de plataforma de um inquilino

    kamouniverse.com é agora o ápice primário da plataforma e kamocrm.com permanece totalmente servido, então cada verificar que pergunta "é este um dos anfitriões da plataforma?" tem que responder sim para ambos, por rótulo inteiro: - proxy.ts: em uma plataforma host o tema de nomes img-src da página.<apex> e *.<apex> para EVERY platform apex. internal.kamouniverse.com (viver hoje) bloqueou cada imagem armazenada theme.kamocrm.com, e internal.kamocrm.com iria bloquear o theme.kamouniverse.com URLs servidores build on the primary É o ápice. O próprio ápice de um inquilino ainda só se chama a si próprio. - networkModel.isCustomDomain, que o FirstOrgCta agora reutiliza em vez de uma cópia: acme.kamouniverse.com Leia como um domínio personalizado, então Enter abriu ******************* — nenhum hospedeiro. - OrgOAuthAppSection: um callback no api.kamouniverse.com foi descrito como o próprio domínio do org. - LeadVendorManager: SecurityService builds apply.<apex primário> para uma org sem um domínio, e O cheque só sabia aplicar-se. kamocrm.com, então a forma da plataforma é lida como host da própria org. - /api/org/[...domínio]: a entrada cliente-credenciais da plataforma existe sob cada ápice da plataforma. - next.config allowedDevOrigins e o CSP image-host guard também aceitam kamouniverse.com. Construído em isPlatformHost / PLATFORM APEXES de app/lib/platformApex.ts; nenhuma nova lista de apexes.

  5. · kamo-internal

    Reconhecer ambos os ápices de plataforma onde quer que o aplicativo diz a um anfitrião de plataforma de um inquilino

    kamouniverse.com é agora o ápice primário da plataforma e kamocrm.com permanece totalmente servido, então cada verificar que pergunta "é este um dos anfitriões da plataforma?" tem que responder sim para ambos, por rótulo inteiro: - proxy.ts: em uma plataforma host o tema de nomes img-src da página.<apex> e *.<apex> para EVERY platform apex. internal.kamouniverse.com (viver hoje) bloqueou cada imagem armazenada theme.kamocrm.com, e internal.kamocrm.com iria bloquear o theme.kamouniverse.com URLs servidores build on the primary É o ápice. O próprio ápice de um inquilino ainda só se chama a si próprio. - networkModel.isCustomDomain, que o FirstOrgCta agora reutiliza em vez de uma cópia: acme.kamouniverse.com Leia como um domínio personalizado, então Enter abriu ******************* — nenhum hospedeiro. - OrgOAuthAppSection: um callback no api.kamouniverse.com foi descrito como o próprio domínio do org. - LeadVendorManager: SecurityService builds apply.<apex primário> para uma org sem um domínio, e O cheque só sabia aplicar-se. kamocrm.com, então a forma da plataforma é lida como host da própria org. - /api/org/[...domínio]: a entrada cliente-credenciais da plataforma existe sob cada ápice da plataforma. - next.config allowedDevOrigins e o CSP image-host guard também aceitam kamouniverse.com. Construído em isPlatformHost / PLATFORM APEXES de app/lib/platformApex.ts; nenhuma nova lista de apexes.

  6. · DocsService

    O site de carreiras da plataforma é careers.kamouniverse.com, e careers.kamocrm.com mantém sua placa

    kamouniverse.com é o ápice primário da plataforma; kamocrm.com permanece totalmente Serviu o ápice do legado. - carreiras.platform-apex (onde um anúncio de emprego, recibo de um requerente, carta talento-alert e um ponto de placa de rede para uma organização sem domínio live próprio) agora defaults to Em todas as cinco classes, e k8s/configmap.yaml define-o para kamouniverse.com explicitamente para que o valor em execução não espere numa reconstrução. careers.kamouniverse.com serve com um certificado válido e resolve para a organização da plataforma exatamente como carreiras. Kamocrm.com faz. - Carreiras PublicController reconheceu o site de carreiras da plataforma pela ONE topo configurado, então mover a configuração teria tomado o cross-org network board away from careers.kamocrm.com (a 404, fail-closed). Agora. aceita carreiras.<every PlatformDomains apex> mais o configurado, comparar todo o ápice assim carreiras.acme.kamocrm.com e careers.evil-kamocrm.com ainda são recusados. Ensaios: **************************** pinos ambas as portas e o sósias; DocsAliasHostTest ganha os casos kamouniverse.com para o aliasgroup1 mudança no fab3d80; os três testes de ligação que plataforma-console Fallback agora esperar internal.kamouniverse.com, que é o que OrgLinkHosts responde desde kamo-shared-library 0e8cf90f. Teste de limpeza do mvn: 848, 0 falhas.

  7. · SecurityService

    Kamouniverse.com é o ápice primário, e um domínio é verificado por onde ele resolve

    "Changed the domain from kamocrm.com to kamouniverse.com on /setup/dns. Dizia-o. configurá- lo, mas não pôde verificar nada, e depois de uma atualização ele ainda disse kamocrm.com." Havia três falhas. O domínio da org foi escolhido alfabeticamente. O org plataforma detém ambos apexes como raizes verificadas, e kamocrm.com classifica primeiro, assim links, sign-in, Comportamento & Rotulagem e a página DNS nunca poderia seguir a marca. OrgDomains agora compartilha compartilhamento-lib **************** que classifica o ápice primário primeiro. PLATFORM APEX é kamouniverse.com. PlatformApexes is kamouniverse.com, kamocrm.com, primário primeiro, e cada kamo.platform.apex padrão lê a constante. Espaços de trabalho sem domínio agora abertos internal.kamouniverse.com de qualquer porta, e login.kamocrm.com mantém A trabalhar. A lista de domínios também retorna o domínio primário e plataformaApexes, então A página para de os re-derivar. 2. Verificação comparou o alvo de um CNAME com o literal "kamocrm.com". Cada host em kamouniverse.com CNAMEs para kamouniverse.com, então todos eles falharam. Assim como um registro A direto na plataforma, e uma corrente CNAME. checkPointsAtPlatform substitui-o em qualquer lugar: check-dns, ambos Verificação de Domínio O observador varre, e o alvo de abastecimento. Segue-se o host através de qualquer registro A ou cadeia CNAME para seus endereços finais e compara eles com o que kamouniverse.com resolve agora. Esse endereço é lido ao vivo e em cache por 60s, com a última boa leitura mantida por uma hora se uma leitura falhar; nunca está configurado. Um AAAA perdido falha na verificação, porque vamos criptografar prefere IPv6. Um endereço de plataforma ilegível, NXDOMAIN ou SERVFAIL são pendente, nunca erro. check- dns devolve cnameTarget e plataformaAddictions so a página pode oferecer a alternativa de registro A. 3. "Mudar domínio" significava excluir o domínio em uso. Para um ápice de plataforma que é recusado (409 PLATFORM APEX, a5bcbd2); a página para de o oferecer. Reconhecimento permanece somente add-only: Aplicação ChatOriginService permite aplicar. em ambos apexes, porque os links empréstimo-aplicação em kamocrm.com vivem em e-mails enviados. apply.kamocrm.com não tem registro DNS hoje, então o link de retorno se movendo para apply.kamouniverse.com (que serve) também corrige links que estavam mortos.

  8. · KlusterServices

    Auto-cert pré-edições análise, desktop e myloan em kamouniverse.com

    - Static DOMAINS ganha analytics.kamouniverse.com, desktop.kamouniverse.com e myloan.kamouniverse.com, gêmeos de kamocrm.com hosts que são alcançados apenas através de um link. Uma máquina sem certificado nunca produz a linha de acesso-log das necessidades de digitalização dinâmica. analytics.: kamo- internal frames analytics.< seu próprio apex>. desktop.: A nova rota do KamoDesktop. Myloan.: O SecurityService PortalUrls constrói https://myloan.<live root>, e o A raiz viva da plataforma agora é kamouniverse.com. myloan ainda não tem registro DNS; o loop o ignora até que o proprietário adicione o CNAME. - SEMPRE ALLOW APEXES nomes kamouniverse.com outright ao lado de kamocrm.com, assim hosts sob a estadia de ápice primário permitido o que Static DOMAINS detém. - Comentários e uma linha de log stop chamando a lista estática de "kamocrm-específico", e a nota SUBDOMAINS diz que as etiquetas servem ambos os ápices de plataforma. O certificado padrão (tls- kamocrm- com) está inalterado de propósito: é o que um cliente sem SNI chamando kamocrm.com valida contra.

  9. · KlusterServices

    Servir desktop.kamouniverse.com, e saltar um computador nu.kamouniverse.com para seu login

    desktop.kamouniverse.com tinha DNS mas nenhuma rota, então respondeu Traefik 404 atrás do certificado padrão. Agora serve KamoDesktop através desktop-https-kamouniverso. Essa rota tem as mesmas quatro regras, prioridades e middlewares como as rotas desktop.kamocrm.com, usa tls: {}, e visita nua ao login.kamouniverse.com. Vive em traefik/rotas/ porque a push to desktop/ reinicia o SecurityService, executa novamente o bootstrap Guacamole trabalho e reaplica o KubeVirt VM. desktop.kamocrm.com está intocado. computers.kamouniverse.com é servido pelas rotas org-domínio, e agora é onde o SecurityService envia a organização da plataforma, porque a plataforma domínio raiz viva é kamouniverse.com. hc-a-logina apenas reconhecida computers.kamocrm.com, então uma visita nua mostrou caixa de senha de Guacamole, que Nunca conseguirá. O novo hc-to-login-kamouniverse envia-o para login.kamouniverse.com. A máquina de todas as outras organizações não corresponde a nenhum regex E comporta-se como antes.

  10. · kamo-shared-library

    Kamouniverse.com é o ápice primário da plataforma

    A marca mudou de kamocrm.com para kamouniverse.com, mas nada da plataforma gera poderia segui-lo. Cada regra "qual dos domínios desta org" classificada por poucos rótulos então alfabéticos, então a organização da plataforma, que detém ambos apexes como raízes verificadas, sempre saiu como kamocrm.com. Alterar o domínio ligado /setup/dns, portanto, nunca tomou. PlatformDomains é agora a única lista: PRIMARY APEX kamouniverse.com, LEGACY APEX kamocrm.com, e ROOT PREFERENCE, que classifica o ápice primário primeiro. OrgApiHosts, OrgThemeAssets e SecurityService OrgDomains compartilham essa regra. **************************** a máquina um link cai para trás para uma org sem um domínio vivo próprio, é o ápice primário. OrgApiHosts.PLATFORM API HOST deliberadamente permanece api.kamocrm.com. A plataforma Os aplicativos OAuth estão registrados no Google, Microsoft e RingCentral consolas. Movê-lo precisa daqueles consoles alterados primeiro.

  11. · kamo-register

    Os ecrãs de inscrição creem o KamoUniverse e voltam ao seu ápice

    kamouniverse.com é agora o ápice primário da plataforma (kamocrm.com permanece totalmente Serve o ápice do legado: - Theme.tsx: PLATFORM APEX, o host do tema usado antes que o navegador saiba o seu host ou em um host sem ápice, é kamouniverse.com. Qualquer máquina real ainda pergunta o tema.< seu próprio ápice>. - RegisterFlow: o servidor-render placeholders para o link de login e o domínio org são login.kamouniverse.com / kamouniverse.com. O navegador substitui ambos pelo login deste site.<apex> na montagem, como antes. - "Desenvolvido por / Construído em / Correndo em" nomes comprimidos KamoUniverse em cada porta sem marca apex própria e links para www.kamouniverse.com página de negócios-OS e linha de produtos stand em para kamocrm. Com's /product e /features, que esse site não tem). - O Alt padrão do ThemeLogo é um "Logo" neutro (pinta o logotipo de qualquer org). - O "Suporte de Contato" da página desculpe é support@kamouniverse.com: o e-mail stream verificado kamouniverse.com inbound é live e aliased para o mesmo Caixa de correio. Mantido: JAVA API BASE = api.kamocrm.com nas rotas BFF. É o compartilhado máquina API de plataforma (OrgApiHosts.PLATFORM API HOST permanece) e um servidor-para-servidor call; rotas api.kamouniverse.com idênticas, então mover-se não compra nada. O scoping de biscoitos e a entrega de cheques são derivados do hospedeiro e intocados.

  12. · kamo-login

    A tela de login créditos KamoUniverse e cai de volta ao seu ápice

    kamouniverse.com é agora o ápice primário da plataforma (kamocrm.com permanece totalmente Serve o ápice do legado: - Theme.tsx: PLATFORM APEX, o host do tema usado antes que o navegador saiba o seu host ou em um host sem ápice (localhost), é kamouniverse.com. Uma página navegado em qualquer máquina real ainda pergunta tema.< seu próprio ápice>, assim login.kamocrm.com continua lendo theme.kamocrm.com. - "Desenvolvido por / Construído em / Correndo em" nomes comprimidos KamoUniverse em cada porta sem uma marca de topo própria (os inquilinos de marca branca e o legado kamocrm.com) e links para www.kamouniverse.com. Esse site não tem /product ou /features, então essas variantes vão para sua página de negócios-OS e sua linha de produtos (ambos verificados 200 em cada localidade). O KamoUniverso O dispositivo da porta está inalterado. - ThemeLogo é um "Logo" neutro: a imagem é qualquer logotipo da organização as tintas de tela, então "KamoCRM Logo" foi errado para Todos os inquilinos. A pasta tema as pinturas porta kamouniverse.com, cookie scoping e o A entrega do check-out é derivada do hospedeiro e intocada.

  13. · kamo-internal

    A aba Tudo e os crachás recarregam quando alguém escreve uma nota no cabeçalho

    As Comunicações do líder abrem em Todos, cuja linha de tempo recarregada apenas quando este membro postou um nota dele, então uma nota escrita por outra pessoa (outro membro, um Hot Reassign, um membro de IA ferramenta) ainda precisava de uma página recarregar lá. useLeadNoteEscrito segue /tópico/media/feed/<orgId> em o socket de mídia compartilhado da aba, aprende o fluxo do lead a partir de seu feed, e liga de volta (coalesced, e depois de uma reconexão) para uma nota nesse fluxo; LeadCommunications recarrega a linha do tempo e o O distintivo conta com isso.

  14. · kamo-internal

    Notas de um lead recarrega quando uma nota é escrita em seu próprio fluxo

    MediaStream (notas de um líder, o feed Clubhouse) ouviu sobre /topic/media/feed/<orgId> mas Reagiu apenas ao POST CREAted/POST UPDAted — e nada foi retransmitido lá. MediaService agora retransmite os eventos media.feed do org, onde uma nova nota ou publicação é COMMENT ADDED nomeando seu fluxo. O feed lembra o fluxo que ele lista (o novo streamGuid da resposta, ou o guid de seus posts) e reloads, silenciosamente, apenas para uma nota nesse fluxo: uma nota Hot Reatribuir agora aparece para outra visualizador do chumbo sem recarga. A regra é app/lib/mediaFeedEvents.ts.

  15. · SecurityService

    Uma fonte nomeia o fluxo que ele lista (streamGuid)

    O feed do navegador recarrega quando /topic/media/feed/<orgId> diz que uma nota foi escrita em sua própria Fluxo. Um lead sem notas ainda não tem nenhum post cujos nomes de guid que stream, então a primeira nota outro membro escreveu lá (uma nota quente, tipicamente) nunca poderia aparecer ao vivo. GET /api/security/media/feed agora retorna streamGuid para o feed de chumbo e o feed de org.

  16. · MediaService

    Retransmissão media.feed.<orgId> para /topic/media/feed/<org Id>, guardada por org

    Um novo post ou nota principal é anunciado no media.feed. <orgId>, e a mídia interna do kamo (Notas de um líder, o feed Clubhouse) escuta em /topic/media/feed/<orgId> — mas nada nunca retransmitiu um para o outro, então uma nota um membro escreveu (Hot Reatribuition included) apareceu para outro visualizador da liderança apenas após uma recarga. MediaFeedStompRelayController assina media.feed.* no núcleo NATS sem grupo de fila (cada pod entrega em seus próprios soquetes) e retransmite apenas um id de org numérico. Destino do Estômago Authz agora protege o tópico como a alimentação social: SUBSCRIBE apenas pela própria org da sessão, sem cliente SEND.

  17. · KlusterServices

    Svc media pode subscrever media.feed.* para transmitir o feed org para o navegador

    SecurityService e MediaService anunciam um novo post ou nota principal no media.feed. <orgld>, e o feed do navegador (as notas da vista principal, o feed do Clubhouse) escuta /topic/media/feed/<orgId>. Nada conectado aos dois: svc media poderia publicar media.feed.> mas não subscrevam-no, por isso nenhum relé poderia existir. Novo MediaService MediaFeedStompRelayController assina media.feed.* (um token: o org id; media.feed.lead.* não é retransmitido).

  18. · kamo-internal

    AI convida a juntar-se a si mesmos; a encontrar o link do histórico; a manter-AI-transcripts

    A caixa de diálogo do convidado lê o by-department do SecurityService resposta sob membrosPorDepartamento (ele leu o nível superior, não encontrou nada e nunca mostrou um selecionador quando aberto sem uma lista de membros). Um convite de IA usa o chip IA e traz a dica joints-by-itself de cada entrada ponto: o Centro de Interação e lista de membros passam a bandeira, e um membro pré-selecionado a partir de uma conversa ou cartão de membro é marcado a partir do lista. O assunto do convite é enviado como título da reunião. História da reunião é oferecido com View MEETINGS e passa por navegação. Gravação configurações ganhar o interruptor de transcrição companheiro IA, fora da gravação block; atender dicas de configuração atender WCAG AA contraste.

  19. · KlusterServices

    Kamo Meet bridge — Transporte e endpoint do Jigasi, ligação PIN em 7800, entrada confiável para membros de IA

    Nenhum texto tipo usuário ou chamador entra em uma expressão dialplan: as verificações de sala comparam comprimentos e IA's o nome da exibição é filtrado antes de ser testado (uma citação em um nome de quarto digitado poderia de outra forma mudar a verificação false e disque a sala filtrada). O cabeçalho do resolvedor é definido uma vez, antes do ciclo de repetição do PIN.

  20. · kamo-internal

    O assistente transmite suas respostas, com o REST como o recuo

    O assistente era apenas REST desde antes de KamoAI: seu contexto WebSocket relatado "conectado", não abriu nenhum socket, e postou cada mensagem, de modo que a resposta inteira chegou imediatamente. Agora abre o /ws/ai-chat do AIService no domínio api.<o org> com uma chave única (/api/generate-otk?purpose=ws) e mostra a resposta como está escrito: - Os quadros TOKEN vão para a bolha de respostas; MESSAGE COMPLETE's saved response (com sua citações) substitui-o, e um frame sem texto mantém o que é transmitido; - um TOOL RESULTADOS lima o texto antes da chamada da ferramenta e da linha da ferramenta, como a transcrição lê Após recarga; - as mensagens vão uma de cada vez, então duas respostas nunca vão para uma bolha; quadros de outra conversação no mesmo socket são ignoradas; - O REST permanece o backback quando o socket não pode ser aberto (sem chave, sem host api, uma recusa ou lentidão aperto de mão); uma tomada que cai no meio da resposta termina com um erro em vez de perguntar novamente; - a tomada abre com a primeira mensagem e fecha após cinco minutos inactivos. O placeholder 501 /api/ai/ws, que disse que o soquete não pôde ser alcançado, é removido. SP99-T10.

  21. · KlusterServices

    Uma sonda de estação de trabalho que nunca imprime o símbolo MCP

    A aceitação do SP11 leu o descritor de uma estação de trabalho de IA e examinou seu MCP ponte à mão, e uma linha de diagnóstico impresso um token portador vivo em um transcrição da sessão (SP11 Task 30 review, finding 2). canary/workstation-probe.sh faz ambos. descrever imprime o descritor com o token como "<presente>" ou nulo (--refresh mentas uma nova); sonda corre inicializar, os nomes das ferramentas, o tipo de uma captura de tela e um token errado de uma recipiente efêmero na cápsula do avião de ferramenta, e cada linha que imprime, sua erros incluídos, está mascarado. O token vive numa variável de shell e o A sonda está só com stdin. Os testes de kubectl falso com um token conhecido e executar o sonda gerada com enrolamento contra uma ponte local.

  22. · kamo-login

    Envie uma inscrição do universo para o seu check-out, ou para criar a sua organização

    kamo-register estaciona plano de inscrição paga em sp checkout plan, e Os planos do site KamoUniverse são do próprio universo (family premium, community starter, personal pro, ...). planoCheckoutUrl apenas honrado starter, então um comprador que tinha acabado de verificar seu e-mail e A entrada foi lançada na tela inicial em vez da saída. planCheckoutUrl move para lib/planCheckout.ts e aceita o contrato compartilhado **************************** Encaminha o universo para... sempre o universo do PLAN, uma vez que essa é a escada de onde é vendido — sempre que o plano pertence à família, comunidade ou pessoal ou kamo-registro estacionado sp checkout universo; ele limpa esse cookie com o plano e código. Uma inscrição GRATUITA em Família, Comunidade ou Pessoal estaciona um universo e nenhum plano. Sem ?next= explícito e sem anúncio de emprego, ele agora cai sobre /network/create?universo=<u> no espaço de trabalho, onde a página de criação pré-seleciona esse universo; o cookie é gasto no uso. O negócio é da própria página de criação padrão, então uma inscrição de negócio pousa onde quer que ele sempre fez. O funil de negócios está inalterado: **************************** ainda produz Sem universo. Estou a tratar disso. tests/planCheckout.test.mjs prende-o (node --experimental-strip-types -- tests/*.test.mjs).

  23. · kamo-register

    Levar um plano do universo e o seu universo para o checkout

    O site KamoUniverse assina pessoas como **************************** e os seus planos pagos são os próprios universos: family premium, community starter, personal pro e assim por diante. O manipulador de conclusão apenas estacionou starter, business, empresa, então cada universo se inscreve que tinha escolhido um pago plano terminou o registro e nunca foi enviado para checkout. O hand-off move-se para lib/checkoutHandoff.ts e aceita o contrato compartilhado **************************** (Planos livres não precisam de checkout e estacionar nada). Também estaciona sp checkout universo de um ?universo= válido — com ou sem um plano, uma vez que um livre inscrição em um universo ainda tem que alcançar "criar sua organização" com esse universo escolhido, o que Kamo-Login faz agora. Os mesmos atributos de cookies e regra do ápice como antes, então kamo-login esclarece o que isso escreve. O funil de negócio é byte-for-byte o que era: ?plan=starter enterprise[&code=] escreve exatamente os mesmos cookies. `npm run guard: checkout` E o resto do contrato. Uma inscrição que nomeia um universo diz isso sob o contador de passos: iniciando um universo familiar".

  24. · kamo-internal

    Pergunte a que universo pertence a organização de um cliente, e leia planos por tipo

    A plataforma agora vende quatro escadas de plano — Negócios, Família, Comunidade e Pessoal — e universo de uma organização decide qual é oferecido. /rede/criar faz a pergunta, uma vez, onde pertence: somente quando o organização está sendo criada diretamente sob a plataforma (a sessão organização é de topo), que é onde a primeira organização de um cliente é Feito. Em qualquer outro lugar, a nova organização é um ramo de um cliente existente e o SecurityService dá-lhe o universo dos seus pais, por isso não é mostrado nenhum Não é enviado nenhum «universo». O pai é lido do /api/org/current em vez do OrgContext do shell, que no host compartilhado começa como plataforma e Fazer a pergunta a alguém que cria uma filial da sua própria empresa. O catador começa respondido — Negócios, ou qualquer que seja o site do KamoUniverse Ligação de hand-off chamada **************** Bloquear um lançamento. Um plano pago a partir dessa ligação que pertence ao universo escolhido é realizada através de `/validate?next=` na faturação da organização NOVA console com o plano já selecionado, com a chave na associação do próprio criador Pronto. `universo' monta no POST /api/segurança/org apenas quando perguntado; Segurança O serviço analisa o campo do corpo por campo, por isso a chave é ignorada até O Serviço de Segurança do Universo pousa. As superfícies do plano compararam os códigos: 'planCode'; 'FREE' (MyPlanWidget, PlanUpgradeDelta, PlanStandingHero, /myplan) e `=== 'ENTERPRISE' (AssinaturaOrdensWizard). Numa organização familiar não há GRATUITO — sua floor is FAMILY FREE — então a página não encontrou nenhum andar para medir um julgamento contra e ofereceu o plano gratuito como uma atualização. Eles agora perguntam planLadder: o chão é plan type FREE ou um código que o nomeie (cada resposta dada antes é mantida), e um plano negociado é ENTERPRISE ou <UNIVERSE> ENTERPRISE. O faturamento console já era orientado por catálogo e não precisava de nada. O meu plano mostra o universo da organização como um chip só de leitura na linha de org. Um ‘universo’ ausente — toda organização criada antes dos universos — diz como Negócios (universo ou padrão). Chaves: kamo-tradução-dicionário 1fcb6274 (pushed primeiro).

  25. · APIService

    O catálogo de assinaturas públicas leva ?universo=

    O site KamoUniverse mostra as escadas de família, comunidade e planos pessoais, e o proxy de catálogo público apenas encaminhado locale, para que ele só poderia retornar o Planos de negócios. **************************** E agora para a frente. um universo opcional (somente letras; qualquer outra coisa é um 400 antes de atingir o texto de consulta upstream). SecurityService decide o nome e lê um ausente um como negócio, então kamocrm.com, que não envia nenhum, recebe o mesmo upstream URL e os mesmos quatro planos de antes.

  26. · BillingService

    O console de faturamento vende uma organização planos de seu próprio universo

    KamoUniverse adiciona escadas de família, comunidade e pessoal ao lado do negócio, e BillingService assumiu um único catálogo: "O Plano Livre" era o código GRATUITO, "negociado" foi o código ENTERPRISE, e o mercado foi o primeiro da raiz. - resolverBillingMarketId: uma Família/Comunidade/Org pessoal compra de seu universo mercado (KamoFamily, ...), então o console lista essa escada apenas. Negócios inalterado. - criar/atualizar recusar um plano de outro universo que não o de uma organização alvo, por isso um família não pode postar o ID de mercado KamoCRM e comprar a escada de negócios. - Os controlos de plano livre são efectuados por tipo de plano (FAMILY FREE, ...) ou pelo código GRATUITO; Um julgamento expirado ou um plano caducado remonta ao plano livre do universo org. - Limites máximos de assento: negócio mantém "25 em qualquer plano, Enterprise acima"; o novo as escadas tampam cada plano na sua própria contagem de lugares e apontam para o plano seguinte, com apenas o plano negociado sem tampa (pessoal não tem nenhum: Pro's 5 é o fim). - EnterprisePlanGuard guarda todos os planos de tipo CUSTOM na plataforma org, Não só a ENTERPRISE codificada. - Os complementos compartilhados (e-mail, telefone, armazenamento) arquivados no mercado KamoCRM são listado em um mercado do universo quando compatível com seus planos, e um negócio A promoção não é anunciada num mercado do universo. Plano DTOs carregam "universo". Precisa dos Planos do Universo da biblioteca compartilhada com kamo (empurrado primeiro).

  27. · SecurityService

    Organizações são criadas em um universo KamoUniverse e conta de seu catálogo

    KamoUniverse vende escadas de negócios, família, comunidade e planos pessoais da plataforma org. SecurityService decide em que escada uma organização está, e cada lugar que assumiu "o plano livre" ou "Enterprise" agora pergunta por universo. - POST /api/security/org toma um "universo" opcional (negócios familiares comunidade pessoal, caso-insensível; desconhecido é um 400). Ausente, um ramo Herda a sua empresa-mãe, a menos que a empresa-mãe seja a plataforma ou um produto de plataforma; Caso contrário NEGÓCIO (armazenado nulo, como todas as org existentes). - Carregamento de carga (/org/current, /org/{id}, /org/domínio/{host}, /org/ref/{ref}) "universo" através da entidade; as linhas /network (minhas redes, todas as redes) Leva-o também. "BUSINESS" para cada org que precede universos. - /pos/assinatura-catálogo e /pos/assinatura-promoções tomar ?universo=. Ausente é NEGÓCIO, então kamocrm.com e o proxy público ver exatamente hoje catálogo. Os preços da lista são retidos de cada plano tipo CUSTOM, não só O único codificado ENTERPRISE. - DireitoServiço: o piso livre é o plano livre do universo de membros o chão da família já não carrega o CRM); um julgamento concede todo o catálogo para NEGÓCIO como antes e o nível superior do universo em outro lugar. - BillingSetupService semeia uma nova org no plano Livre do seu universo, mercado do universo (KamoFamily, ...), em vez de LIVRE em KamoCRM. Necessita do tipo de universo/planos de universo da biblioteca compartilhada de kamo (empurrado primeiro).

  28. · InitializerService

    Os catálogos Família, Comunidade e Pessoal ao lado da escada de negócios da KamoCRM

    KamoUniverse vende quatro catálogos da tabela de um plano da plataforma org. Isto Aterra o esquema e os dados para os três novos. - UniverseColumnsMigration (@Order 0): orgs.universe type e **************************** nullable INT, sem padrão - null is NEGÓCIO, portanto, nada é recheado e nenhuma linha existente muda de significado. - UniverseCatalogMigration (@Order 50), insert-if- missing e scoped by org id: os mercados KamoFamily / KamoCommunity / KamoPersonal SUBSCRIPTION; os doze Planos (FAMILY *, COMUNIDADE *, PESSOAL *) com tipo universo e um explícito market id, assim KamoCRMMarketBackfillLoader nunca os absorve em KamoCRM; seus Preço mensal/anual/trienal por assento; USUÁRIOS (limite máximo de assento, ilimitado no Planos negociados) e linhas de ARMAZENAMENTO (4 GB/sede); correio e telefone "Add-on" linhas; compatibilidade para os cinco add-ons que cada plano pode comprar (ambos Telefone, armazenamento extra); e faixa de assentos 51-250 da Community Premium a 15% de desconto. - UniversePackages: quais aplicativos cada novo plano inclui, lido por ambos **************************** (a autoridade, que escreve as linhas) e Por isso não podem discordar. Sem CRM em Escadas familiares ou pessoais; correio, sistemas de origem, registos de doentes e computadores hospedados em nenhum nível do universo. - Os complementos de originação/EHR/Computadores Hóspedes são compatíveis com o BUSINESS planos negociados apenas quando criado pela primeira vez, nunca a família / Comunidade. - O teste de totalidade "commerce children sit justly with POS" regra é o a história da escada de negócios; agora verifica códigos de negócios, e um novo cheque mantém Todos os níveis do universo de juntar uma criança do comércio sem POS.

  29. · kamo-shared-library

    Organizações e planos pertencem a um universo KamoUniverse

    KamoUniverse vende a plataforma para quatro públicos - Negócios, Família, Comunidade, Pessoal - cada um em seu próprio plano escada com pacotes que se encaixam nele (uma família fica sem CRM). Nada podia distinguir esses catálogos: cada org resolveu seu chão livre do plano da raiz codificado GRATUITO, que inclui o CRM e aplica o que quer que o Org paga, então uma org Família teria mantido o CRM para sempre. - UniverseType (AJUSTAMENTO 1, FAMÍLIA 2, COMUNIDADE 3, PESSOAL 4) persistiu por id através do UniverseTypeConverter (id desconhecido é nulo), JSON pelo nome. Null significa NEGÓCIO em toda parte; negócio continua sendo armazenado como nulo. - Organização.universo (orgs.universo tipo) e AssinaturaPlan.universo Ambos nulos. Organização getter nunca retorna nulo, então cada carga útil de org diz "universo":"BUSINESS" para As orgias que o precedem. As colunas foram adicionadas e verificadas em Yugabyte por KamoInitializer's UniverseColumnsMigração antes disso ser empurrado. - Planos do Universo: puros ajudantes (sem novo feijão) para o plano livre de um universo, nível superior, Plano negociado e tecto auto-servitivo dos bancos. - Está bem. O chão livre é o universo livre de org plano; um julgamento concede tudo para o NEGÓCIO (inalterado) e do universo Em outro nível superior. - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Planos filtrados para o universo (null = BUSINESS), add-ons/bundles/promotions podado para aqueles que nomeiam seus planos; uma linha que nomeia nenhum plano é apenas para negócios. Para NEGÓCIO o resultado é exatamente o catálogo pré-universo. Plano de transporte de DTO "Universo".

  30. · KlusterServices

    Dev.kamouniverse.com encaminha para www

    O site está ao vivo em www.kamouniverse.com, então seu anfitrião pré-lançamento pára de servi-lo e 301s para https://www.kamouniverse.com com caminho e consulta mantidos, assim os links existentes continuam funcionando. A redirecionamentoRegex middleware faz isso (kamo-nowww somente canonicalises um ápice nu); prioridade 300 superior o próprio IngressRoute do site, que cai dev em um acompanhamento. O certificado dev permanece em STATIC DOMAINS assim Os links https ainda estão em andamento.

Seu universo está esperando.

Comece gratuitamente em minutos.Adicione produtos sempre que estiver pronto — sem migração, sem novos logins.

Gratuito para sempre — não é necessário cartão de crédito