Largue a restrição que limita um membro a uma conta de faturamento
Encontra a restrição pela forma em vez de pelo nome — Hibernate a gerou e o nome não é estável em ambientes, então qualquer restrição única em account members c...
Que os membros e grupos paguem por si mesmos, segundo as regras do proprietário
Faltavam três coisas e uma era ativamente prejudicial. account members carregava um único elemento global no member id — um membro poderia administrar exatamen...
Expor o impacto da falha aberta ao operador
A página de catálogo de aplicativos já responde à pergunta independente de orgs — faz qualquer Plano mencionar este aplicativo — e levanta um aviso quando ningu...
Mostrar o que custaria desligar a abertura de falhas
kamo.entitlement.fail-open concede qualquer aplicativo que a matriz do plano nunca menciona. Está. documentado como uma válvula temporária para o enchimento do ...
Mostrar se alguém está lá, e sua extensão
Cada linha agora carrega um ponto de presença e palavra ao lado do nome, e sua extensão na linha de detalhe — então escolher uma pessoa já não significa escolhe...
Transportar disponibilidade, presença e extensão em uma linha de diretório
Escolher uma pessoa é mais fácil quando a linha diz se eles estão lá e como Apanhem-nos, pois, cada um agora carrega o que pela última vez declararam, quer algo...
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 ...
Opt-in auto-expand com um teto
Duas colunas sobre a assinatura que detém os blocos: se comprar outro um automaticamente quando a organização fica sem espaço, e o máximo que pode Nunca 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 ...
Adicionar as colunas que fazem uma alteração de preço detectável
Order(0), nullable, no backfill — um valor nulo lê como "não sabemos o que este preço foi criado com" e o reconciliador trata-o como desconhecido em vez de como...
Gravar o que cada preço Stripe foi criado com
O mapeamento armazenado apenas qual ID de preço usar, então uma mudança de preço do catálogo poderia nem sequer ser notado. garantirPlanPreços curto-circuito na...
Digite a capacidade de armazenamento que o resumo agora retorna
Mantém o contrato do cliente na etapa com BillingService, que agora relata o que o plano inclui, quais blocos foram comprados, o teto combinado e o fração usada...
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...
Dar um efeito ao subsídio de armazenagem
O armazenamento foi medido em dezenove domínios, por noite, com falha de construção teste de cobertura — e nada em qualquer lugar computou um subsídio ou recuso...
Diga ao solicitante se o seu agente está realmente lá
Um fio silencioso não distingue "ninguém olhou para isto" do "meu agente" se afastou", e a pessoa que espera não pode dizer qual. O anúncio da conversação diz q...
A reatribuição chega ao novo agente, e o solicitante é informado quem está lá
A mudança não chegou a ninguém. atribuiçãoAbridoAt registros que um cliente colocou a conversa na tela, e é o que levanta um ticket no sign-in — mas Ainda tinha...
Atribuir um pedido de chat e atribuir a partir da lista de tickets
Duas lacunas, mesma causa — a designação foi tratada como algo que acontece com bilhete em vez de um pedaço de trabalho. O botão de atribuição foi escondido pa...
Motor de citação para o selecionador plano, combinando o que Stripe vai cobrar
A aritmética por trás de um total em execução ao vivo, mantido à parte de qualquer componente assim que o os números podem ser testados diretamente. Ele espelha...
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...
Portão ações pagas em um assento licenciado, no ponto de estrangulamento
Quase todas as ações gateable no produto — discar uma extensão, e-mail um membro, abrir o assistente de IA, tocar uma gravação, iniciar uma conversa social — é ...
Resolver o que um membro pode fazer, não apenas o que seu plano inclui
Os subsídios de recurso descrevem um plano. Nunca descreveram este membro, porque o navegação por portas de console em org-level org.features — assim um membro ...
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,...
Reprize Armazenamento Adicional em $2,50 por 10 GB, org-wide
O add-on descreveu um pool compartilhado em toda a organização e foi então preçod USO BASED em $4 com "25 GB" declarado apenas em prosa. Nunca nada apresentou e...
Dê um tamanho de unidade e uma quantidade de compra
A unidade de um complemento só existiu como prosa dentro de sua descrição ("Cada unidade adiciona 25 GB") e como uma constante codificada no site de marketing, ...
Escolha o agente para onde reatribuir um ticket, em vez de digitar seu id
Atribuir e reatribuir abriu uma caixa de texto na qual digitou um ID de membro bruto — na qual significa já saber o id da pessoa que você queria, para uma ação ...
Endpoints para a entrega automática de entrada
GET /sessions/chat/auto-open retorna as conversas de chat do cliente deste membro deve levantar; POST /sessions/{guid}/registros abertos automaticamente que ele...
Registro durável de uma conversa que o cliente levantou sozinho
MediaSessionMember ganha AUTO OPENED AT, ao lado do msgIdLastViewed porque é o o mesmo grão — um fato sobre a relação de um membro com uma sessão. Aquele. respo...
Renovar o painel de preferências
Quatro dropdowns e um interruptor em um painel lavado de cima para baixo no inquilino cor em plena força, então cada controle lutou seu próprio fundo. Cada sele...
Substituir os spinners da caixa de correio por um esqueleto que se reúne
Cada estado de carregamento em /mensagens era um Loader2 em um painel vazio de outra forma — o boot, a lista de mensagens, a árvore de pastas, o corpo da mensag...
Adicionar e remover os convidados da janela de eventos
A última coisa que o diálogo não pôde fazer. Podia mostrar quem já estava em um evento, mas não havia maneira de colocar alguém lá — o único controle convidado ...
Gerencie a lista de convidados de um evento
A janela poderia mostrar quem já estava num evento mas nunca adicionar ou remover alguém; a única operação convidada foi re-notificar pessoas que estavam de alg...
Procura de convidados e delete-por-evento
A janela do evento mostra com quem está um evento e o endpoint da lista devolve uma mês de eventos de cada vez. Pedir convidados por evento é uma consulta por l...
Diga ao membro com o que o evento colide, como eles definiram
A coisa mais útil que uma janela de agendamento pode dizer é "você já tem algo então", e o endpoint para respondê-lo existiu junto com Nada disso. O diálogo ago...
Deixar o endpoint de conflitos excluir o evento sendo editado
ConflictDetectionService sempre tomou uma exclusãoEventId; este endpoint Passou nulo. Sem ele, um evento se sobrepõe, então no momento em que o evento diálogo c...
Reconstruir a janela do evento em torno de quando, não em torno de campos
Dez campos esboçados de forma idêntica numa coluna, na ordem em que colunas acontecem de sentar na tabela: título, descrição, localização, calendário, dia intei...
Estratégia de atribuição automática e abrir uma conversa atribuída automaticamente
As configurações dos tópicos ganham a quarta estratégia. As linhas da lista e a janela de edição compartilhar o mesmo rótulo, e a chave enviada para o dicionári...
AUTO ASSIGNMENT, e levantar uma conversa atribuída na tela do agente
Uma solicitação de chat e um ticket enviado são a mesma unidade de trabalho; A estratégia é a única coisa que decide como é entregue. A O caso especial PRE TICK...
Estratégia AUTO ASSIGNMENT e um registro durável de uma entrega invisível
AUTO ASSIGNMENT(3) é anexado ao SupportAssignmentStrategyType — assign imediatamente para um agente que está genuinamente online, preferindo quem detém o menos ...
O chip de um aplicativo preso lança o aplicativo, não suas configurações
O chip líder de uma faixa presa estava ligando para as configurações de pouso do aplicativo - O mesmo lugar onde a primeira entrada já vai. Ele agora pega empre...
Sincronizar o calendário da organização com os telefones, sem abrir um buraco
O calendário compartilhado não tem proprietário, então a listagem de DAV com o escopo de conta poderia nunca devolvê-lo: os eventos da empresa estavam clarament...
Adicionar e preencher contas. data criada
Hibernate não pode adicionar este em si: ddl-auto emite NÃO NULL, que BarataDB recusa em uma tabela que já tem linhas. Então é adicionado nulo Aqui, recheado, d...
Gravar quando uma conta foi criada
A conta não carregava nenhuma data de criação — não uma coluna nula, nenhuma coluna. A lista de contas tem uma coluna Data Criada e ordens por ela, de modo que ...
Pin um aplicativo habilitado para o home launchpad
Cada tópico de aplicativos habilitados agora carrega uma opção de pino, na subopção Configurações menu e em seu cabeçalho de seção na landing page de configuraç...
Dê ao Mobile Copilot configurar sua própria página de largura total
A superfície de telefone foi a terceira guia do Centro de Interação slideout, que o capped em um trilho 500px — demasiado estreito para mostrar a instalação cód...
Reconstruir o calendário em torno do momento atual
A página era uma grade funcional com o cromo fazendo a fala: um 3px regra do arco-íris sob a barra de ferramentas, uma segunda sobre o conteúdo, gradiente botõe...
Mover calendários para os membros e dar a cada org um compartilhado
Calendários e eventos eram de propriedade de uma conta e não levavam nenhuma organização. Isto atribui cada um aos primeiros membros do seu proprietário — a org...
Calendários de escopo para o membro, e adicionar o direito de publicação em todo o org
UserCalendar e CalendarEvent penduraram o USER ID sozinho e não carregaram organização. Um usuário é global e um membro é aquele usuário dentro de um organizaçã...
Contatos de livro de endereços compartilhados à mão para seus proprietários
EmailService agora examina todos os contatos lidos para contact books.owner id, que deixa os contatos já sentados em uma organização-padrão sem proprietário liv...
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...
Como o que você vê o transporte?
Comece com o plano gratuito e leia esta página novamente daqui a um mês, para saber mais sobre o que está disponível para você.
