Por omissão, uma nova organização de destino da subscrição para o chamador
Uma primeira compra não tem assinatura existente para copiar alvoOrganizaçãoId de, e requerê-lo incondicionalmente é o que fez criar um a partir do console impo...
Pare de revogar o acesso de faturamento de um membro ao adicioná- los em outro lugar
add() apagou a linha do membro em qualquer outra conta para satisfazer uma única global que já não existe. Adicionar alguém a uma segunda conta de faturamento a...
Compre um bloco quando uma org optado ficar sem espaço
Corre pouco depois da varredura noturna de fotos, porque é isso que produz o figura de uso que decide sobre — expandir-se contra o número de ontem iria comprar ...
Deixe uma mudança de preço do catálogo realmente chegar ao Stripe
Os preços são imutáveis e o mapeamento mantém uma linha por (org, tipo, código, ciclo) atrás de uma chave única, de modo que uma vez que um preço existiu nunca ...
Capacidade de comunicação juntamente com a utilização
O painel de armazenamento apresentou os bytes armazenados contra nada — sem subsídio, nenhum percentual, nenhum dinheiro — assim um proprietário olhando para 40...
Faça um primeiro plano de compra e retorne os preços reais do plano
Duas coisas impediram uma organização de comprar uma primeira assinatura. As listas de planos só foram acessíveis através do sub.marketId numa subscrição já re...
Deixe um sub-org alcançar a conta que paga por ele
ContaAssinatura deliberadamente separa o ordenante da organização cuja os membros consomem os assentos, e contas auto-provisionadas sentam-se no nível superior ...
Contas por unidade de acréscimos por unidades compradas, não por cabeça
Rola a nova quantidade adicional através da criação e atualização: um complemento FLAT agora toma a sua quantidade Listra do que a subscrição realmente comprou,...
Cobrar o que o catálogo diz, uma vez, para a quantidade certa
Cinco defeitos que todos moveram dinheiro real, mais o IDOR sub-recurso abaixo deles. Ciclos de faturamento. Os preços anuais foram enviados à Stripe à taxa de...
Verificar o modo deus contra a base de dados, não um cabeçalho forjado
ContaOrgScopeInterceptor curto-circuito cada org e membro verificar o cabeçalho X-God-Mode-Active e cópias de proxy de faturamento do kamo-internal que cabeçalh...
SQL somente para barataDB que o PostgreSQL rejeita
BarataDB soletra o tipo de texto STRING; PostgreSQL e YugabyteDB usam TEXTO. 25 moldes através de consultas nativas ainda emitiam CAST(x AS STRING) e ::STRING, ...
Reconstruir contra a biblioteca compartilhada @Lob LONGVARCHAR corrigir
O dialeto PostgreSQL de Hibernate leu as colunas @Lob String como OIDs via getLong(). Afeta notas, contatos, calendário, tokens de OAuth, senhas de IMAP, campan...
Ponto em YugabyteDB e usar PostgreSQLDialect
O BarataDB foi substituído pelo YugabyteDB. strings de conexão se movem de baratadb-public:26257 para yb-tserver-service:5433, e o dialeto Hibernate desde o Pos...
Ler o uso da imagem de uma passagem desduplicada
Segue a mudança bibliotecária compartilhada para uma carga por arquivo distinto por organização. Tanto o resumo como o escritor de instantâneos diários tiram um...
Reconstruir para o domínio de previews gerados
Pega na mudança de biblioteca compartilhada que conta miniaturas e faixas para o organiza e lê bytes derivados de img dat derivatives.
Reconstruir para os domínios de branding e docs-workspace
Pega a mudança bibliotecária compartilhada que lê ambos de objeto armazenamento dias.
Reconstruir para o domínio de anexos de mensagens de texto
Pega a alteração bibliotecária compartilhada que mede os anexos MMS dos dados: URIs armazenadas em linha em VOIP MESSAGES.
Reconstruir contra os domínios de armazenamento por categoria
Obtém a alteração de biblioteca compartilhada que divide imgs em um domínio por ImageAssocType, então chame gravações, mensagens de voz, anexos de bate-papo, re...
Gravar a semântica corrigida da caixa de correio
EMAIL agora mede o correio Kamo realmente hospeda, atribuído por caixa de correio para o organização que o possui, em vez de somar um índice de pesquisa que Kam...
Deixe um administrador de plataforma executar a varredura de instantâneos sob demanda
A varredura é o que faz remoções de período e totais de vida para o domínios de exclusão difícil respondê-los em tudo, então dias perdidos para uma falha são pe...
Dar a cada organização um limite real de transação
ArmazenamentoSnapshotSweep.catchUp transportado @Transactional(REQUIRES NEW) e foi chamado do mesmo feijão. Spring aplica @Transactional através de um proxy, en...
Relatar o que uma organização está armazenando
A página de estatísticas da conta sempre disse "Nenhum dado de uso disponível para este período", para cada organização, porque getCurrentUsage() no kamo-intern...
Forçar o auto- ou proprietário em uma conta, não apenas o limite de org
Seguimento do portal cross-org, agora que a regra é decidida: dentro de uma organização você pode gerenciar sua própria conta de faturamento, e um proprietário ...
Pare uma organização de chegar a outra organização de faturamento
/api/billing/accounts examina sua listagem pelo cabeçalho X-Org-Id, mas cada rota abaixo /{accountUid} pegou o id diretamente do caminho e nunca verificou quem ...
Tente novamente a compilação bibliotecária compartilhada, que o uplink da LAN continua corrompendo
Três construções morreram hoje em "Tag mismatch" puxando um jarro — e o espelho acrescentou uma hora atrás não ajuda, porque kbservice, mcpgatewayservice e rags...
Resposta "é este vendível" do catálogo de aplicativos, não o enum
Disponibilidade tornou-se editável pelo operador em tempo de execução, então derivando-o do ServiceType.getStage() significa A publicação da MLOS em Apps e Recu...
Espelho Maven Central através da cópia GCS Google
Build 19 failed fetching tomcat-embed-core from repo.maven.apache.org with 'Tag mismatch' — a transferência corrompida, não é um erro de código: o mesmo commit ...
Validar códigos adicionais antes que eles possam conceder um aplicativo
active addon codes foi escrito diretamente do corpo da requisição. Isso foi inofensivo enquanto nada lia. a coluna, mas agora é uma entrada de autorização: um c...
Ocultar aplicativos não lançados do catálogo de planos e faturamento
* * *************esergue a conta onde um cliente escolhe o que subscrever, por isso não deve oferecer um produto ainda na lista Não Disponível — a mesma regra d...
Mantenha o is-prefix no PlatformAccountSummary também
Mesmo perigo Lombok/Jackson como PlatformOrgRow: isTopLevel() perde seu `é` on serialização, então o DTO colocar `topLevel`/`platformProduct` no fio enquanto o ...
Mantenha o is-prefix no fio para o produto éTopLevel/isPlatform
Lombok gera isTopLevel() para um campo `booleano isTopLevel` e Jackson tira o prefixo `is`, então o endpoint ao vivo foi serialização `topLevel` e `platformProd...
Declare os correspondentes de segurança explicitamente para que o serviço possa iniciar
O serviço não foi implantado desde 2026-07-03; cada cápsula desde então caiu antes do contexto carregado: Este método não pode decidir se estes padrões são pad...
Serve a pasta org como uma página filtrada, ordenada e paginada
GET /orgs pega página/tamanho/q/sort/dir mais sete filtros e retorna a casa envelope de página com agregados de toda a propriedade. GET /orgs/{orgId} serve deta...
Hidratação da página rebatida em uma constante contagem de consultas
Títulos dos pais, domínio primário, plano/mercado subjacente ao direito e a assinatura-marca de catálogo são cada um loteado IN (:ids) em toda a página, Assim, ...
DTOs de linha/página de diretório e o repositório de consultas nativo
PlatformOrgRow carrega as duas facetas separadamente: direito (subs de entrada) visando o org -- o que o governa) e faturamento realizado (conta o org possui --...
SQL do diretório Org com CTEs por faceta
Contas, assinaturas, membros, licenciados e crianças cada Agregar nas suas próprias CTE antes de serem unidas às orgs. Juntando-os em um passar multiplicaria li...
Pedido de directório de orgs validado e apertado
As pinças de tamanho para [1,100] e um tipo não reconhecido cai de volta ao título, por isso um URL editada à mão não pode solicitar toda a propriedade nem atin...
Modo de direito derivado através de um resolvedor determinístico partilhado
TrialAdminService escolheu sua assinatura de teste com findFirst() sobre uma lista não ordenada, então uma org segurando tanto um pendente quanto um teste ativo...
Endureça o download do kubectl contra a saída flácida [skip ci]
dl.k8s.io sobre a saída do corredor diminui intermitentemente no meio da transferência: curl: (56) OpenSSL SSL read: a descriptografia falhou ou o mac de regist...
Serialize Long IDs como strings para parar a perda de precisão org-id
Os IDs de Org são valores do CockroachDB unique rowid() que excedem o JS Max Safe Integer. BillingService foi serializá-los como JSON bruto números, então kamo-...
Expor trialExpiresAt on platform org summary for the admin trials UI
Aplica-se/extende-se/estatuto da plataforma de avaliação de resultados + teste DTOExpirações
A varredura agendada reverte as tentativas expiradas para Livre com cache-bust
Migrar para k1m1 (clone+registro+kubeconfig a partir do k1m1, soltar o k2m1, instalar o kubectl simples)
Registo de repositórios de sinais para o bean de apresentação de contadores
EsignMeterSubmissionService needs EsignUsageRecordRepository, but @EnableJpaRepositórios não escanearam com.kamo.z.shared.esign.repos, então o contexto falhou a...
Medição de uso do sinal eletrônico + verificação de auto-serve do consumidor
#4 medição: - EsignMeterSubmissionService (@Scheduled daily): agregado API-origin EsignUsageRecords per org+period; primeiro 40/period included, the rest submet...
Como o que vês no transporte?
Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.