Use UUID para SubscriptionPlanTranslation FK para corresponder ao tipo BaseUuidEntity PK
Resolver o serviço DINÂMICO 500 erros e rota da calculadora ausente
- Adicione força dinâmica a [locale]/layout.tsx (getMessages() usa headers() internamente) - Remover gerarStaticParams de [kbSection]/page.tsx (o conteúdo do KB...
Remover a restrição -- load- only da LibreTranslate
Todos os pacotes de linguagem necessários são pré-instalados no volume hostPath. --load-somente estava impedindo alguns pacotes de carregar. Sem a bandeira, Lib...
Use startupProbe for LibreTranslate para lidar com downloads de modelos longos
startupProbe com 60 tentativas x 30s = janela de inicialização de 30min para downloads do modelo inicial. Após a inicialização completa, vida normal e sondas de...
Restrinja LibreTraduzir apenas para carregar modelos de linguagem suportados
Use --load- only com os 22 códigos de idioma suportados em vez de baixando todos os modelos disponíveis (~centenas de GB). Remove --update-modelos bandeira que ...
Remove invalid --load-awesome-ai-models flag from LibreTranslate
Flag does not exist in current libretranslate image. Replace with --update-models to ensure language packs are downloaded on startup.
Add LibreTranslate permission init container, scale Bergamot to 0
LibreTranslate was crashing with PermissionError on packages subdir. Added busybox init container to mkdir + chmod 777 the mounted hostPath before the main cont...
Fall through to LibreTranslate when Bergamot is unavailable
ProviderRouter now catches exceptions per provider and tries the next. BergamotProvider throws on failure instead of silently returning original text, so LibreT...
Selector de idioma ampliado para evitar a barra de rolagem horizontal
260px era muito estreito para entradas como "Bahasa Indonesia". Aumentar para 310px e adicionar overflow-x: oculto para eliminar a barra de rolagem inteiramente...
Port-forward TranslateService para alcançá-lo do corredor CI
O corredor Forgejo é executado no k0m1 que não pode resolver .svc.cluster.local DNS. Use o porto- kubectl para o túnel kamowstranslate- service: 80 to localhost...
Remover app/(pages)/ e app/page.tsx pré-i18n
Estes foram acidentalmente restaurados pelo git checkout -- app/ durante uma correção anterior do vendedor. Estruturas de rotas antigas e novas existentes causo...
Exclude ****************
Excluding SecurityAutoConfiguration leaves Actuator's **************** without an HttpSecurity bean, crashing startup. Exclude it explicitly.
Add autoconfigure exclusions to k8s configmap
application.yml is for local only — k8s uses the configmap. Move the Spring autoconfiguration exclusions for JPA, Redis, Security, and OAuth2 into k8s/configmap...
Exclude all transitive Spring autoconfiguration from shared library
kamo-shared-library pulls in JPA, Redis, Security, and OAuth2 starters which cause Spring Boot to attempt autoconfiguring DataSource, Hibernate, Redis/Lettuce, ...
Exclude DataSource autoconfiguration
kamo-shared-library transitively pulls in JPA which causes Spring Boot to attempt DataSource autoconfiguration. TranslateService is stateless with no database, ...
Substituir o DocumentNotFoundException removido por ImagingException no ImageService
DocumentNotFoundException foi excluída como parte da remoção da entidade Document mas o ImageService ainda o referenciava em 9 lugares. Substituido pelo existen...
Gracefully cancel superseded reconversion jobs on rapid saves
When a document is saved multiple times quickly, each save registers its ImgDat UUID in a ConcurrentHashMap. The async reconversion task checks this at 6 checkp...
Use a meia-noite PST nua (sem conversão UTC) para contar as alterações de hoje
Data de armazenamentoComprometida em UTC e usar janela 24h rolando para a contagem de hoje
Substituir o loop de contagem paginado por uma única chamada de endpoint de contagem atual
Chat *** — corrigir verificar o tempo e melhorar a cópia do banner
- ***Provider: gatilhoVerificar o efeito agora depende do desafioUrl assim verify () só é chamado após a montagem do widget; usa rAF para garantir que o DOM ten...
Remover membroType campo inteiramente para impedir Hibernate duplicate column
As correções anteriores (@Transient no campo, @Access(AccessType.FIELD) na classe) foram insuficientes. A inspeção do Bytecode revelou que o @Setter de Lombok g...
Email as paid add-ons, not included free
- KamoMail Hosting: $5/user/mo add-on on all plans - 3rd Party Email Integration: $2/user/mo add-on on all plans - Email hosting feature reverted to "Add-on" in...
E-mail como add-on pago, atualizar todos os dados de preços de retorno
- Hosting KamoMail: $ 5/usuário/mo add-on (não livre — responsabilidade) - Integração de e-mail de terceiros: $2/usuário/mo add-on - Dados atualizados do backba...
Use o código promocional 18DOFF, atualizar o prazo de validade até 30 de abril de 2026
Código promocional revertido de EARLYBIRD de volta para 18DOFF para combinar com cabeçalhos de navegação. Texto de navegação atualizado de "Prelaunch" para "Ave...
Atualizar dados de preços de retrocesso para corresponder aos novos preços de produção
A API retorna 401 para que o site de marketing use dados de backback codificados. Atualizado todos os planos de retrocesso, addons, pacotes e tabela de comparaç...
Adicionar @Access(AccessType.FIELD) ao Membro para parar o mapeamento Hibernate getMemberType() como uma coluna
A correção anterior (@Transient no campo membroType) foi insuficiente. Hibernate 6 ainda estava descobrindo o método público getMemberType() via digitalização d...
Mostrar o nome do uploader, ampliar a coluna de data, mesclar o ícone de extensão no nome do arquivo
- Enviado por: estava sempre vazio — o nome do campo estava correcto, mas a infra- estrutura nunca definido criadoPorNome; agora resolvido no lado da infraestru...
Resolver erro SQL de nível segurança causado pela coluna duplicada MEMBRO TYPE em Hibernate 6
Membro.java mapeou MEMBRO TYPE tanto como @DiscriminatorColumn como como um explícito @Column field. Hibernate 6 selecionou a coluna duas vezes na projeção da t...
Ignorar a tela de carregamento de downloads de arquivos no NavigationInterceptor
URLs Blob e links com o atributo download nunca causam navegação de página, então o manipulador de cliques global agora retorna cedo para estes — impedindo "Car...
Superfície salvar erros e reverter atualização otimista no seletor de provedor de email
Ao salvar um provedor não configurável (KamoMail, ParentOrg, NotConfigured) falhou, o erro foi definido em estado, mas nunca foi exibido na lista, e a atualizaç...
Correct security level column reference in login SQL
security level está na tabela de membros (m), não member team member (e). O alias errado e.security level fez com que todo o SQL falhasse silenciosamente, então...
Restaurar o modelo de permissão membro da equipe/membro para a janela de partilha
Os membros da equipa (membroType=TEAM MEMBER) ignoram todas as portas. Os membros regulares estão fechados por direitos SHARE DOCS *. Sessões legadas sem membro...
Permitir que qualquer membro autenticado compartilhe documentos
Remover o portão baseado em funções na janela de partilha — qualquer membro logado pode partilhar. A verificação anterior necessária éTeamMember (do membro da s...
Correct member name access in resolveAlias endpoint
member.getNameFirst() doesn't exist — name is on User.getName(). Use getMemberDisplayName() helper which correctly navigates the member -> user -> EmbNameFull p...
Importar o blake3 do blake3/browser para inicializar o WASM corretamente
blake3/esm/browser requer provisionamento manual WASM; blake3/browser faz isso automaticamente.
Adicione verificações de segurança nulas no MemberRightsAppliedService e corrija a proteção de funções no MemberService
Atualize o contador API & Integrações de 'Open' para 31+ (contagem real)
Pasta Gate e Doc Tipo colunas/campos no allowFolders e allowDocType
Quando as funcionalidades da pasta ou do tipo de documento estiverem desactivadas para um tipo de assoc, oculte o colunas de dados correspondentes e campos de f...
Alinhar campos de upload com campos de texto MUI consistentes, sempre mostrar pasta e tipo de documento
Substituir elementos brutos <select> por MUI TextField select for consentful estilo e alinhamento com o campo Descrição. Pasta e tipo de documento os campos est...
Adicionar recurso de rolagem para o changelog infinita rolagem no celular
Estabilizar o alinhamento do breadcrumb independentemente do estado de carga da fonte
Remove auth requirement from backfill-thumbnails endpoint
This is an internal admin maintenance endpoint that needs to be callable from within the cluster without user authentication.
Aceitar todos os tipos de ficheiros para envio, usar a lista negra do lado do servidor em vez da lista branca
Substituir a lista branca ACCEPTED EXTENSIONS com a extBlackList fornecida pelo servidor de assoc-config. Todos os tipos de arquivos agora são carregáveis a men...
Use RandomAccessReadBuffer instead of ByteArrayInputStream for PDFBox 3.x
**************** was removed in PDFBox 3.0 — use RandomAccessReadBuffer(byte[]) which implements RandomAccessRead.
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.