Contenha o transbordamento horizontal no painel de visualização de e- mail para a terceira coluna
- Adicione overflow-x-escondido ao recipiente externo MessageBrowser como limite rígido - Adicionar overflow-x-escondido à coluna 3 wrapper e overflow-x-auto pa...
Substituir o Coqui TTS por Piper TTS (en US-norman-medium)
O modelo Coqui VCTK não tem colunas nomeadas — substitua Piper TTS que tem a voz exacta do Norman. Binário Piper (~3 MB) e modelo (~60 MB) são baixados por um r...
Reset stale hasAttachments on sync and accumulate correctly
- Reset has_attachments=false at start of bulk sync so stale true values from old false-positive MIME detection are cleared before re-indexing - Accumulate ha...
Pré-popular em resposta/avançar e corrigir o envio deEndereço
- DraftMessage agora carrega deEndereço assim que flui de openNewMessage até ao compositor - MessageBrowser armazena o e- mail de caixa de correio activo caixas...
Suporte a partir do cancelamento do endereço ao enviar
Adds FromAddressRequest to EmailSendRequest so the frontend can especifique Apelido/compartilhado/endereço da caixa de correio a enviar. SmtpOnlyProvider agora ...
Adicione rede local para correção RTP cliente split-DNS / LAN
Telefones na mesma LAN que o k1m1 ligam- se através de DNS dividido (o domínio resolve- se para 192.168.4.22 internamente). Sem local net, Asterisco ainda anunc...
Persista em contato de feitiçaria=memória corrigir e bloquear scanner SIP em startup.sh
- Injectar [res pjsip] contact=memory em feitiçaria.conf antes de iniciar o Asterisco; a infra- estrutura SQLite da feitiçaria-astdb deixa cair silenciosamente ...
Sub-tab content fills full content-area width
Drop the centered max-width constraint (was 920 / 1200 / 680 / 720 depending on tab) on SubTabShell. The page already lives inside SettingsView's content column...
Fix attachment parsing and hasAttachment false positives
Three fixes to EmailImapService: 1. toEnvelope: narrow multipart check to multipart/mixed only — plain HTML+text emails (multipart/alternative) no longer sh...
Add download button to classic view attachment section
The classic view (MessageBrowser) had its own attachment list that was missing the download button — only the conversation view was fixed previously. Also align...
Add com.kamo.z.shared.commerce to EnableJpaRepositories scan
**************** (required by **************** in the shared library) lives under com.kamo.z.shared.commerce but was not included in the JPA repository scan, ca...
Logotipos adequados de layout, estofamento e provedor
Correcções de disposição / espaçamento: - Todas as seis abas (fornecedores, extensões, usuários de telefone, dispositivos, correio de voz, saúde) agora embrulhe...
Correct field name and type in getFromAddresses response
Backend was sending 'email' key but frontend expected 'address', and sent type 'shared_mailbox' when frontend expected 'shared'. Also fixes hasMailboxes flag wh...
Load FROM addresses from accessible mailboxes and aliases
Replaces the broken getFromAddresses() endpoint (which sent 'email' instead of 'address') with getAccessibleMailboxes() + listMemberAliases(), matching the same...
Usar sintaxe DROP ÌNDICE CASCADE compatível com o BarataDB
BarataDB rejeita TABELA ALTER ... DROP CONSTRUINT para restrições UNIQUE com: não implementado: não é possível soltar a restrição UNIQUE "uk org oauth provider...
Incluir com.kamo.z.shared.commerce na verificação de repositórios
Últimas propagações de bibliotecas partilhadas com kamo **************************** (donotmodify.dao.services) que tem uma dependência do construtor **********...
Adicionar o botão de download do anexo e dissociar a marca como lida
- Adicionar um botão de ícone de download para cada linha de anexo para que os usuários possam forçar download do arquivo em vez de apenas abrir em uma nova aba...
Mover o caminho da máquina do MinIO (rclone FUSE) para o /var/lib/pbx local
MinIO via rclone FUSE não suporta POSIX chmod ou symlink() — ambos requerido pelo sistema de módulos do FreePBX. Mudou todos os FreePBX e MariaDB hostPath volum...
Quebrar fwconsole/amportal via php para a máquina MinIO FUSEPath
/var/lib/asterisco é suportado por MinIO via rclone FUSE que não suporta POSIX chmod, então scripts fwconsole não podem ser tornados executáveis nesse volume. s...
Adicionar gancho e terminação preStopGracePeriodSeconds
Containers estavam ficando presos em Terminando porque fundo Asterisco os processos continuaram em execução após a saída do apache2ctl (PID 1). envia o gancho p...
Adicione bootstrap.php para regenerar /etc/freepbx.conf
O instalador escreve freepbx.conf com datasource='' e um require once para bootstrap.php, que config.php depende para carregar a classe FreePBX. Nossa versão re...
Regenerar /etc/freepbx.conf ao reiniciar
/etc é efêmero (não um hostPath), então /etc/freepbx.conf escrito pelo o instalador é perdido em cada reinicialização da cápsula. Adicionado outro ramo para reg...
Bypass start asterisco, aguarde pelo socket de controle
start asterisco usa `pidof asterisco` que retorna um falso positivo no pod reinicia, fazendo com que o laço espera-para-Asterisco pendure. Agora inicia o startu...
Iniciar o Asterisco em segundo plano, esperar e depois executar o instalador
O ponto de entrada.sh não executa o instalador FreePBX — ele só começa serviços. startup.sh agora replica as etapas de configuração do ponto de entrada, inicia ...
Deixar o identificador do ponto de entrada instalar, não iniciar. sh
O instalador do FreePBX (php install -n) requer que o Asterisco já seja Correndo. Nosso startup.sh estava chamando-o antes do Asterisco começar, causando Erro d...
Montar /etc/asterisco apenas, não /etc, para corrigir erro PHP simplexml
Montar o /etc completo como um volume hostPath estava corrompendo a extensão PHP carregando mesmo após semeamento da imagem — simplexml load file indefinido no ...
Reduza os limites de CPU para 2:1 para eliminar o excesso de comprometimento
Docs 4→1 core, jibri 4→2 cores, libretranslate 2→1 core, Bergamot 2→1 core, coturn 1→0.5 core. Salva ~7,5 núcleos fora dos limites dos nós.
Mudar para escomputers/freepbx:17 com arquitetura correta
candyofit/freepbx não tem imagem do FreePBX 17 (abandonado desde 2022). escomputadores/freepbx:17 (atualizado em Abr 2026, Asterisco 21 + FreePBX 17) requer um ...
Processar formData antes de encaminhar para evitar corrupção binária
request.text() em multipart/form-data corrompe bytes de arquivos binários; pass parsed FormData as init.body so forwardToApi skips request.text() e vamos buscar...
Remover minHeight:100vh causando barras de rolagem duplas
O minHeight:100vh da caixa exterior excedeu o calc(100vh - 56px) recipiente, que causou tanto o rolagem do nível do navegador como o interior overflow:auto para...
Soltar cabeçalho de coluna de pagamento velho da tabela de modelos de segurança
Quando o campo Self-Pay do Empregado Kamo Fees foi removido, a correspondência TabelaCell no corpo da linha foi excluído, mas a linha do cabeçalho ainda tinha o...
Razão real da superfície por trás do erro do GoDaddy 400
GoDaddy agora retorna HTTP 400 com code=UNABLE TO AUTHENTICATE e body "Mau Pedido : Mau Pedido" quando uma conta não atende ao seu atual Elegibilidade da API de...
Sub-tab de censura agora torna ATF primeiro por especificação
Reordena as cartas sub-tab da Censura para corresponder à ordem solicitada: 1. Álcool, tabaco e armas de fogo 2. Faixas de idade permitidas 3. Intervalos de ida...
Usar o logótipo do tema simples na casa e definir os cabeçalhos do índice
Domínios de carga de energia via findByIdWithDomains, drop @Transactional
@Transactional em um método de controle mantém uma conexão DB aberta através todo o upload MinIO, e também arrisca LazyInitializationException se o interna getO...
Remover o ?type= duplicado do apiPath
forwardToApi já adiciona a pesquisa de entrada (?type=...) do original URL do pedido. Embutindo ?type= uma segunda vez no apiPath produzido ?type=full?type=full...
Restaurar o interruptor de caixa de correio para IDs de membros int64
Usar getMemberIdString para obter caixas de correio/member, normalizar id/mailboxId a partir de EmailService, e dirigir o switcher de pessoal acessível caixas d...
URLs de logotipo do 'cache-bust' usando o temaRevision from config.json
DynamicMetaLoader agora armazena o temaRevisão em sessãoArmazenamento e incêndios KAMO THEME CONFIG LOADED após obter config.json. TemaLogo escuta para esse eve...
URLs de logotipo do 'cache-bust' usando o temaRevision from config.json
DynamicMetaLoader agora armazena o temaRevisão em sessãoArmazenamento e incêndios KAMO THEME CONFIG LOADED após obter config.json. TemaLogo escuta para esse eve...
Enviar diretamente para o público/{domain-pasta}/img/ em vez de preparar o balde
O endpoint do uploadLogo estava escrevendo para um placeholder 'sumtingwong' codificado (configuração não preenchida) em vez do caminho do tema público da org. ...
Remover o nó k2m1 desactivado do nó de bordas por omissão
k2m1 (10.8.2.1) está permanentemente para baixo. Deixando-o na lista de failover fez com que as tentativas de upload pendurassem até o novo timeout do OkHttp di...
Aplicar os timeouts de conexão/gravação/leitura ao MinioClient via OkHttpClient
Sem timeouts, um peer de replicação de site downed (k2m1) causou makeBucket e colocarObject chamadas para bloquear indefinidamente, surgindo como um infinito "S...
A caixa de seleção da caixa de correio lê os domínios org , não os domínios do provedor
A fiação anterior leu /api/email/domínios (email provider domínios tabela). Essa tabela só é preenchida quando um fornecedor de e-mail de terceiros a integração...
Desembrulhar o envelope {markets:[...]} na janela Anexar
GET /api/security/commerce-markets retorna {mercados: [...], mensagem: "..." }, Não é um conjunto nu. O diálogo Anexar Mercado de Comércio estava tratando o tod...
Mesclar OTK-redirect em proxy.ts, apagar middleware duplicado.ts
Next.js 15 se recusa a construir quando existem middleware.ts e proxy.ts. A OTK hand-off redirecionar que viveu em middleware.ts — enviando qualquer pedido com ...
Ler novo *** de Redis mestre e dedupe OTK POST
Replica lê faltando sessões recém- escritas após a troca OTK, causando erro falso e redirecionamento de login. Ignorar o atraso de introdução quando otk estiver...
Proteja-se contra respostas não-array em /platform/orgs
Uma resposta não-array (corpo vazio, envelope de erro, ou {dados: [...]} wrapper) estava pousando no estado de orgs e explodindo a renderização com «e.map não é...
Enforce /network enter rules server-side
Rejeitar quando o alvo é o org de sessão actual, o domínio personalizado SSL não é confirmado, ou a adesão ao alvo humano é inactiva. Partilhar a configuração d...
Requer membro de destinoId e valida a associação de org
Enter- como agora sempre constrói o novo *** com o alvo fornecido pelo cliente membro linha; rejeite org/member descompatidos. Melhore o registro de depuração d...
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.