Índice parcial único que impõe um pacote de encerramento ativo por empréstimo (eFechar backstop de fechamento duplo)
CRIAR ÍNDICE UNICO ON mlos closing package (empréstimo file uid) Where status <> 'CANCELLED'. Encosto durável atrás do guarda de idempotência no aplicativo: um ...
Thumbnail materiais gerados programados em processo
Uma varredura sem cabeça não pode conduzir o oleoduto de miniatura OTK do ConversionService, então gerar uma página-0 PNG thumbnail via ImageIO logo após armaze...
Programações de geração recorrentes UI
ScheduleManager: criar/lista/eliminar horários (receita + diário/semanal/mês + hora/dia + alvos automáticos opcionais + legenda); lançado a partir de Materiais,...
Geração programada — varrer as receitas numa cadência
- CanvaScheduleController: CRUD para horários de org (receita + cadência + hora/dia + alvos sociais opcionais), calcula nextRunAt - CanvaGeneration Serviço: sem...
CanvaSchedule entity + repo (geração recorrente)
Programação recorrente (receita + cadência + metas sociais opcionais) com uma consulta de reivindicação atômica para que uma varredura MediaService execute cada...
Transcrição Sussurro expansível em linha no correio de voz softphone + chamadas-história linhas
Cada linha gravada (correio de voz e histórico de chamadas) obtém um 'Transcript' comutando isso Obtém a transcrição Whisper da gravação a pedido e mostra-a em ...
Salvar + reutilizar receitas de preenchimento automático
ModeloAutofill: "Receitas salvas" chips carregar um modelo + mapeamento pré-preenchido; "Salvar como receita" persiste o modelo atual + valores de campo org-wid...
Receitas de preenchimento automático salvas CRUD (org- scoped)
CanvaRecipeController: GET/POST /api/media/canva/recipes + DELETE /{id} — salvar/lista/soft-delete um mapeamento de campo chamado marca-template +, escopo para ...
CanvaAutofillRecipe entity + repo (receitas de preenchimento automático salvas)
Org-shared chamado vinculação de um modelo de marca Canva para valores de campo (literal texto ou uma imagem de Materiais), para que os administradores possam e...
Adicionar campo ID do material para criar formulário, página de detalhes e importações
Threads a nullable materialId (max 40) através do tipo Lead, leadsApi (criar + atualizar solicitações de fio), e o campo de campo de leads compartilhado lista —...
IU de preenchimento automático empresarial — modelos de marca de fusão de dados
ModeloAutofill: escolha um modelo de marca Canva, preencha cada campo com literal texto, um símbolo org/compliance (NMLS #, Equal Housing disclosure, nome org/t...
Preenchimento automático empresarial — modelos de marca de fusão de dados
- CanvaApiClient: list brand templates (dataset=non empty), obter dataset, trabalhos de carga de ativos, criar/obter trabalhos de preenchimento automático - Can...
Persistir o ID de material mapeado na importação manual + entrada de API
Ambos setDirectFieldOnCreateRequest switches não possuem uma caixa padrão, então um Sistema não mapeadoFieldPath é deixado em silêncio. Adicionar uma caixa de m...
Adicionar o campo ID do material de ponta a ponta na lib- partilhada
Adiciona um material nullable, max-40-charId à entidade líder (MATERIAL ID VARCHAR(40)), regista-o no LeadHistoryFieldRegistry (categoria de perfil) assim as ed...
Anexo social + email-a-material + links públicos
Distribuição para materiais de marketing, construída sobre a nova costura pública-URL assinada. - materiaisApi.publicLink(imgId) + /api/materials/link proxy - ...
URLs públicas de curta duração assinadas para ativos de marketing
Permite aos provedores sociais (Meta) e e-mail obter um material específico para um limite janela sem expor o balde de material de imagem privado. - MaterialUr...
Transição de auto-submissão do mutuário de primeira classe
PROJECTO→APLICAÇÃO TAKEN para um mutuário (uma parte emprestada, não um operador, por isso não LOS TAKE APLICATION). Rotas através do transition() com um predic...
Excluir + pré-visualização + importar-arquivo-para-Canva
- apagar um material (aberto em MANAGEM MATERIAIS) com confirmação - clique em uma miniatura para visualizá-la em uma caixa de luz - "Importar um arquivo" trans...
Importar um ficheiro para o Canva como um desenho editável
- Está bem. (importação de projecto binário) - CanvaController POST /importações (multipart) → criar+poll trabalho de importação → editor ligação profunda com c...
Devolver a transcrição nos metadados de gravação do leitor de softphone
Serviço de Transcrição Compartilhada + Endpoint genérico; transcreva gravações VOIP
- Extrair um serviço de transcrição reutilizável (fmpeg normalize -> sussurre- asr) e um PÓS genérico /api/conversão/transcribe endpoint, substituindo o meet-sp...
Transcrição coluna em Gravação + GravaçãoMetadata
Adiciona uma coluna de TEXTO TRANSCRIPT à entidade de Gravação e insere uma transcrição Não, não, não. (com compatibilidade para trás os construtores assim que ...
Verificar a assinatura JWT do nav- de- retorno; actualizar o 'token'
- CanvaJwtVerifier: verificar a assinatura Ed25519 da correlação jwt contra JWKS do Canva (/connect/keys), mais aud/exp/type; chaves em cache por kird. Return-n...
Tornar o sussurro-asr independentemente escalável (HPA, multi-node)
Remova o pino de um único nó e mude para um cache de modelo por pod para pods agendar em qualquer nó, e adicionar um HPA (min 1 / max 4, CPU 75%, deliberado dim...
Rebrand Guacamole status de conexão do cliente para KamoDesktop
Substituir ******************* A ligação ao ecrã do Guacamole... (e estado relacionado) lê KamoDesktop.
Ingerir gravação, retenção/quota, uso de armazenamento, pipeline sumário
- MeetRecordingController: interna (X-Internal-Auth) ingere o ponto final do jibri finalize.sh posts terminou as gravações para. - MeetRecordingService: envia g...
Vars de amostra para antevisão do modelo de resumo de reunião
Adiciona uma caixa de exemploVariáveis para o novo modelo de resumo de reunião para o administrador Preview UI torna conteúdo realista.
Modelo canónico da reunião-síntese
Adiciona o modelo transacional "reunião- resumo" (sujeito + HTML marcado com {{ roomName}} e em bruto { { summaryHtml}) e regista- o no CANONICAL KEYS assim qu...
Módulo de moderador de prosódia, sussurro-asr, envio de gravação jibri
- Meet-prosody: versão-controlar o configMap de plug-ins personalizados (captura o token verification no-op existente sobreposição que foi criada fora da banda)...
Endpoint de gravação da transcrição para resumos pós-sessão
POST /api/conversion/meet/transcribe (X-Internal-Auth): normaliza um envio reunião de gravação para 16kHz mono WAV através de um novo aditivo FfmpegService help...
Integração de calendário para reuniões agendadas + medidor de armazenamento de gravação real
- calendárioIntegraçãoEnabled: quando on, uma reunião agendada do clube é também adicionado ao calendário do criador (através do sistema de calendário existente...
MeetingRecording entity + repositório para gravações capturadas
Nova tabela RECORDING RECORDINGS (org, ref reunião, sala, balde MinIO/chave objeto, tamanho, duração, tempos de captura/expiração, estado do resumo) — o registo...
Aplicativo de marketing, configurações hub, materiais Canva
Faça com que o Marketing seja um aplicativo de primeira classe habilitado para org e envie o Canva Experiência com materiais. Aplicabilidade: - AppType.MARKETI...
Video poster-frame miniaturas para materiais de marketing
Exportações do Canva MP4 (e qualquer upload de vídeo) pular o caminho Docs PDF e obter um thumbnail de poster- frame simples do ffmpeg ( thumb p0. png) em vez ...
Canva Connect OAuth + projeta/exportar infraestrutura
- CanvaApiClient: PKCE autorizar, troca de token/refresh/revoke, usuários, desenhos (criar/listar), trabalhos de exportação, obter byte - CanvaTokenService: tok...
Integração com Canva + Marketing como um aplicativo de org-able
- Está bem. — plataforma Canva Connect registro de cliente - ImageAssocType.MATERIAIS(13, image-materials) — material de marketing de org balde - Está bem. em S...
Requer-password gate para convidados anônimos (membros bypass)
Quando uma org permite requirePassword, os visitantes do link anônimo devem entrar na sala senha; os membros autenticados nunca são solicitados. - sidecar: sem...
Activar a remarcação Guacamole json-auth SSO + KamoDesktop
- JSON SECRET KEY (opcional) no guacamole a partir do ambiente de trabalho compartilhado-secreto habilita o pacote guacamole-auth-json extensão o deus-SSO links...
Ícones KamoDesktop somente para Deus (Linux + Windows) abrindo sessões conectadas automaticamente
Dois ícones de navegação deixados do Analytics, mostrados apenas para membros NavGateContext). Cada um obtém um link SSO de curta duração do SecurityService e a...
Endpoint de símbolo de SSO KamoDesktop para membros de deus
- Está bem. (somente elegível para Deus) Token de 5 minutos de guacamole-auth-json (HMAC-SHA256 + AES-128-CBC, por extensão formato do fio) e retorna um auto-lo...
Nomes dos quartos, formato do quarto, calendário reuniões Kamo, começar lembretes; configurações i18n
- useMeeting/MeetingDialog: os nomes das salas são agora espaçados pelo símbolo org, por isso dois orgs nunca pode colidir na mesma conferência Prosody, e honra...
Gravar automaticamente + gravar marca d'água das configurações de org
wrestles.js loadOrgMeetSettings agora, quando a gravação está habilitada: - marca d'águaOnRecordings → mostra uma org "REC" sobreposição de marca d'água durante...
Avisos de início de reunião agendados + expiração do link de hóspedes
- MeetingReminderSweep: @Scheduled varredor que dispara em tempo real Lembrete de "começar a reunião" para os membros convidados (iniciar - lembreteMinutesBefor...
Mostrar a disponibilidade dos membros na lista de chats; renomeie a aba para a pasta
1:1 linhas de bate-papo agora superfície a presença ao vivo da contraparte + disponibilidade o da mesma forma que a aba Diretório faz — mesmo uso Disponibilidad...
Ambiente de trabalho remoto KubeVirt endurecido + gateway Guacamole
Adiciona uma pilha completa de desktop remoto, aplicada pelo GitOps através do fluxo de trabalho de implantação: - KubeVirt + CDI instalado na hora de implanta...
Sub- tabs para grupos de conversação, lembre- se da última página aberta
A lista de chats filtrada por uma linha de chips de comprimidos multi-selecionados que procuraram de lugar sob a aba Chats. Substitua-os por uma barra de subtab...
Explicar quando o e- mail não está configurado; gate compower
A caixa de entrada /mensages anteriormente renderizou sua shell completa mesmo quando a org não tinha provedor de e-mail ou o membro não tinha caixa de correio,...
Todos os tipos Lista de bate- papos + atenção navegador-tab
Chats sub-tab agora lista membro, grupo, suporte e conversas sociais em conjunto, o mais recente primeiro, com um filtro multi-selecionado Membros / Social / Su...
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.