Base inicial até $10 em cada termo
69 / 59 / 49, de 59 / 49 / 39. A escada de compromisso não é tocada pelo design — ainda exatamente $10 de desconto para um ano e $20 para três — que é o padrão ...
Definir "/sede/mês" à direita da sua própria linha
O preço mantém a borda esquerda e a unidade toma a direita, então o parêntese dois a largura do cartão em vez de empilhar o flush à esquerda — que deixou o núme...
A oferta atinge o herói ea faixa de preços
O herói já tinha uma fita de contagem regressiva, e não tinha nada desde então. o catálogo foi movido para uma porcentagem: `pickHeroOffer` filtrado em FLAT PER...
Coloque "/sentar/mês" abaixo do preço, não ao lado dele
Taxas de três dígitos e "/seat/mês" não compartilham uma linha em um cartão de quatro-across. Inline em 1rem o rótulo embrulhado no meio do texto ou espremeu o ...
Uma promoção que não resolve não deve alargar-se a todos os planos
Um EMPTY aplicávelPlanids significa "sem restrição" a jusante, então uma restrição que falha em TRANSLATE não deve ser permitido tornar-se uma lista vazia. A Ap...
Um código promocional funciona no seu último dia
A data final é o último dia em que um código funciona, não o primeiro dia em que não funciona — SubscriptionPromotions.check lê-lo dessa forma no servidor, ea o...
Um trilho de compromisso de três prazos, e uma promoção a página pode provar
Preços novos: Inicio $59/$49/$39 and Business $119/$109/$99 por assento por mês on Mensal, anual e trienal. O trilho substitui o par mensal/anual e sua pílula "...
Nosso preço vem do catálogo, e não pode ser digitado novamente
As páginas de comparação codificaram KamoCRM em $29 Starter e $64 Business enquanto o catálogo vendeu-os em $34 e $72. Nove arquivos, quarenta e dois menções, e...
Citar o nosso próprio preço por assento, não por usuário
As páginas do concorrente preçoam KamoCRM em uma unidade que não vendemos – "$29/usuário/mês Starter, $64/usuário/mês Negócios" — nas mesmas páginas que descrev...
Dê aos cartões de reserva as sobrancelhas herdadas que faltavam
Os três planos superiores não herdaram, por isso, numa construção fria. que é o que uma nova implantação serve até o primeiro revalidate — Starter mostrou "Até ...
Uma mesada de armazenamento, assentos não usuários, e parar de analisar prosa
O armazenamento é de 4 GB por assento em cada plano. As cartas não precisam de um caso especial para parar de repetir: ladderAs características já mostram o del...
Pare de colocar o texto verde no verde e mude o armazenamento para por assento
Contraste. Corrigi apenas os botões de gradiente sólido da última vez e deixei tinta verde em superfícies verdes, que é o que realmente lê mal. Auditado Todos o...
Starter is 5 seats, Business is 25
I had this right, then reversed it on bad reasoning and shipped 25 / 100. The volume-discount bands (Starter 11-25, Business 26-50, 51-100) are seat PRICING ro...
Cartas de plano mostram o que um nível ADDS, não tudo o que ele tem
As cartas listadas cada recurso incluído - 16 no Free, 30 no Starter, 52 no Negócios, 57 na Enterprise. Quatro cartas de altura muito desigual, cada uma de text...
Desquebrar a construção - desfazer uma varredura que causei
c8ec175 era para ser um commit de reconstrução vazio. Não foi: `git commit --allow-vaty` PERMITA um resultado vazio, não força um - ainda commits o índice, e es...
Rebuild to pick up the early-bird offer copy
The dictionary change landed after the last build, and messages/ is pulled at build time.
O título do banco lê um padrão, não um teto
O cartão impresso "Até 5 usuários" do plan.maxSeats, diretamente acima do seu próprio lista de recursos lendo "Utilizadores (25)" e uma coluna de comparação len...
A página contradisse-se, e a calculadora faturava e-mail por usuário
O distintivo incluído deu o plano errado. Todos os quatro módulos por assento estão incluídos em Negócios e Enterprise, e o crachá escolheu o primeiro ID incluí...
Give the phone add-ons a phone icon
PER_EXTENSION already renders as "extension/month" - addOnUnitLabel handles it and needs no change. The icon map does: it is keyed on the lowercased catalog cod...
Um add-on por mailbox não tem preço por usuário
PER MAILBOX caiu para o braço padrão, então a página de preços público anunciou os dois add-ons de e-mail como "/usuário/mês" contra uma caixa de e-mail preço. ...
Leia a marca da plataforma a partir de sua pasta alias
A pasta de tema foi derivada do nome do host — kamocrm.com tornou-se kamocrm-com — que é o local onde a marca foi escrita até que um domínio se tornou facultati...
Largar o título do banner superior
Remove "Executar o seu negócio sem Kamo é um erro." do topo fixo banner, conforme relatado. Confirmado ao vivo antes da mudança — a cápsula em execução servida ...
Pare de contar as visitas de um membro ao seu próprio link
Um membro verificando se seu próprio link de rastreamento funciona é o mais comum primeiro visitar qualquer código já recebe, e é pior do que inútil: infla o nú...
Mostrar centavos em uma taxa adicional que os tem
Armazenamento adicional é de US $ 2,50 por 10 GB bloco, eo catálogo armazena que como um número — assim 2.50 chega como 2.5 e renderizado diretamente no cartão ...
Definir o título entre aspas
Citações em torno da linha do banner, como solicitado — mas renderizadas a partir de CSS («open-quote`/`close-quote` contra «quotes: auto`) em vez de dactilogra...
Reconstruir e67f59b contra o commit dicionário que precisa
e67f59b renomeado previewBanner.now Live -> previewBanner.headline e foi empurrado antes da combinação kamo-tradução-dictionary commit (f4627d31). A construção ...
Troque o crachá NOW LIVE pela manchete que estava escondendo
A faixa superior levou com uma pílula de seis caracteres — bordado, maiúscula, pulsante — e colocar a mensagem real depois dela. A pílula agora carrega a mensag...
Citar a taxa anual sob a legenda "billed anualmente"
Os cartões de homepage ler a taxa de mês a mês fora do catálogo e impresso acima de uma linha dizendo "billed anualmente", assim Starter anunciou $34 e Business...
Comprimir cada resposta, não apenas o documento
server-nonce.js pede upstream para `identity` para que o HTML possa ser carimbado com uma nonce CSP sem uma descompressão/recompressão ida e volta, então Recomp...
Dreno de trabalho diferido um item por período de inactividade
Quatro componentes esperaram que o fio principal ficasse quieto antes de fazer seu trabalho — o pacote torrado/consent, o cromado de rolagem, o toque varrer o a...
Leia a posição de rolagem de um observador, não da disposição
O estado rolado/no topo do navegador veio de um manipulador de rolagem que leu window.scrollY, e o efeito de montagem chamado aquele manipulador síncrono durant...
Servir ativos estáticos como brotli de tempo de construção
O pedaço marcado é reactive-dom, e eu verifiquei-o corretamente antes de concluir qualquer coisa: é a construção de produção (sem marcadores dev, e os ganchos d...
Largue o pré-conectar não utilizado, e corrigir os 565 ms de brotli que eu adicionei
Duas descobertas, e a segunda foi minha. O DOCUMENTO TOMOU 1.259 Ms POR CAUSA DO NONCE WRAPPER. Medido com o site ao vivo: o HTML respondeu em ~900 ms enquant...
Põe as manchetes de volta
Restaurado exatamente como era — mesmo gradiente de duas camadas, mesma faixa de 120deg, mesmo 9s/1.1s cronometragem e facilidade — após removê-lo no passe de c...
Mover cada animação em loop para o compositor
Todos os 26 elementos do farol listados em "evitar animações não compostas" foram o mesmo erro em quatro lugares: animando uma propriedade de pintura. Medida co...
Pegue a versão silenciosa de "som não é permitido aqui"
Seguimento para o silêncio. Testando tap-to-play contra o site implantado apareceu um modo de falha que o recuo mudo não cobriu. A recusa `play()` rejeita, e i...
A contagem de microservices é 64+, não 30+
O número é 64+ serviços agora. Cinco superfícies não traduzidas ainda alegaram 30+: a resposta tecnológica na página inicial FAQ JSON-LD (que é o que uma busca ...
Mostrar uma parada do movimento cambaleante em vez de um pulso cinzento
Adiciona public/img/hero-still.wepp — 1280x720, correspondendo aos 16/9 da abertura Exatamente — e faz com que seja o que o herói mostra até que alguém pression...
63 solicitações HTTP até 22
Aplica o relatório de pedido de orçamento. Medida da mesma forma que foi escrito — Chrome sobre o protocolo de depuração, emulação móvel, janela de dezesseis se...
O parâmetro de referência é ?discount= e o token é um UUID
A ligação que um membro tem é: Costumava ser... ?mrt=<memberId>.<iteration>, que coloca um id de membro real em cada URL compartilhada e deixe alguém enumerar a...
O carretel nunca estava usando hls.js, e telefones pagos para ele
Perseguindo "fazer menos solicitações HTTP" encontrou duas coisas reais, e a segunda é muito maior do que a auditoria que lhe conduziu. Ninguém estava a levar ...
Repetir o npm ci através da corrupção de transferência do corredor
A compilação falhou em: código de erro npm ERR SSL CIPHER OPERATION FAILED operação ossl gcm stream update:cipher falhou Esta é uma incompatibilidade de auten...
Limpar todos os erros de console e DevTools
Diagnosticado com o Chrome sobre o protocolo de depuração em vez de pelo raciocínio, coletando exatamente os erros de Lighthouse-em-console e questões de inspet...
Servir um verdadeiro nonce CSP por pedido com estrita dinâmica
Limpa ambos os resultados elevados restantes no script-src: o 'inseguro-inline' um e "host allowlists pode frequentemente ser contornada". Só um nonce com 'str...
Enforce Tipos de Confiança, local- scope o script allowlist
Limpa o cabeçalho "Nenhum Conteúdo-Segurança-Política com a diretiva Tipos de Confiança encontrado" descobrindo movendo-se tipo-confiável-para na política força...
Limpe o console e restaure a renderização estática que quebrei
Três coisas da consola, uma delas muito maior do que as outras duas. O grande. Perseguir as linhas de "A obtenção falhou ao carregar" levou à prefetch carga út...
A política Trusted Types estava sendo injetada pelo próximo/escrito
O console somente de relatório mostrou duas violações, e uma delas era a política Ao fazer o próprio componente: Este documento requer atribuição 'TrustedScrip...
CSP e COOP aplicados; Trusted Types report-only
Re-terra os cabeçalhos de segurança depois de eu ter derrubado o site com eles, menos o Uma directiva que o fez, mais um guarda de construção para que não possa...
Reverter "feat(security): fazer cumprir um CSP, COOP e tipos confiáveis"
Isto reverte o commit ****************************
Aplicar um CSP, COOP e tipos confiáveis
Adiciona os três cabeçalhos da auditoria de Confiança e Segurança solicitados, mais Referência-Política e Permissões-Política. Todas as origens da política fora...
Como o que vês no transporte?
Tudo isso chega em seu espaço de trabalho por conta própria. Comece no plano gratuito e leia esta página novamente em um mês.
