Levantar o índice z da barra de anotações para 1000 para que ele sempre renderize os elementos acima da página
Corrigir a marca d'água acima da camada z-index, adicionar página menu com o botão direito do mouse, adicionar página acima / abaixo, melhorar o indicador de arrastar
- ModifierLayer: 'acima' pass agora usa zIndex 20 para renderizar marcas de água em cima de campos e anotações - PdfCanvas: botão direito do mouse menu de conte...
Lugar deixado campo na posição visual exata do fantasma
Use active.rect.current.translated (o rect do cliente do DragOverlay) em vez disso corresponde ao rect traduzido, então o campo agora pousa precisamente onde o ...
Remapear o sinal de campoUids quando a infra- estrutura retorna novos UIDs singer após salvar
Colocação do campo de arrastar e soltar, barra de anotações flutuantes e espaçamento de páginas PDF
- Substituir click-to-place por @dnd-kit drag-and-drop para toda a assinatura, identidade, e ferramentas de campo de entrada; arrastar o fantasma corresponde à ...
Roteie todas as chamadas da API esig diretamente para o ESigService via DNS K8s
Roteie todas as chamadas da API do esig através do forwardToApi() para corrigir falhas de gravação
Todos os 10 manipuladores de rota esig estavam apontando para ESIG SERVICE URL que resolve a um proxy de serviço kamowsesig inexistente. Substituir cada manipul...
Adicionar a opção de posição da camada ao modificador Watermark (atrás / acima do conteúdo)
- WatermarkModifier ganha um campo de 'camada': 'atrás' (por omissão para 'atrás') - ModifierLayer agora leva um 'pass' prop ('abaixo'': - abaixo passe: renderi...
Adicionar modificador de marca de água à caixa de ferramentas de esign
- Marca d'águaTipo de modificador: logoType (full/simples), startPage, endPage, rotation (−180–180), tamanho (10–90% da largura da página), opacidade (2–60%), c...
Mostrar apenas a dica do formato do número de página quando estiver seleccionado o Personalizado
Estenda o modificador de etiqueta para uma grade completa de 8 posições com rotação LM/RM
- LabelModifier.position agora usa ModifierPosition8 (mesma grade de 8 posições como Números de Página) - LM (Médio-Esquerdo): cada linha renderizada como uma p...
Adicionar abas Ferramentas/Modificadores para assinar a Caixa de Ferramentas com sobreposições de tela ao vivo
- Dividir a barra lateral esquerda da caixa de ferramentas nas abas Ferramentas e Modificadores - Guia de modificadores: lista dividida + painel de configuraçõe...
Posicionamento de miniaturas girados correto e transformada de rotação de restauração
Dois erros em MiniaturaCanvas: 1. Altura substituída: \`${displayAspect * 100}%\`` (altura percentual no abs- elemento posicionado – não confiável quando conté...
Fix floating zoom control visibility and polish thumbnail placeholders
- Move floating zoom controls outside the scroll container and use position:absolute so they remain visible at all times regardless of scroll position; offs...
Page selection with animated glow border synced between canvas and thumbnail sidebar
- DesignTab holds selectedPageIndex as the single source of truth - Clicking any page in the main canvas selects it (onPageSelect) - Clicking a thumbnail select...
Move scroll ownership from PdfCanvas to canvasContainerRef
PdfCanvas root Box previously had overflow-auto + h-full, making it its own scroll container. This meant: - scrollbarGutter: stable on canvasContainerRef had no...
Fit to Width calculates actual container width instead of resetting to zoom 1
Reads **************** (which accounts for the stable scrollbar gutter) and the page's natural width via **************** then computes fitZoom = (availableWidt...
Replace all hardcoded purple with var(--color-primary) on Settings & Signers page
Signers icon, icon background, count badge, Add Signer buttons, Add First Signer button, empty-state illustration tint, add-another hover, and the ALL_OF_TYPE s...
Auto-select first signer, fix zoom control scrollbar gap, animate properties panel
- Toolbox auto-selects the first signer's UID when signers go from 0→1 - Canvas container uses scrollbar-gutter: stable so the sticky zoom/undo control mainta...
Reorder tabs, gate field tools by signer, redesign Settings & Signers tab
- Design is now the first tab; Settings & Signers is second - Toolbox shows "Add Signer" CTA (navigates to Settings) when no signers exist - Signature Tools, Id...
Render field controls as actual-looking form elements with signer color tinting
Each field type now renders a visual representation of the real control (text input, checkbox, toggle, dropdown, radio group, date picker, etc.) tinted with the...
Remove fixed height and scroll bars from field properties panel
The panel had two vertical scrollbars: 1. DesignTab wrapper had height: 200 + overflowY: auto 2. FieldPropertiesPanel root had height: 200 + overflow: hidden, ...
Derrotar setTotalPages até depois de PDF loop dim para evitar a saturação do trabalhador PDF.js
Em um PDF de 50 páginas, chamando setTotalPages antes das montagens do loop getPage() todos os componentes 50 MiniaturaCanvas imediatamente. Cada um volta para ...
Migrar todas as rotas API de imagem de SecurityService para ConversionService/DocsService
As rotas de envio agora chamam ConversionService diretamente via CONVERSION SERVICE URL: - POST /api/imagem/carga → /api/conversão/imagem/carga - POST /api/imag...
Adicionar passo de miniaturas para carregar indicador de progresso, track generating thumbnails WS stage
Evitar empilhamento de página, corrigir lascas de miniatura, adicionar miniaturas do lado do servidor com PDF.js back
- Adicione flexShrink: 0 divs de página em PdfCanvas para que as páginas não comprimam na coluna flex - Adicionar flexShrink: 0 a itens de miniaturas em PageThu...
Renderização de PDF ansioso, normalização de escala natural, sem rolagem horizontal
- PdfCanvas: substitua IntersectionObserver por renderizações ávidas. A abordagem baseada no observador não era confiável quando a guia de design começa com dis...
Eliminar o conflito de DOM em PDF
Substituir container.innerHTML + apêndicePadrão infantil em ThumbnailCanvas com um ref <canvas> gerido por React. A abordagem antiga descartou a propriedade do ...
Reverter as rotas do proxy para a autenticação OTK, remover o helper esigProxy não utilizado
OTK é o mecanismo de autenticação correcto — a abordagem anterior de cabeça de sessão ignorou o padrão de segurança estabelecido. Todas as rotas de proxy do esi...
Usar cabeçalhos diretos de sessão em vez de OTK para rotas proxy EsigService
Leia *** sessão de Redis em Next.js e passe orgId/memberId como confiável cabeçalhos para ESigService via DNS interno K8s. Remove a dependência OTK.
Usar o endpoint init para encontrar ou criar um modelo pelo imgId na carga do editor
A página de criação passa imgId no URL. A página de edição agora chama a init endpoint para encontrar ou criar o ESignTemplate, retornou UUID para operações de ...
Adicionar editor de modelo de assinatura eletrônica com tela de design, sinalizadores e versão
Reescrita completa da página /doc/sign/edit com interface de tabulação (Configurações & Signers, Design), PDF.js canvas com sobreposição de campo arrastável, fe...
Mapeamento correto do nome do campo entre a infraestrutura e a interface para a API de nível de acesso
Segurança de backend do mapaLevelId→accessLevel, isOrganizationOwner→isOwner, memberType→isTeamMember in API route. Corrigir a verificação correta para usar EDI...
Remover soluções de análise JSON para arrays ID do plano de assinatura
A infra- estrutura agora retorna arrays apropriados ao invés de strings JSON, então o já não é necessária a lógica de recurso try/parse/catchback no pacote adic...
Adicionar editor de nível de acesso às configurações de membros com substituição de etiquetas específicas para org
Renomear CLIENT→MEMBER e INTERNAL→TEAM MEMBER em ImageAccessLevelType.ts com placeholders {var}. Adicione a seção de nível de acesso a RolesPermissionsTab com c...
Mostrar mensagem de erro específica na página de edição em vez de falha genérica
Usar o botão React JSX no AG Grid cellRenderer em vez do elemento DOM bruto
Atualizar todas as assinaturas da função imagingApi para aceitar o imgId do número string
Actualizar o tipo imgId para o número de texto para a segurança do ID do BarataDB, adicionar o registo de erros
Adicionar o registo à rota API da lista de modelos para diagnosticar a grelha de dados vazia
Definir proxyClientMaxBodySize para 500mb para uploads de arquivos grandes em Next.js 16.2
Next.js 16.2.3, TypeScript 6.0, Node 24, React 19.2
- Next.js 16.0.10 → 16.2.3, TypeScript 5.8 → 6.0.2, Node 20 → 24, React 19.2.3 → 19.2.5 - Migrar ESLint de .eslintrc.json para configuração plana (eslint.config...
Redesenhar a página de suporte e o assistente webinar para corresponder à disposição da página da conta
Ambas as páginas agora usam o mesmo cabeçalho de herói gradiente com aba incorporada navegação, correspondente ao padrão da página /conta. O agendamento webinar...
FormData e definir o limite de tamanho do corpo do manipulador de rota
- Reverter para processar FormData e reconstruir para encaminhamento (fixes MalformadoStreamException from raw arrayBuffer forwarding) - Adicionar rotaHandlerBo...
Adicionar dropdown de suporte com seções, extrair agendamento webinar para página dedicada
Botão de suporte nav agora tem uma seta dropdown e Popover com duas seções: "Suporte On-line" (Contato Suporte, Ver tickets ativos) e "Formação" (Pedir Webinar,...
Stream upload corpo diretamente para evitar Next.js 10MB corpo tamanho limite
- Ler requisição como arrayBuffer e encaminhar bytes brutos com tipo de conteúdo cabeçalho em vez de processar FormData (que desencadeia o limite do corpo Next....
Renomear abas de assinatura eletrônica e reordenar modelos, rascunhos disponíveis, arquivados
Progresso de conversão em tempo real via WebSocket com percentagens duplas
- Adicionar usoConversionWebSocket gancho suportando tópicos de membros e modelos - Criar página conecta WebSocket antes do upload, mostra conversão ao vivo pro...
Call SecurityService diretamente via RKE2 DNS, corrigir computação hash, adicionar o progresso de upload encenado
- Todas as rotas API modelo agora chamar SecurityService diretamente através interno DNS do K8s em vez de proxy através do APIService - Use computBlake3/computS...
Use params assync em rotas de API dinâmicas para compatibilidade com Next.js 16
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.