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...
Soltar o VOIPService spec md do repo
Por convenção de projeto (os arquivos.md não enviam com serviços).
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 **********...
Páginas de configuração da plataforma (General / VOIP & SMS / Usuário do Sistema / Avançado)
Quebras Em SettingsView com quatro abas: - Geral: visão geral da plataforma somente leitura — orgs totais, servidor de telefone ativo contagem de instância, co...
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...
Trabalho global de sincronização VOIP (intervalo de administração)
VoipGlobalSyncJob marca a cada minuto e, em cada tique, lê o SystemConfiguration singleton para decidir se uma sincronização global é devida: - Se voipSyncEnabl...
Endpoints de configuração do sistema + visão geral da plataforma
Superfície de configuração ampla da plataforma, fechada pelo proprietário de topo existente guard (matches SystemUserConfigController's requireTopLevelOwner pat...
Controladores de recursos por instalação + agregado org + sincronização interna
Por recurso de instalação CRUD (extensões / usuários / dispositivos / correio de voz): - VoipExtensionsController. - VoipUsersController em /api/voip/instances/...
Refactor de provedor multi-instanciamento + FreePBX completo + Flowroute SMS
Mudança de modelo principal: uma org → muitas VoipProviderInstances (foi: uma por org). Cada chamada API de provedor agora é vigiada por instância. Interface P...
Migração de provedores de telefone/SMS multiinstance
Executar após Hibernate ddl-auto:update cria novas tabelas (VOIP PROVIDER INSTANCI, BULK TEXT PROVIDER INSTÂNCIA, TELEFONE EXTENSÃO, TELEFONE END USER, TELEFONE...
Multi-instance telefone / SMS provedor schema fundação
- Renomear VoipProviderConfig → VoipProviderInstance; drop UNIQUE(org id), adicione instância nome, config json, last sync at, last sync error. - Renomear BulkT...
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 ...
Deixar entrar o administrador público; acesso via http://k[12]m1:8088
A interface de administração é agora somente interna sobre a LAN/WireGuard na porta 8088 (FreePBX's nginx ligado diretamente na rede host). Sem rota Traefik, nã...
Implantar a ponte FreePBX 17 + Jigasi SIP em k1m1 e k2m1
O FreePBX (tiredofit/freepbx:17-latest) é executado com o hostNetwork assim SIP/RTP preserva IPs reais do cliente, fixado um-por-nós via nodeSelector. SIP ligad...
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...
Largar o cabeçalho da página do editor, renomear sub- tab Geral
- Remove o Ícone Button + ícone escudo + título + legenda de o topo do editor de segurança-modelo / mestre-modelo. O botão Cancelar na barra de ação pegajosa já...
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
Visualização, paginação, busca ao vivo, filtros, logotipos org
Os administradores da plataforma (proprietário de org de nível superior) agora veem cada org no sistema através do novo endpoint /api/security/org/all-networks ...
Adicionar GET /api/security/org/all-networks para administradores de plataforma
Os proprietários de orgs de topo agora podem buscar todas as organizações no sistema com informações de adesão relativas ao chamador. Orgs onde o chamador tem u...
Sub-tabs no editor de modelo de segurança + limpeza
O editor de modelos de segurança está dividido. em quatro sub-tabs: Geral (Info Básico, Visibilidade, Quem Pode Criar, Configuração da Plataforma, Configuração ...
Soltar o membro da equipaPayFeesSetting from DataLoader
Providenciador mestre-modelo já não passa os pagamentos de três estados removidos definição ao criar o modelo mestre de segurança — o campo foi-se ChildOrgSecur...
Soltar o parâmetro do membro da equipaPayFeesSetting
Espelha a alteração da biblioteca partilhada — SecurityModelController, MasterModelController e AppliedModelController já não lê/escrever Membro da equipaPayFee...
Soltar o membro da equipaPayFeesSetting
A política de taxa de auto-pagamento do empregado se foi — o grupo de faturamento trata faturamento por grupo, não através do modelo de segurança. Remove o team...
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...
Apelido visibilidade UI + Subdomínio Branches botão na página de tipos de ramificações
SubdomínioBranchesDialog: - Editor substituto lista de chips com uma lista de linhas de tabela mostrando Os membros e membros da equipe checkboxes por alias — a...
Filtragem de visibilidade + auto-verificar propriedade do subdomínio
Controlador de Organização: - Criação da Web-alias org agora auto-marca propriedadeVerified=true e isDnsVerified=true on the created OrgDomain — no registro TXT...
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.
