v1.70.29 · 📱 Radar no celular: os 3 botões sem quebrar29/08/2026
- 📱 Só no celular (a página do computador que fechamos hoje NÃO muda): a linha de ações do radar deixava os botões espremidos, quebrando letra a letra ("es/con/der", "ver/todos/os/praz/os"). Agora, no telefone, essa linha empilha: cada bloco ocupa a largura toda e os botões som · esconder · ver todos os prazos ficam lado a lado, inteiros e legíveis.
v1.70.28 · 🧭 Painel: cidade e data na margem direita, mesma linha29/08/2026
- 🧭 A cidade e a data foram para a mesma linha da saudação, coladas na margem direita — a saudação (Boa noite, TOP GUNS - dono) fica à esquerda e a cidade/data à direita, como o senhor desenhou. Em tela estreita (celular) a cidade/data desce sozinha para a linha de baixo, para não espremer.
v1.70.27 · 🏷️ Saudação: TOP GUNS - nome do dono29/08/2026
- 🏷️ A saudação agora mostra a marca curta + o nome do dono: "Boa noite, TOP GUNS - <responsável>", como o senhor pediu. O nome do dono vem do campo Responsável (quem assina) que já existe em Configurações — não precisou criar nada. Se esse campo estiver em branco, aparece só "TOP GUNS"; preenchendo lá, o nome entra na hora.
v1.70.26 · 🎯 Radar: cabeçalhos das faixas na linha das ações29/08/2026
- 🎯 Os títulos das duas faixas subiram para a linha das ações, como o senhor pediu: "vence em até 7 dias · N" à esquerda, som · esconder · ver todos no centro, e "vence em 8 a 30 dias · N" à direita — tudo na mesma linha, alinhado com o conteúdo abaixo. (No celular cada faixa continua com o título junto da sua lista.)
v1.70.25 · 🗓️ Painel: cidade + data por extenso, e ações centralizadas29/08/2026
- 🗓️ No lugar da frase que saiu, o cabeçalho do painel agora mostra a cidade da sua empresa (do cadastro) e a data por extenso — "Sexta-feira, 29 de agosto de 2026" — que muda sozinha todo dia, pelo relógio de quem está olhando. A saudação (Bom dia/Boa tarde/Boa noite) automática continua.
- 🎯 A linha som · esconder · ver todos os prazos saiu da direita e ficou centralizada embaixo do radar, alinhada com o conteúdo — como o senhor pediu.
v1.70.24 · 🕐 Saudação automática + barra do topo menor + nome completo29/08/2026
- 🕐 A saudação do painel agora vira sozinha pelo relógio de quem está olhando, nas faixas que o senhor definiu: Bom dia até 11:59, Boa tarde de 12:00 a 18:00, Boa noite de 18:01 em diante — e troca sozinha ao longo do dia com a tela aberta.
- 🏷️ A mãozinha 👋 saiu e entrou o nome completo da empresa: TOP GUNS - Assessoria e Treinamentos em Armamento e Tiro.
- 📏 E a barra do topo ficou mais baixa (metade do respiro, botões menores) — era o pouco que faltava para o quadro do radar caber inteiro na tela.
v1.70.23 · 🧹 Painel: geral nos quadros — sem repetição, cada um no seu tópico29/08/2026
- 🧹 A geral que o senhor pediu nos quadros abaixo do radar: a faixa de números repetidos saiu (A receber, Arrecadado, 61 urgentes e +4 clientes apareciam DUAS vezes) e cada número ficou uma vez só, na seção com o nome certo: ⏰ Prazos & Renovação (urgentes, prazos no radar), 💰 Financeiro (a receber, arrecadado, inadimplência, prospecção), 📊 Pipeline (554 processos e 81% de conclusão vieram pra cá, acima do funil) e 📈 Crescimento (91 clientes veio pra cá, + novos/mês e processos abertos/mês). Nenhum dado se perdeu.
- 📐 Os balões encolheram para ficar proporcionais ao texto — e onde sobrou espaço entraram balões vazios "reservado" para os dados futuros, como o senhor mandou.
v1.70.22 · 📏 Painel: radar inteiro na tela29/08/2026
- 📏 Para o quadro do radar caber inteiro na tela do computador, como o senhor pediu: o espaço acima do "Bom dia" diminuiu e a frase "Painel · o que você não pode esquecer hoje." foi para a direita, na mesma linha do Bom dia — o radar ganhou ~60px de altura. Em tela estreita (celular) a frase volta para baixo do título sozinha, sem quebrar feio.
v1.70.21 · 📊 Painel: o radar abre a página, os números descem29/08/2026
- 📊 Como o senhor pediu: a faixa de números do topo (prazos urgentes, a receber, arrecadado, processos, conclusão, clientes novos) e o bloco Prazos & Renovação desceram para baixo do radar, juntos das demais seções (Financeiro, Pipeline, Crescimento). O painel agora abre direto no radar de vencimentos — o que não pode ser esquecido aparece primeiro. Nenhum número mudou, só a ordem.
v1.70.20 · 🖱️ IBAMA: o clique automático virou clique de verdade29/08/2026
- 🖱️ Os seus prints fecharam o diagnóstico: quando o senhor clicava no "Entrar com gov.br", entrava; quando a extensão clicava, o IBAMA despejava no portal do gov.br. O botão é uma imagem, e o site antigo do IBAMA só reconhece o clique que chega com a posição do apertão — o clique automático ia sem ela. A 0.29.9 manda a posição junto, replicando o clique de verdade: agora o caminho automático e o manual são o MESMO caminho.
- ⚠️ Baixe a 0.29.9 + ⟳ e refaça o ciclo: 🚪 sair do gov.br → botão 🌳 → senha → volta automática → entra → Certificado. Me mande o print de onde chegar.
v1.70.19 · 📡 Radar: mais ar entre clientes, sem sobreposição29/08/2026
- 📡 Ajuste fino do seu print: nas colunas de prazo do radar, cada quadro ganhou mais respiro (o espaçamento entre um cliente e outro cresceu, nos 2 lados) e o defeito da sobreposição morreu na causa: nome comprido empurrava o conteúdo para uma 3ª linha e invadia o cliente de baixo — agora o nome divide a linha com o selo SEMPRE (encolhe com "…" se precisar; o completo aparece no mouse) e o quadro nunca estoura.
v1.70.18 · 🔁 IBAMA: depois da senha, volta sozinha — sem roda29/08/2026
- 🔁 Os seus 3 prints mediram a jornada inteira: o CPF vai certo, a senha entra, e o gov.br larga na página principal em vez de devolver ao IBAMA. A 0.29.8 fecha esse buraco: quando o "Olá, nome" aparecer (login TERMINADO), a extensão volta sozinha ao IBAMA e entra — uma única vez por jornada, com três travas para a roda de páginas nunca mais nascer (só com login terminado; marca de consumo único; no máximo 2 cliques automáticos por jornada).
- ⚠️ Baixe a 0.29.8 + ⟳. O teste completo: 🚪 sair do gov.br → botão 🌳 → senha do cliente → ela volta, entra, confere o CPF, confirma o e-mail e vai atrás do Certificado — me mande o print de onde chegar.
v1.70.17 · 📡 Radar: prazo + nome numa linha, documento embaixo29/08/2026
- 📡 Nas duas colunas de prazos do radar (vence em até 7 dias / 8 a 30 dias), cada item virou um quadro de 2 linhas, como o senhor pediu: selo do prazo + nome do cliente numa linha inteira, e o documento logo abaixo, no mesmo quadro — acabou o corte dos dois lados ("ALLAN VINI…" + "GT Caça…") que misturava qual documento era de qual cliente. Parando o mouse em cima, o texto completo aparece. O giro da lista continua igual.
v1.70.16 · 🛡️ IBAMA: trava do cliente errado + Revalidar E-mail sozinho29/08/2026
- 🛡️ Trava do cliente errado (nasceu do seu print: IBAMA logado como um cliente com o pacote de OUTRO): antes de qualquer download, a extensão confere o CPF logado no gov.br com o CPF da ficha. Se não bater, ela NÃO baixa nada e avisa em vermelho quem está logado e quem deveria estar — com o caminho (Sair / 🚪 sair do gov.br) para refazer. Documento do cliente errado na ficha errada ficou impossível.
- 📧 E o pós-login começou a andar: quando o IBAMA abrir o quadro "Revalidar E-mail", a extensão marca "Confirmar dado" e clica em Avançar sozinha — como o senhor mandou ("clicar sempre em confirmar dados"). Depois segue para o Certificado de Regularidade com a linha 🩺 contando cada passo.
- ⚠️ Baixe a 0.29.7 e dê o ⟳.
v1.70.15 · 📛 Nome numa linha só — agora nas listas de prazo29/08/2026
- 📛 O desenho que o senhor aprovou nos Documentos — o nome com a linha só pra ele, e o resto abaixo — foi aplicado nas 4 telas que montam lista de prazos com o mesmo defeito: Prazos, Avisos, Informes do app do cliente e os quadros de prazo dentro da ficha. O nome do cliente não remonta mais (se não couber, termina em … com o nome completo no mouse) e o "o quê vence" desce para a linha de baixo, inteira. Era uma causa só nas 4 telas — consertada na raiz, de uma vez.
v1.70.14 · 🚪 IBAMA/SIMAF: sair do gov.br para trocar de cliente29/08/2026
- 🚪 O painel IBAMA/SIMAF ganhou o botão "sair do gov.br (trocar de cliente)" — o mesmo que o Consultar SINARM-CAC tem desde julho, e pelo mesmo motivo: o gov.br guarda a sessão do cliente anterior; sem deslogar, o login do próximo cliente não entra direito. O caminho ao trocar de cliente: 🚪 sair do gov.br → fechar a aba → abrir o serviço no cliente novo.
- ℹ️ E um esclarecimento do balão "o clique agora é do senhor": é a proteção anti-roda — a extensão só clica sozinha 1 vez a cada 3 minutos (contando trocas de cliente). Se ele aparecer, é só clicar no "Entrar com gov.br" — o CPF segue indo preenchido.
v1.70.13 · 🧯 IBAMA: acabou a roda de páginas repetidas29/08/2026
- 🧯 O vídeo das "milhares de páginas iguais" está resolvido. A 0.29.5 tinha uma roda: a tela de login do IBAMA voltava, a extensão clicava de novo sozinha, e cada volta abria mais uma página. A 0.29.6 faz como o Consultar SINARM-CAC que já funciona: um passo automático só — a extensão clica no "Entrar com gov.br" uma única vez (mesmo com várias abas abertas, só a primeira clica); se a tela de login voltar, ela avisa e o clique passa a ser do operador. E a "volta automática" que alimentava a roda foi removida.
- ⚠️ Baixe a 0.29.6 e dê o ⟳ — antes de testar, feche as abas repetidas que sobraram.
v1.70.12 · 📄 Documentos: o nome numa linha só, botões abaixo29/08/2026
- 📄 Na ficha do cliente, a lista de Documentos mudou de desenho, como o senhor pediu: o nome do arquivo tem a linha inteira para ele (uma linha só — se for maior que a tela, termina em … e o nome completo aparece parando o mouse em cima), e a categoria + todos os botões (ver, baixar, mandar pro cliente, ler de novo, renomear, mover, excluir) descem para a faixa de baixo. Acabou o nome remontado em 4 linhas espremido numa coluna.
v1.70.11 · 🌳 Depois do login, a extensão volta ao IBAMA sozinha29/08/2026
- 🌳 O seu "funcionou mas abriu a página do gov.br" está resolvido: o gov.br às vezes despeja no portal geral depois do login em vez de voltar ao IBAMA. Agora a extensão percebe e traz a aba de volta ao site do IBAMA sozinha — e de lá segue com o Certificado de Regularidade. O fluxo da PF não muda em nada.
- ⚠️ Baixe a 0.29.5 e dê o ⟳ — e refaça o teste completo: botão → login (CPF vai preenchido, cola a senha) → a volta ao IBAMA agora é automática.
v1.70.10 · 📛 O nome do documento parou de remontar29/08/2026
- 📛 Na página Documentos (todos os clientes): o nome do arquivo partia no meio ("Cer/tificado", ".12.jpg" descendo sozinho) mesmo com espaço sobrando na tela. Causa dupla: a coluna do nome encolhia sem limite, e a regra de quebra partia a palavra em qualquer letra. Agora a coluna tem largura mínima e o nome quebra nos espaços — só parte palavra que realmente não cabe. No celular nada muda (o modo cartão tem regra própria).
v1.70.9 · 🔑 O botão do gov.br é uma IMAGEM — agora ela enxerga29/08/2026
- 🔑 O seu print explicou o "não deu": o botão "Entrar com gov.br" do IBAMA é uma imagem desenhada (o cadeado) — não tem texto por dentro, e a busca por nome não o via. A 0.29.4 enxerga o botão-imagem (pela figura e pelo endereço dela) e clica sozinha, com o CPF indo preenchido como na PF.
- ⚠️ Baixe a 0.29.4 e dê o ⟳ — e refaça. Os seus prints estão calibrando cada passo; o próximo território é o pós-login.
v1.70.8 · 🔑 IBAMA: a extensão clica no Entrar com gov.br sozinha29/08/2026
- 🔑 Como o senhor pediu no print das 18:52: na tela de acesso do IBAMA a extensão agora clica sozinha no "Entrar com gov.br" — e o CPF do cliente vai preenchido na tela do gov.br (o mesmo mecanismo da PF; medi no código como a PF faz e liguei o IBAMA na mesma tomada). O senhor só cola a senha (copiar senha da ficha) e o resto segue sozinho.
- ⚠️ Baixe a 0.29.3 e dê o ⟳.
v1.70.7 · 📐 A linha de botões ganhou a largura toda29/08/2026
- 📐 Você mediu a causa certa: o título "Documentos (23)" na mesma linha roubava a largura e quebrava a fila de botões. Como você mandou: os botões agora ocupam a linha inteira em cima, e o título ficou abaixo deles, à esquerda.
v1.70.6 · 🔑 IBAMA: o CPF no login mais esperto (0.29.2)29/08/2026
- 🔑 Sobre o "não abriu com CPF do cliente inserido": o preenchimento do CPF no login do IBAMA nasceu na 0.29.1 — se o teste foi com a 0.29.0, era isso. E a 0.29.2 deixa a busca do campo mais esperta: além do nome técnico, ela acha o campo pelo RÓTULO "CPF" visível na tela (o site do IBAMA é antigo e o nome interno do campo pode ser qualquer coisa).
- ⚠️ Baixe a 0.29.2, dê o ⟳ (reative se o Chrome pedir) e refaça: ficha → Tirar Doc. Ibama/Simaf → Certificado de Regularidade. Se o CPF ainda não vier preenchido, mande o print DO BALÃO na página do IBAMA — ele me diz a versão que está rodando e o que ele achou.
v1.70.5 · 🌳 O botão do IBAMA colado ao das certidões29/08/2026
- 🔘 O botão "Tirar Doc. Ibama / Simaf" estava caindo sozinho para a linha de baixo quando faltava largura. Agora ele e o "Tirar certidões" andam COLADOS: se a tela apertar, descem juntos — nunca separados.
v1.70.4 · 🎨 O painel do IBAMA com o mesmo fundo do das certidões29/08/2026
- 🎨 O painel do IBAMA/SIMAF estava com o fundo de vidro (translúcido) — a "marca d'água" que o senhor viu. Agora usa o MESMO fundo sólido do painel das certidões, byte a byte.
v1.70.3 · 🔑 IBAMA: o login funciona como o do SINARM-CAC29/08/2026
- 🔑 Respondendo o seu "colocaríamos funcionando dessa mesma forma???": SIM — e já está. Na tela de acesso do IBAMA, a extensão preenche o CPF do cliente (no "acesso sem certificado" e no login gov.br, que já era preenchido). A senha é a do gov.br do cliente: use o copiar senha da ficha, como você faz na PF. Logado, a extensão segue sozinha com o Certificado de Regularidade.
- ⚠️ Baixe a 0.29.1 e dê o ⟳ (e reative se o Chrome pedir — é a permissão nova do IBAMA).
v1.70.2 · 🌳 O botão ficou igual ao das certidões29/08/2026
- 🔘 Rótulo do botão ajustado como o senhor pediu no print: "🌳 Tirar Doc. Ibama / Simaf ▼" — mesmo formato, mesma cara e mesmo comportamento do "🏛️ Tirar certidões ▼" ao lado.
v1.70.1 · 🌳 O IBAMA/SIMAF virou botão, como as certidões29/08/2026
- 🔘 Você tinha razão: ficou horrível. O bloco IBAMA/SIMAF nascia ABERTO no meio da página, empurrando a lista de documentos. Agora é um botão "🌳 IBAMA / SIMAF ▼" ao lado do "Tirar certidões ▼" — clica, o painel com os 4 botões flutua ali embaixo; clica fora, fecha. Exatamente o desenho das certidões, que já passou pelos seus ajustes.
v1.70.0 · 🌳 IBAMA / SIMAF — o bloco novo, começando pelo Certificado de Regularidade29/08/2026
- 🌳 O bloco IBAMA/SIMAF chegou na ficha do cliente — APARTADO das certidões, como o senhor decidiu, com os 4 botões da sua maquete. O 1º está ATIVO: ⬇ Certificado de Regularidade (CTF) — clicou, o site do IBAMA abre, o senhor faz o login gov.br do cliente, e a extensão navega (aba CTF/APP → Certificado de Regularidade → Imprimir), captura o PDF e manda direto para a ficha, sem cair na pasta.
- ⏳ Os outros 3 botões aparecem como na maquete, com o selo em breve — o combinado foi um serviço por vez, calibrado com o seu teste. Botão que finge funcionar é pior que botão que avisa.
- 🩺 O 1º teste é de CALIBRAGEM: o site do IBAMA vive atrás do login e nunca foi medido por dentro — a extensão procura tudo pelo NOME visível e registra na linha 🩺 o que achou. Se algum passo não casar, o seu print da 🩺 me diz exatamente o que ajustar (foi assim que acertamos as 7 certidões).
- ⚠️ ATENÇÃO NA ATUALIZAÇÃO (0.29.0): como a extensão ganhou sites novos (IBAMA), o Chrome vai DESATIVÁ-LA e pedir para reativar — é o comportamento padrão dele com permissões novas. Baixe a 0.29.0, dê o ⟳ e, se aparecer o aviso, clique em reativar/aceitar. Uma vez só.
v1.69.3 · ⚖️ O botão da federal que a extensão dizia não achar29/08/2026
- ⚖️ O seu print das 15:36 entregou o defeito na bandeja: a linha 🩺 dizia "não achei o botão EMITIR CERTIDÃO" com o botão na tela. Causa: o botão da federal carrega um ÍCONE dentro, e o texto que a extensão lê vem com o ícone grudado — a busca por nome exato nunca casava. Agora ela procura o botão que CONTÉM a frase, e o clique automático da federal funciona.
- 🛡️ Sobre a sua cobrança ("trocar de extensão não pode mexer nas prontas"): é justa, e a defesa é tripla — (1) cada tribunal tem o seu próprio bloco de código, mudança num não toca no outro; (2) o robô de verificação roda 2000 conferências a cada versão, e hoje ele ganhou travas específicas por certidão; (3) quando uma peça COMUM muda (balão, capturador), o registro da versão lista quais tribunais ela toca — e o seu teste + print da 🩺 fecham o circuito. Foi exatamente assim que pegamos os defeitos de hoje.
- ⚠️ Baixe a 0.28.3 e dê o ⟳ — e refaça a federal.
v1.69.2 · 🔎 A revisão geral que o senhor pediu — 7 defeitos dormentes achados e consertados29/08/2026
- 🔎 A revisão geral das 7 certidões terminou — 7 auditores compararam TUDO que foi ordenado desde o dia 25 com o que o código faz hoje. A boa notícia: o grosso está cumprido, e nenhuma ordem sua foi revertida. A honesta: a varredura achou defeitos dormentes que nenhum teste tinha pego — todos consertados nesta versão:
- 🐞 1º grau do TJMT: o leitor do número do pedido tinha um erro de escrita e nunca casava "número do pedido" — o atalho da tela do protocolo quase nunca disparava. E o anexador da identidade tinha outra corrupção igual — toda identidade ganhava extensão duplicada (RG.pdf.pdf). Os dois consertados.
- 🛑 TJMT: a extensão parava de encostar só na busca avançada — mas em qualquer OUTRA página do site ela ainda rodava o preenchedor do 2º grau (com o Emitir automático!). Agora, nas telas de pedido/andamento/protocolo ela não encosta. E o VOLTAR virou seu de verdade: quem volta para corrigir não é mais puxado de volta à 2ª página em 1 segundo.
- ✅ TSE e Federal: o botão "✋ eu clico" segurava o clique — mas desarmava também o ENVIO da certidão para a ficha. Agora segurar o clique não desarma o envio: quando o senhor mesmo clicar e a certidão nascer, ela vai para a ficha do mesmo jeito.
- 🎖️ STM ficou mais resistente: aceita o arquivo mesmo quando o site o entrega "disfarçado" (formato genérico), leva os campos junto se o formulário for do tipo antigo, e — se a busca por dentro falhar — avisa que o captcha precisa ser resolvido DE NOVO (o anterior é gasto na tentativa).
- ⚠️ Baixe a 0.28.2 e dê o ⟳.
v1.69.1 · ⚖️ A federal emite sozinha — nivelada com as outras29/08/2026
- ⚖️ A Justiça Federal (TRF1) agora EMITE SOZINHA, do mesmo jeito das outras: formulário completo → contagem de 5 segundos para conferir (▶ ir agora / ✋ eu clico) → clique automático em EMITIR CERTIDÃO. Quando a certidão abrir, clique em IMPRIMIR (é assim que o PDF nasce lá) — e ela vai para a ficha sem mais um clique.
- 🔎 Sendo transparente sobre o "estava e parou": fui ao histórico do código medir — o clique automático no Emitir nunca existiu na federal; ele nasceu no TJMT (dia 28) e no TSE (hoje). A federal ficou parada no padrão do dia 26, e ao lado das novas ela PARECEU quebrada. A sensação de "arruma uma, desarruma outra" era isso: a régua subiu nos outros e a primeira ficou para trás. Agora estão todas niveladas.
- 🩺 E o aviso de captcha da federal também era texto nunca medido (não há captcha no seu print) — agora quem fala é a linha 🩺, como nas outras.
- ⚠️ Baixe a 0.28.1 e dê o ⟳.
v1.69.0 · 🎖️ Justiça Militar: a certidão vai para a ficha, não para o computador29/08/2026
- 🎖️ A certidão da Justiça Militar (STM) agora vai direto para a ficha do cliente. O seu print mostrou o problema: o Emitir de lá manda o arquivo como download do navegador — um caminho que os meus capturadores não viam, por isso caía na pasta do computador. Agora a extensão intercepta o clique no Emitir e busca a certidão por dentro: ela nasce na minha mão, vai para a ficha sozinha e não baixa mais no computador.
- 🤖 O captcha continua com você — e desta vez ele é DE VERDADE (o seu print confirmou o "Não sou um robô"; é o 1º captcha real medido entre os 5 órgãos). Resolva, clique Emitir, e o resto é comigo.
- 🛟 Rede de segurança: se a busca por dentro falhar (site fora do ar, captcha recusado), a extensão devolve o clique ao site e o arquivo baixa normal no computador — você nunca fica sem a certidão. E o balão registra o motivo para me mandar print.
- ⚠️ Baixe a 0.28.0 e dê o ⟳.
v1.68.5 · ⏸️ TSE: 5 segundos para conferir antes do clique29/08/2026
- ⏸️ A contagem de conferência que o senhor pediu ("não dá tempo de ver o que se preenche... é arriscado"): depois de preencher, a extensão mostra um cartão verde com 5 segundos de contagem antes de clicar em ENTRAR. Dá para conferir os campos com calma, tocar ▶ ir agora se já conferiu, ou ✋ eu clico para segurar o automático e clicar o senhor mesmo.
- 🔎 Sobre os clientes em que "não deu certo": o seu print mostrou o motivo — o aviso é do PRÓPRIO TSE: *"Serviço disponível apenas para eleitores"*. Ou seja, a extensão preencheu e clicou certo; foi a Justiça Eleitoral que recusou aquele eleitor (título cancelado/suspenso ou dado que não bate com o cadastro eleitoral). Nesses casos, confira a situação do título do cliente no próprio TSE — não é defeito do preenchimento.
- ⚠️ Baixe a 0.27.2 e dê o ⟳.
v1.68.4 · 🐞 O balão que sumiu na 0.27.0 — três consertos do seu print29/08/2026
- 🐞 O balão da 0.27.0 estava QUEBRADO — erro meu, e o seu teste pegou. Ao montar a barra de arrastar, o botão de recolher nunca entrava na tela, e a montagem inteira morria: por isso "não apareceu nada do balão". Consertado na 0.27.1.
- 🗳️ O botão do TSE chama-se ENTRAR — o seu print mostrou o nome, e a extensão procurava Prosseguir/Continuar/Autenticar/Emitir. Agora "Entrar" (exato, para não confundir com o "Entrar com e-Título" logo abaixo) está na lista, e o clique automático funciona.
- 🕳️ O silêncio ganhou explicação: os dados do cliente valem 15 minutos na aba do tribunal — o seu reteste veio exatamente 15 minutos depois do 1º clique, o pacote tinha vencido e a extensão ficava MUDA. Agora, em site de tribunal conhecido, ela avisa: "o pacote expirou — volte na ficha e clique de novo no botão da certidão".
- ⚠️ Baixe a 0.27.1 e dê o ⟳.
v1.68.3 · 🗳️ TSE prossegue sozinho + o balão sai da frente29/08/2026
- 🖱️ O balão da extensão agora ARRASTA e RECOLHE. Sua pergunta das 13:10 era certa: o balão fica fixo no canto e pode COBRIR o botão do site (no seu print ele já cortava o campo do pai). Agora é só arrastar pelo título para mover, ou tocar no “–” para recolher em uma barrinha. Vale em todos os tribunais.
- 🗳️ TSE: com o formulário completo, a extensão PROSSEGUE sozinha — acha o botão pelo nome (Prosseguir/Continuar/Autenticar/Emitir), clica e registra na linha 🩺 o que era e para onde foi. Sobre o captcha: o aviso antigo (“resolver o captcha”) era texto fixo, nunca medido — mesmo erro do 2º grau do TJMT. Agora, se um captcha aparecer de verdade, a tela mostra, você resolve, e a certidão vai para a ficha sozinha assim que nascer.
- ⚠️ Baixe a 0.27.0 e dê o ⟳.
v1.68.2 · 🖼️ O convite novo do App Cliente — aprovado e no ar29/08/2026
- 🖼️ O convite do App Cliente ficou como o senhor aprovou (12:58): a 1ª mensagem agora é a logo do CLIENTE (a dourada "FattoCAC CLIENTES") com o texto na legenda — uma mensagem só, sem "Ler mais" (672 letras; o corte é ~700). A 2ª mensagem continua sendo só a senha, sozinha na linha.
- 📝 O texto novo: enxuto, com respiro entre todos os blocos, a frase "FATTO CAC CLIENTE", e a divisão clara — no celular instala e o ícone fica fixo na tela; no computador é o mesmo endereço, sem instalar. E avisa que a senha pode ser trocada no app.
- 🛟 Rede de segurança: se a figura não puder ser baixada na hora do envio, o convite vai em texto puro — o cliente recebe do mesmo jeito, nunca fica sem.
v1.68.1 · 🔑 Modelo híbrido: a senha do sistema volta ao convite — e o cliente troca quando quiser29/08/2026
- 🔑 Ajuste da sua decisão das 10:23: o convite volta a levar a senha do sistema na 2ª mensagem (em vez do link da 1.68.0) — e o cliente troca pela dele no app quando quiser (☰ → Trocar minha senha, pedindo a atual). É o modelo híbrido que você descreveu: *"mantenha o envio com a senha do sistema, porém com a opção do cliente mudar a senha para a que ele quiser"*.
- ⚠️ Atenção que o híbrido traz de volta: gerar o acesso de novo TROCA a senha — inclusive uma que o cliente já tenha personalizado. A tela avisa antes e pede confirmação, como sempre.
- 📝 O texto novo do convite (enxuto, com espaçamento, sem "Ler mais", com a logo do CLIENTE e a frase FATTO CAC CLIENTE) está aguardando a sua aprovação na amostra postada no grupo — o texto atual segue no ar até o seu OK.
v1.68.0 · 🔑 A senha do app agora é o CLIENTE quem cria29/08/2026
- 🔑 O sistema não gera mais senha para o cliente. No lugar dela vai um link de uso único (vale 24 horas): o cliente toca, cai numa tela do app e cria a própria senha. Foi a sua decisão das 09:32: *"eliminando de vez a senha enviada pelo sistema... fica mais fácil o cliente gerar a senha dele"*.
- 📲 O convite continua em 2 mensagens — a 1ª com o convite (agora dizendo que o link vem em seguida) e a 2ª só com o link, fácil de tocar. Quem já tem senha continua entrando normalmente com ela.
- ☰ Trocar minha senha — item novo no menu do app do cliente. Pede a senha de hoje antes de aceitar a nova (celular perdido com o app aberto não vira dono da conta).
- 🛑 O botão do painel parou de destruir senha: gerar/reenviar acesso agora NUNCA mexe na senha que o cliente criou — só gera um link novo (e o anterior deixa de abrir). Antes, um clique do despachante matava a senha do cliente.
- 🩺 Revisado dobrado antes de subir (é mudança de segurança): 4 revisores independentes tentaram quebrar o desenho e os achados foram corrigidos — link vencido agora explica o que fazer (em vez de pedir uma senha que não existe), o prazo do link subiu de 1h para 24h, e o atalho de criar senha só funciona para quem chegou pelo link (sessão comum precisa da senha atual).
v1.67.1 · 🖨️ O PDF da prévia sai com margens de documento29/08/2026
- 🖨️ O Imprimir/Salvar PDF da prévia formatada sai com margens de verdade (padrão de ofício, 2,5 cm). Medi no seu PDF da procuração: o justificado, os títulos centralizados e a fonte SAÍRAM certos — o que sumia eram as margens: o título colado no topo e o texto encostado na borda. Documento sem margem parece sem formatação nenhuma.
- 🔍 Achado no caminho, no MODELO da procuração (não mexi — o arquivo é seu): no meio do texto está escrito "…na cidade de Aripuanã-MT coCARLOS FELIPE AMORIM LINKCARLOS FELIPE AMORIM LINKm endereço…" — o campo do nome foi colado DUAS vezes dentro da palavra "com". Isso está no .docx do modelo e sai em TODA procuração gerada. Corrija o modelo (ou me autorize) — é trocar o miolo por "com endereço".
v1.67.0 · 📄 A tarja de documento novo — sem sair e voltar29/08/2026
- 📄 Respondendo a sua pergunta das 07:03 ("por que não consigo ver a certidão na página Documentos? tenho de ir pra outra página e voltar"): não era atraso. A página busca os dados quando ABRE — e quem grava a certidão é a aba do tribunal, então a sua aba do FattoCAC nem fica sabendo. Sair e voltar era abrir de novo.
- 🔔 Agora a extensão avisa a sua aba: assim que um documento entra pela extensão, aparece a tarja *"📄 Chegou documento novo — clique para ver"* na parte de baixo da tela do FattoCAC. Um clique e ele está lá.
- 🛑 De propósito, ela NÃO atualiza a tela sozinha: se o senhor estiver no meio de um cadastro, uma atualização automática apagaria o que está digitado. O clique é seu; o ✕ dispensa a tarja.
- ⚠️ Baixe a 0.26.0 e dê o ⟳.
v1.66.3 · 🔁 A conferência que o senhor pediu — e o que tinha desfeito a formatação29/08/2026
- 🔎 O senhor estava certo: JÁ TINHA sido corrigido. A regra “selo não quebra” existe desde 20/08. O que desfez foi a proteção do modo cartão (12/08, a que impede o cartão de estourar a tela): ela anulava a regra do selo em toda tabela que vira cartão no celular — não era só a página de Prazos. Agora o selo tem um comando mais forte que a anulação: nunca mais parte, em nenhuma tela-cartão.
- 🧾 A conferência, tela por tela: as 29 tabelas-cartão dos 2 apps ganharam a correção de uma vez (é regra no CSS, não remendo por página). Achei e neutralizei um defeito igual ainda adormecido: a coluna “Motivo” da ficha do cliente no sistema, com largura fixa de 260px — ia quebrar do mesmo jeito no celular. As 53 tabelas que não viram cartão rolam de lado no celular e não têm esse mecanismo; a tabela de Cobertura tem cartão próprio e não anula a regra do selo — conferida, está sã.
v1.66.2 · 🏷️ Os selos dos Prazos pararam de descer em pé no celular29/08/2026
- 🏷️ Na página de Prazos do app do cliente os selos voltaram a caber na linha. Estavam descendo *uma letra por linha* (“5/5/d/i/a/s”, “J/Á/P/R/O/T/O…”) e até o rótulo partia em “QUAND/O”. Foi o print do senhor às 07:46.
- 🔍 A causa não era a página de Prazos. A célula do “Quando” carregava uma largura de 110 pixels — medida pensada para a COLUNA no computador. No celular a tabela vira cartão de linha inteira, e essa largura virava camisa de força: sobravam ~40 pixels para os selos, e aí a palavra quebra em qualquer letra.
- 📏 Virou regra, não remendo. É a terceira vez que este mesmo defeito aparece (19/08 nos documentos, 21/08 nas colunas, hoje nos prazos) e nas duas primeiras eu consertei só aquela tela. Agora, em qualquer tabela que vire cartão no celular, largura de coluna não vale — a linha inteira é a largura. As outras telas ganham a correção junto.
- 🏷️ E um selo nunca mais parte no meio da palavra: ou cabe na linha, ou desce inteiro. O texto longo (nome de arquivo, código do CAR) continua podendo quebrar, que é quem precisa disso.
v1.66.1 · 🛑 A certidão para de baixar duas vezes28/08/2026
- 🛑 A certidão não cai mais na pasta Downloads. Ela vai para a ficha do cliente e só para lá. O senhor pediu: *“ele baixou no sistema e ao mesmo tempo baixou no computador para salvar… no computador para salvar não precisa”*.
- 🔍 Quem baixava não era a extensão — medi antes de mexer: não existe uma linha de download no código dela. Quem salvava na máquina era o próprio site do tribunal. O que a extensão faz agora é segurar esse gesto do site.
- 🔒 Só enquanto ela está conduzindo. A trava vale na janela do “Emitir Certidão” automático e se solta sozinha depois. Download que o senhor pedir continua normal, sempre.
- 🩺 E ela avisa no balão que segurou. Se mesmo assim o arquivo cair na pasta, o balão pede o print — significa que o site baixa por outro caminho, e aí eu sei o que corrigir em vez de adivinhar.
- ⚠️ Baixe a 0.25.0 e dê o ⟳.
v1.66.0 · 📤 Certidão de 2º grau: emite e manda pro sistema sozinha28/08/2026
- 📤 A extensão clica em "Emitir Certidão" e, assim que a certidão aparece na tela, manda ela para a ficha do cliente sozinha — sem o senhor clicar em mais nada.
- 🛑 Só emite com o formulário completo. Se faltar um campo, ela para e mostra qual: emitir faltando dado só devolve erro do site e o senhor perderia a informação do que falhou.
- 🛑 Uma vez só — emitir duas vezes seria pedir duas certidões.
- ✅ Tirei um aviso errado meu: o balão dizia "falta o captcha" nessa tela, mas a certidão de 2º grau não tem captcha nenhum. Era texto herdado do 1º grau, que só confundia.
- ⚠️ Baixe a 0.24.0 e dê o ⟳.
v1.65.0 · 📤 A 1ª página também vira sozinha28/08/2026
- 📤 O botão "Próximo" da 1ª página agora é clicado automaticamente, como já acontecia nas outras. As três etapas passam a correr sem o senhor precisar empurrar.
- 🛑 Com uma trava de propósito: ela só vira a página se nada faltar E o documento de identificação já estiver anexado. Se faltar alguma coisa, ela para e mostra o quê — porque virar a página sem o anexo faria o senhor descobrir o problema lá no fim, com o pedido recusado.
- 🖱️ Sobre a tela do protocolo: o motivo era o bloqueio de pop-up do Chrome, como o senhor mesmo suspeitou. Marque "Sempre permitir pop-ups de sec.tjmt.jus.br" e ela abre.
- ⚠️ Baixe a 0.23.0 e dê o ⟳.
v1.64.0 · 🎯 A tela do protocolo abre direto, sem depender do botão28/08/2026
- 🎯 O seu e-mail deu a resposta: o próprio TJMT manda no aviso o *link direto* da tela do protocolo. Agora a extensão pega o número do pedido assim que ele é criado e abre essa tela pelo endereço — que é a tela que o senhor precisa para printar como prova.
- ✅ Não depende mais do botão "Detalhes do Pedido", que era o que estava fazendo o site pular para outra certidão.
- ✅ O número do pedido também aparece no balão — assim o senhor tem o dado na mão mesmo que a tela demore a abrir.
- ✉️ Confirmado na prática: o aviso de protocolo chegou no e-mail do despachante ("Olá, JÚLIO CÉSAR…"). A regra do e-mail está funcionando de ponta a ponta.
- ⚠️ Baixe a 0.22.0 e dê o ⟳.
v1.63.1 · 🩺 A extensão vai me dizer para onde o site pulou28/08/2026
- ✅ A correção de antes pegou: no seu último print, os campos da outra certidão estavam todos vazios — a extensão não encostou neles. O balão continua na tela porque ele é flutuante e fica por cima de qualquer página.
- 🩺 O que sobrou: quem troca de página é o *site*, no clique do "Detalhes do Pedido". Em vez de eu chutar de novo o motivo, a extensão passa a anotar o que aquele botão é e para qual endereço a página foi — e mostra isso no balão.
- ⚠️ Baixe a 0.21.2, rode uma vez e me mande o print do balão com a linha 🩺. Com ela eu vejo o caminho real.
v1.63.0 · 📏 Orçamento no WhatsApp mais compacto28/08/2026
- 📏 Tirei as linhas em branco do meio da mensagem. Cabeçalho, lista de serviços e totais agora formam um bloco só — o negrito do título e do TOTAL já separa o que precisa, sem gastar linha. Com 5 serviços, a mensagem caiu de 18 para 14 linhas.
- 💸 O PIX continua indo sozinho na mensagem seguinte, como o senhor pediu antes. Não mexi nisso.
- 🔍 Uma medição que o senhor precisa ver: tirar as linhas em branco economiza 4 linhas, mas quase nenhum caractere — e o "Ver mais" do WhatsApp conta caracteres. Quem estoura é a observação padrão do orçamento (379 caracteres sozinha). Com ela, a mensagem tem 1043; sem ela, 663. Encurtar essa observação é decisão sua.
v1.62.1 · 🛑 A extensão agora sai de cena assim que o pedido é criado28/08/2026
- 🔍 O que o senhor viu não era a primeira página — era outra certidão ("Certidão de Objeto e Pé"), que tem campos de nome parecido. Por isso pareceu que voltou pro começo.
- 🛑 A causa era minha: a extensão fica de vigia enquanto o senhor preenche as 3 etapas, e eu não mandei ela parar depois que o pedido é criado. Ela continuava ligada, viu campos conhecidos na tela seguinte e começou a preencher lá.
- 🛑 Agora ela desliga no instante em que o pedido é criado — o trabalho dela acabou ali.
- 🔍 E só encosta na página da busca avançada. Em qualquer outra certidão do TJMT, ela não mexe em nada, mesmo que os campos tenham o mesmo nome por dentro.
- ⚠️ Baixe a 0.21.1 e dê o ⟳.
v1.62.0 · 🔧 A correção do 1º grau vale também para o 2º grau do TJMT28/08/2026
- 🔧 Situação do Processo e Tipos de Certidão agora marcam sozinhos também na certidão de 2º grau. São as mesmas caixinhas do 1º grau — mesmo site, mesmo componente — e ali ainda estava o jeito antigo, o que não marcava.
- 🔍 A extensão clica em "Consultar Documento" para o senhor. É esse botão que traz o nome do cliente e faz nascer a lista de tipos: sem ele, os campos de baixo nem existem para serem preenchidos. É consulta, não emite nada.
- 🛑 O captcha e o botão de emitir continuam sendo seus — esse limite foi o senhor que desenhou.
- ⚠️ Baixe a 0.21.0 e dê o ⟳.
v1.61.0 · 🔇 Laudo psicológico e teste de tiro não mandam mais mensagem ao cliente28/08/2026
- 🔇 Nenhuma mensagem de WhatsApp sai mais para vencimento de Laudo Psicológico ou de Comprovante de Capacidade Técnica (teste de tiro) — esse trabalho não é do despachante.
- ✅ Eles continuam aparecendo normalmente na página de Prazos e no Radar: no sistema, no app do despachante e no app do cliente. O corte é só na mensagem.
- 🚨 A Guia de Tráfego para treino de tiro continua avisando — ela tem "tiro" no nome, mas é serviço do despachante, e calá-la seria apagar justamente o aviso que importa.
- 🚨 O que já saiu: 5 mensagens entre 22 e 28/08, para 3 clientes (EDER GOMES DA COSTA, IAGO ACIOLI SILVA e DANIEL AUGUSTO BRAGA AVELINO). Estão listadas no relato do grupo, uma a uma.
v1.60.0 · 💾 Salvar arma e fazenda sem sair da tela28/08/2026
- 💾 Os botões de salvar da arma e da fazenda agora ficam na mesma tela — não voltam mais para a lista de Processos. Você vincula, vê o vínculo aparecer na lista logo acima e já vincula o próximo, sem reabrir o processo.
- ✅ Eles continuam salvando tudo: os campos do processo lá de cima e o vínculo escolhido aqui embaixo, num clique só.
v1.59.0 · 📤 Certidão do TJMT do começo ao fim, sem parar28/08/2026
- 🔍 O número da casa não saía porque eu procurava o campo escrito sem acento (NUMERO) e a tela escreve NÚMERO. O cadastro tinha o dado (225 W) — o erro era meu. Agora o nome do campo é lido com ou sem acento.
- 🔍 O CEP saía cortado (78575-0__): o cadastro guarda com ponto e traço, e o campo do site tem formatação própria que engolia a pontuação. Agora vai só o número e o site formata sozinho.
- 📤 A extensão avança de página sozinha ao terminar a 2ª — mas só quando não faltou nada. Se faltar campo, ela para e mostra o que falta, para o senhor não perder essa informação.
- 📤 E clica no botão da caixa "Pedido Emitido" (Detalhes do Pedido), que fecha o serviço.
- ✉️ REGRA GRAVADA: a certidão sai em até 5 dias úteis e chega no e-mail do despachante. Por isso o e-mail agora sai do cadastro da sua assessoria, e não de quem estiver logado. Tem campo novo em Configurações para o senhor cadastrar — e um aviso na tela enquanto não estiver preenchido.
- ⚠️ Baixe a 0.20.0 e dê o ⟳.
v1.58.0 · 📤 TJMT ponta a ponta: as 3 páginas e o pedido criado28/08/2026
- 🏠 A 3ª página (endereço) se preenche sozinha: rua, número, bairro, complemento, CEP, estado e cidade — todos do primeiro endereço do cliente, como está no seu passo a passo.
- 📤 E a extensão agora clica em CRIAR PEDIDO — o senhor autorizou hoje. Depois disso é só usar o botão de trazer a certidão para o sistema. Ela clica uma vez só: dois cliques seriam dois pedidos ao tribunal.
- 🛑 O que continua sendo seu: o captcha e o botão de emitir das outras certidões. Esse limite foi o senhor que desenhou e eu não passo por cima dele.
- ✅ Telefone e e-mail já estavam certos (são os do despachante desde 26/08). Eu tinha levado isso ao senhor como se fosse um erro — não era, e o engano foi meu: li um comentário velho no código em vez de conferir o dado. Já apaguei o comentário que me enganou.
- ⚠️ Baixe a 0.19.0 e dê o ⟳.
v1.57.0 · 🏠 TJMT: a 3ª página (endereço) agora também se preenche sozinha28/08/2026
- ✅ As páginas 1 e 2 passaram — o senhor confirmou: todas as caixinhas marcadas.
- 🏠 Agora a 3ª: rua, número, bairro, complemento, CEP, estado e cidade — todos do primeiro endereço do cliente, exatamente como está escrito no seu passo a passo.
- 📄 Não precisei pedir o passo a passo de novo: usei o PDF que o senhor mandou em 24/08 (Certidões da Justiça Estadual de Primeiro Grau). Ele já estava aqui.
- 🛑 O botão CRIAR PEDIDO continua sendo seu. Ele manda o pedido ao tribunal de verdade — a extensão preenche tudo e para ali, avisando na tela. Se o senhor quiser que ela clique, é só mandar.
- ⚠️ Baixe a 0.18.0 e dê o ⟳.
v1.56.1 · ⌨️ A extensão tenta todos os caminhos e diz qual funcionou28/08/2026
- ✅ O quadrinho da página 1 passou a marcar sozinho — o senhor confirmou. A causa que eu tinha achado estava certa.
- 🩺 Na página 2 o seu print mostrou o que faltava: eu tentei clicar no texto e no quadradinho, e o site não reagiu a nenhum dos dois. E revelou uma coisa que eu não sabia — naquelas opções não existe caixinha de verdade por baixo, é um desenho que o site controla. Por isso o truque que resolveu a página 1 não serve ali.
- ⌨️ Agora ela tenta todos os caminhos que faltam numa passada só: clique com a posição do mouse, tecla Espaço e tecla Enter — e o balão diz qual deles o site aceitou. Assim o senhor testa uma vez, não seis.
- 🩺 O balão também passa a dizer se o clique chegou ao lugar certo. São duas causas bem diferentes (o clique não chega × chega e o site ignora), e a resposta muda o conserto.
- ⚠️ Baixe a 0.17.0 e dê o ⟳.
v1.56.0 · 🖱️ O seu print achou o erro: era a ORDEM do clique28/08/2026
- 🩺 O diagnóstico funcionou de primeira. A linha que o senhor mandou dizia: achei a opção certa, cliquei no lugar certo, e o site não registrou. Isso eliminou tudo o que eu vinha corrigindo e sobrou uma coisa só — o jeito do clique.
- 🖱️ O erro: eu dava um clique de mentira antes do clique de verdade. O site processava o primeiro, via que nada tinha mudado e travava o campo; o clique bom chegava depois, em cima de um campo já travado. Agora o clique de verdade vem primeiro e sozinho.
- 🎯 E uma coisa que eu já fazia certo e nunca apliquei aqui: no campo da comarca, deste mesmo formulário, eu uso desde a 3ª tentativa um jeito especial de avisar o site que o valor mudou. Nas caixinhas eu nunca usei. Agora uso.
- 🩺 A caixinha da lista virou caminho de primeira classe, não mais plano B — e o balão passa a dizer qual dos três caminhos funcionou, para o próximo print já responder sozinho.
- ⚠️ Baixe a 0.16.0 e dê o ⟳.
v1.55.2 · 🩺 A extensão passa a dizer o que ela viu quando não consegue marcar28/08/2026
- 🏷️ O número da versão agora aparece no balão. Hoje de manhã o senhor testou, avisou que não funcionou, e eu levei uma hora só para descobrir que era a versão anterior que estava instalada. Com o número à vista no print, isso não se repete.
- 🩺 Quando um campo não marcar, o balão mostra uma linha a mais dizendo o que a extensão encontrou: se a lista abriu, quantas opções apareceram, se achou a opção certa e o que o site respondeu depois do clique. É essa linha que me diz o motivo — em vez de eu ficar tentando adivinhar e gastar teste seu.
- 🩺 Vale para os três campos da 2ª página e para o quadrinho da 1ª.
- ⚠️ Baixe a 0.15.1, dê o ⟳, rode uma vez e me mande o print do balão com a linha nova.
v1.55.1 · 🔬 Segunda leitura do site do TJMT — mais três achados28/08/2026
- 🚪 Abrir a lista do jeito que o site espera: descobri que o próprio site abre a lista quando o campo recebe o foco. A extensão passa a usar esse caminho, e agora ela sabe quando a lista abriu (o site marca isso na página) em vez de contar e torcer.
- 🎯 Procurar a opção só dentro da lista que está aberta. Essas listas nascem soltas no rodapé da página, longe do campo. Se a lista do campo anterior tivesse ficado aberta, eu podia procurar a opção certa dentro da lista errada.
- 🚪 Fechar a lista com Esc, não com um clique no vazio. No seu print das 06:45 a lista de TIPOS DE PARTE ficou aberta — sinal de que o clique no vazio não fecha esse componente.
- ⚠️ Esta substitui a 0.14.0 — baixe a 0.15.0 e dê o ⟳. Se o senhor já baixou a 0.14.0, baixe de novo.
v1.55.0 · 🔬 Estudei o site do TJMT por dentro — e achei o erro de verdade27/08/2026
- 🛡️ Primeiro, o mais grave: a extensão nunca mais desfaz o que você marcou à mão. Ela agora tira uma “fotografia” de todas as caixinhas da página antes de clicar; se mexer em alguma que não era a dela, devolve na hora ao que estava.
- 🧨 A causa do quadrinho da página 1 ter voltado desmarcado: a extensão criava um vigia novo a cada vez que você ia e voltava entre as páginas. Depois de 3 idas eram 8 vigias preenchendo a mesma tela — e clicar duas vezes numa caixinha desmarca. Agora é um vigia só, sempre.
- 🔬 E o estudo dos campos da 2ª página: li os arquivos que o próprio TJMT publica no site. Aqueles três campos são um componente de árvore com caixinhas, e o pedaço que “escuta” o clique é o texto da opção — não a linha inteira. Eu vinha clicando na linha, e o clique nunca chegava a quem escuta. Por isso funcionava com o seu mouse (você acerta o texto) e não com o meu.
- 🎯 Agora a extensão mira o texto da opção, tenta a caixinha se o texto não reagir, e só diz que marcou depois de conferir na tela.
- ✅ Campo que já está escolhido não é mais tocado — se foi você quem escolheu, fica como está.
- ⚠️ Baixe a extensão de novo — 0.14.0 — e dê o ⟳.
v1.54.2 · 🖱️ O clique da extensão agora é igual ao do seu mouse27/08/2026
- 🗣️ Seu teste resolveu: você clicou na opção com o mouse e ela marcou (☑ Réu, “1 item selecionado”). Isso me disse exatamente onde estava o problema.
- 🔍 A diferença era sutil: o clique que a extensão dava *avisava* a página que houve um clique, mas não fazia o navegador executar o clique. E “clicar no nome da opção marca a caixinha” é coisa do navegador, não do site. Por isso a lista abria e a caixa não marcava.
- 🖱️ Agora ela dá o clique de verdade, do mesmo tipo que o do seu mouse.
- ✅ Vale para todos os campos de marcar: Situação do Processo, Tipos de Certidão e Tipos de Parte.
- ⚠️ Baixe a extensão de novo — 0.13.2 — e dê o ⟳.
v1.54.1 · 👆 TJMT: agora ele clica no TEXTO da opção, como você faria27/08/2026
- 🗣️ “Ainda não deu certo” — com o print mostrando o campo já aberto (☐ Criminal · ☐ Cível) e nada marcado.
- 🔍 O que faltava: o campo abria (isso já funcionava), mas a caixinha que aparece na tela não é a caixa de verdade — o site esconde a caixa real e desenha um quadradinho no lugar. Eu procurava a caixa; ela existia sem tamanho nenhum, e o quadradinho que se vê não era ela.
- 👆 Agora ele clica no TEXTO da opção — exatamente como o senhor faria com o mouse. Isso marca a caixa esteja ela escondida ou não, porque é assim que o site foi feito para funcionar.
- ✅ E continua conferindo antes de dizer que preencheu, e não desmarca o que já estiver marcado.
- ⚠️ Baixe a extensão de novo — 0.13.1 — e dê o ⟳.
v1.54.0 · ☑️ TJMT 2ª página: os 3 campos que faltavam são caixinhas — agora marcam27/08/2026
- 🗣️ “Os 3 campos que faltam são de SELECIONAR o tipo das respostas… todos abrem da mesma forma com opção de respostas.” O senhor matou a charada, e o print com o campo aberto mostrou tudo.
- 🔍 O mecanismo era outro. Situação, Tipo de Certidão e Tipo de Parte não são listas comuns — abrem uma janelinha com caixas de marcar (☐ Em Andamento / ☐ Arquivado). Eu vinha tratando os cinco campos do mesmo jeito; a Comarca e o Período são listas comuns e por isso entravam, e esse acerto parcial escondeu que os outros três eram outra coisa.
- ☑️ Agora ele abre a janelinha, espera as opções chegarem, marca a certa e fecha — e confere se ficou marcada antes de dizer que preencheu.
- ☑️ Não desmarca nada que o senhor já tenha marcado: só toca na caixa vazia que precisa marcar.
- 🏛️ Deve ficar assim: Comarca JUARA · Período 5 · Situação Em Andamento · Tipo de certidão Criminal · Tipo de parte Réu.
- ⚠️ Baixe a extensão de novo — 0.13.0 — e dê o ⟳.
v1.53.2 · ⏳ TJMT 2ª página: espera as listas carregarem, confere o que entrou e repõe no Voltar27/08/2026
- 🗣️ “Continua sem preencher Situação, Tipo de Certidão e Tipo de Parte… e ao clicar em Voltar ele deleta parte do que estava na página anterior.” Os dois corrigidos.
- ⏳ Por que os 3 ficavam vazios: essas listas chegam do servidor depois que a página abre. A Comarca e o Período davam tempo de carregar; as de baixo, não — e o sistema procurava numa lista ainda vazia. Agora ele espera a lista chegar.
- 👁️ E agora ele CONFERE o que escolheu. Antes ele avisava “Tipo de parte: Réu” mesmo quando o site recusava — o senhor via a mensagem e o campo vazio. Agora só diz que preencheu o que a tela realmente aceitou, e avisa o que faltou.
- 🔁 O botão Voltar: é o site que limpa parte da 1ª página. A extensão passa a repor sozinha o que ela tinha preenchido, assim que a página reaparece.
- ⚠️ Baixe a extensão de novo — 0.12.2 — e dê o ⟳.
v1.53.1 · 🏛️ TJMT 2ª página: corrigido o “POXORÉU” na comarca e os 3 campos vazios27/08/2026
- 🗣️ “Continua sem preenchimento em Situação, Tipo de Certidão e Tipo de Parte. E na comarca, de onde foi que você tirou POXORÉU? No cadastro está JUARA.” Corrigido — e o senhor tinha toda razão.
- 🔍 O que era, e é engraçado de tão bobo: a palavra POXORÉU termina em “RÉU”. Ao procurar a opção *Réu* no campo “Tipo de parte”, o sistema pegou o campo errado (o da comarca) e escolheu a cidade Poxoréu — apagando o JUARA que já tinha acertado.
- 🎯 Duas correções: cada rótulo agora encontra o seu campo (antes, os três da mesma linha achavam sempre o primeiro), e as opções passam a casar por inteiro — “Réu” é só “Réu”, nunca um pedaço de outra palavra.
- 🏛️ Resultado: Comarca = JUARA · Período = 5 · Situação = Em Andamento · Tipo de certidão = Criminal · Tipo de parte = Réu.
- ⚠️ Baixe a extensão de novo — 0.12.1 — e dê o ⟳ em chrome://extensions.
v1.53.0 · 🏛️ TJMT 1º grau: a 2ª página agora preenche sozinha (TASK-020)27/08/2026
- 🗣️ “Segunda página: entrou com dados parciais, apenas CPF e nome. Falta COMARCA, PERÍODO DE BUSCA, SITUAÇÃO DO PROCESSO, TIPOS DE CERTIDÃO e TIPOS DE PARTE.” Feito, com os valores que você fixou.
- ✅ Comarca = a cidade do 1º endereço do cliente · Período = 5 anos · Situação = Em Andamento · Tipo de certidão = Criminal · Tipo de parte = Réu.
- ⏳ Ela espera você clicar em “Próximo”. A 2ª página só nasce depois disso — a extensão fica aguardando e preenche assim que a tela aparecer, sem pressa (até 4 minutos, para você conferir a 1ª com calma).
- 🛡️ Se o cliente estiver sem cidade no cadastro, ela NÃO chuta a comarca — avisa que falta. Comarca errada faz o tribunal devolver o pedido.
- 🏛️ Essa era a tela que eu nunca tinha visto (só aparece depois do captcha). Seu print foi o que permitiu fazer.
- ⚠️ Baixe a extensão de novo — versão 0.12.0 — e dê o ⟳ em chrome://extensions.
v1.52.0 · 🪪 A CNH volta a subir mesmo quando está guardada como “outro”27/08/2026
- 🗣️ “Ontem chegou a subir o documento CNH no teste que fiz no meu nome… hoje já não subiu em nome de MARIA GISLENE.” Achado e corrigido.
- 🔍 O que era: ela tem a CNH no sistema — o arquivo é `CNH (16).pdf`, mas está classificado como “outro”, herança da importação das planilhas. O sistema só procurava nas categorias certas (CNH, RG, carteira). No seu acervo são 10 documentos assim, de 9 clientes — não era só ela.
- 🪪 Agora ele também olha os que estão em “outro” e reconhece pelo nome do arquivo.
- 🛡️ Com uma trava importante: no acervo da própria Maria Gislene existe *“CNH WALTER BARBOSA.pdf”* — a CNH do autorizante da fazenda. Mandar isso ao tribunal seria anexar documento de outra pessoa. O sistema recusa qualquer arquivo que cite alguém do cadastro de terceiros do cliente.
- 👁️ E avisa quando foi palpite: se o documento veio de “outro”, a caixinha diz qual arquivo usou e pede para você conferir antes de enviar.
- ⚠️ Baixe a extensão de novo (0.11.5) e dê o ⟳ em chrome://extensions.
v1.51.1 · ☑️ O “quero receber avisos por e-mail” do TJMT agora marca de verdade27/08/2026
- 🗣️ “Ainda falta marcar em definitivo o quadradinho onde está descrito DESEJO RECEBER POR E-MAIL…” — com o print da tela preenchida e a caixa vazia. Corrigido.
- 🔍 Por que não funcionava: eu procurava o texto só *em volta* da caixinha. Nessa tela o texto fica ao lado dela — a caixa existia, o texto existia, e o sistema não ligava um ao outro.
- ☑️ Agora procura de quatro formas diferentes e usa a primeira que encontrar. Funciona nos dois formulários do TJMT.
- ⏳ E espera a caixinha aparecer: o site monta os campos aos poucos, e ela é o último item da primeira página. A extensão tenta por alguns segundos em vez de desistir na hora.
- ☑️ Continua sem desmarcar o que você já marcou.
- ⚠️ Precisa baixar a extensão de novo (versão 0.11.4) e dar o ⟳ em chrome://extensions.
v1.51.0 · 🃏 O card do Kanban mostra a fazenda vinculada, ao lado da arma (TASK-039)27/08/2026
- 🗣️ “Quanto aos 2 campos de vínculos criados, ARMAS e PROPRIEDADES: os 2 têm de aparecer o nome do que foi vinculado lá no Kanban dos processos.” Feito.
- 🌾 Agora o card mostra 🌾 a fazenda, logo abaixo do 🔫 da arma — mesmo tamanho, mesma cor. Um processo de abate pode ter os dois, e agora os dois aparecem.
- 🔫 A arma já aparecia desde 20/08; era a fazenda que faltava, porque o campo nasceu hoje.
- 🃏 Continua fora do card, de propósito: o número de série da arma e o CAR da fazenda. O quadro fica aberto na sua mesa o dia inteiro — esses são detalhes de dentro do processo.
v1.50.0 · 🌾 Vincular FAZENDA no processo — na abertura e no processo já aberto27/08/2026
- 🗣️ “Crie o campo de vínculo de propriedade na página de processos, abaixo do campo vínculo de armas, tanto no início do processo quanto nos processos já abertos.” Feito nos dois lugares.
- 🌾 O campo aparece sozinho quando o serviço é de fazenda — abate, entrada na propriedade, relatório de caça, cadastrar propriedade. Some quando é serviço de arma, para não atrapalhar.
- 🔇 Para que serve: com a fazenda vinculada, quando o processo tiver protocolo o cliente para de receber aviso só daquela fazenda. Sem isso, quem tem 6 fazendas ficaria mudo nas 6 por causa de um processo de uma só.
- ✅ Conferido, como você pediu: o vínculo de armas já existia na abertura de processo novo — não precisou criar.
- ♻️ Dá para desvincular, e um clique no Salvar grava os campos do processo e a fazenda escolhida — o mesmo comportamento que você pediu para a arma em 25/08.
- 🌾 Só a fazenda do próprio cliente entra: o sistema recusa vínculo com terra de outra pessoa, nos dois caminhos.
v1.49.1 · 📨 O selo JÁ PROTOCOLADO agora aparece também nas guias de caça e de tiro27/08/2026
- 🗣️ “Protocolo de cada tipo de processo cala apenas o processo referente ao protocolo… o protocolo já se refere exclusivamente àquele serviço.” É exatamente como está funcionando — confirmado.
- 🔍 Corrigi um detalhe que faria a tela mentir: o envio e as telas chamam a guia de tráfego por nomes internos diferentes. O aviso já calava certo, mas o selo *📨 JÁ PROTOCOLADO* não apareceria nas guias de caça e de tiro — só nas neutras.
- 📨 Agora o que o senhor vê na tela é exatamente o que o cliente recebeu (ou deixou de receber), em todos os tipos de guia.
v1.49.0 · 🔇 Protocolo cala o aviso mesmo sem a arma vinculada (temporário, TASK-004)27/08/2026
- 🗣️ “Temporariamente vamos calar os reenvios de mensagens de todos que não tiver vínculos, seja de armas ou de propriedades rurais… considere a parada de envios única e exclusivamente dos processos que já possuem PROTOCOLO já feito no sistema.” Aplicado.
- 🔇 Agora basta o número de protocolo: se o processo daquele assunto já foi protocolado, o cliente não recebe mais mensagem — mesmo que o processo ainda não diga a qual arma se refere.
- 🎯 Resolve os casos que abriram a task: o VILSON (5 armas) e o ALLAN (2 armas) param de receber cobrança de renovação de CRAF — os dois têm o processo protocolado.
- ⏳ É temporário e o senhor decide quando volta: assim que os processos estiverem com as armas vinculadas, dá para voltar a exigir o vínculo, que é mais preciso. O PDF que mandei mostra os 38 que faltam.
- 🎯 O que NÃO afrouxou: o protocolo continua tendo de ser do mesmo assunto. Protocolo de emitir GT não cala vencimento de CRAF.
- 👁️ E continua tudo à vista: o prazo segue na sua tela e na do cliente com o selo *📨 JÁ PROTOCOLADO*, e o informe diário lista o que não foi enviado, com o motivo.
v1.48.0 · 📨 JÁ PROTOCOLADO: o cliente para de receber cobrança do que você já deu entrada (TASK-004)27/08/2026
- 🗣️ “CONSIDERANDO O NÚMERO DE PROTOCOLO COMO SERVIÇO ‘JÁ PROTOCOLADO’, E QUE PERMANECERÁ NA PÁGINA E RADAR DE PRAZO, PORÉM NÃO SERÁ ENVIADO MAIS MENSAGENS AO CLIENTE SOBRE O QUE JÁ FOI PROTOCOLADO.” Feito.
- 📨 Processo com número de protocolo = assunto encerrado para o cliente. Ele não recebe mais lembrete daquele documento — e o prazo continua na sua tela e na tela dele, com o selo 📨 JÁ PROTOCOLADO ao lado.
- 🎯 O protocolo só cala o MESMO assunto. Protocolo de *emitir GT* não cala vencimento de *CRAF* — são serviços diferentes. Isso apareceu na conferência antes de subir: sem essa regra, o VILSON e o ALLAN deixariam de ser avisados da renovação por causa de guias já emitidas.
- 🛡️ E confere sempre o vínculo da arma, como você definiu: *“o protocolo poderá se referir a uma arma ou mais de uma ou todas — confira sempre pelo vínculo da arma no processo”*. Protocolo da pistola não cala o vencimento do revólver.
- 📆 A régua ficou 15 antes · 7 antes · 1 dia depois de vencido, como você determinou. O 3º aviso (que estava no mesmo dia do 1º) foi desligado.
- 👁️ Nada some da sua vista: o informe diário lista o que foi enviado e o que não foi, com o motivo — *“não enviei: ‘Emitir GT de Treinamento’ já foi protocolado em 26/08 (protocolo 911370…)”*.
v1.47.0 · ↩️ Desfeita a trava que calava avisos — ela estava errada27/08/2026
- 🗣️ “ALLAN RENOVOU CRAF E NÃO TEM CRAF NOVO EMITIDO… OS QUE LÁ ESTÃO FORAM RENOVADOS POR CAUSA DA REGRA DA IN… DESFAÇA O QUE VOCÊ FEZ.” Desfeito.
- 🔍 O que eu tinha entendido errado: vi os CRAFs do ALLAN com validade 2032 na ficha e concluí que o documento novo já tinha chegado. Não é isso. Pela regra da IN, o CRAF fica válido por anos e mesmo assim precisa ser renovado pelo mês de aniversário — a validade no papel não diz que o serviço foi feito.
- 🛡️ Por que era grave: a trava calaria o aviso de quem ainda precisa renovar. Avisar demais o senhor conserta com uma conversa; deixar de avisar quem tem prazo correndo é o sistema falhando justamente no que ele existe para fazer.
- ↩️ Nada mais mudou. A régua segue como estava, e os avisos voltam a sair exatamente como saíam antes desta manhã.
v1.46.1 · 🛡️ Trava nova: o dia do aviso de atraso segue o SEU campo, e não um número escondido27/08/2026
- 🛡️ O “4º aviso — dias depois de vencido” da tela de Avisos passa a ter teste próprio. Se alguém mexer no motor e ele parar de obedecer ao número que você digitou ali, o teste reprova antes de ir para o ar.
- 📖 Por que isso apareceu: havia no código dois números antigos (−5 e −8) que *pareciam* ser a regra e não eram — quem manda é o seu campo. Eles coincidem hoje, e essa coincidência me levou a te dar uma informação errada de manhã. Documentação velha engana com cara de código.
- 📖 Nada muda no que sai para o cliente: a régua continua 15 antes, 7 antes e 5 depois de vencido. Esta versão só amarra o comportamento para ele não escorregar de novo.
v1.46.0 · 🔇 O cliente não recebe mais cobrança de serviço que você já fez (TASK-004)27/08/2026
- 🗣️ “MANTENHA A REGRA DE ENVIO 15 DIAS ANTES / 7 ANTES / 5 DIAS APÓS VENCIDOS, APENAS NO CASO DE NÃO TERMOS SUBIDO AINDA O NOVO DOCUMENTO.” Feito — e era a parte que faltava desde o caso do ALLAN.
- 🔍 O que estava acontecendo, medido: o ALLAN tem os 2 CRAFs novos na ficha desde 23/06, válidos até 2032 — e mesmo assim recebeu três cobranças (20, 21 e 24/08). O aviso não olhava a ficha: ele vinha do calendário da IN 330, que não sabe que o papel já chegou.
- 🔇 Agora o aviso cala em dois casos: quando o documento novo já está na ficha (com validade maior que a do que vence) e quando o serviço já está em andamento — o seu “o ferro já entrou”. Para o cliente, os dois querem dizer a mesma coisa: já estamos cuidando disso.
- 🛡️ O que NÃO cala, de propósito: processo indeferido, cancelado ou suspenso (aí o problema é real e o silêncio o esconderia), processo em prospecção, e documento de outra arma — o CRAF novo da pistola não cala o vencimento do revólver.
- 👁️ E calar não é sumir: tudo que deixou de sair aparece no seu informe diário com o motivo — *“não enviei para o ALLAN: documento novo já está na ficha, vale até 21/09/2032”*. Você vê e decide.
- 📆 Conferido de ponta a ponta: rodando contra a sua base de hoje, a trava calaria 7 avisos — as 5 armas do VILSON e as 2 do ALLAN — e nenhum aviso legítimo.
v1.45.0 · 🖨️ “Não consegui enviar” na Justiça Federal: agora ela espera o PDF e envia sozinha (TASK-038)26/08/2026
- 🗣️ No seu print das 18:42 a certidão do TRF estava aberta na tela e a extensão respondia *“não consegui enviar”* e *“esse link da PF é de uso único (HTTP 500)”* — duas vezes seguidas.
- 🔍 Por que acontecia: no site da Justiça Federal a certidão aparece como página, não como arquivo. O PDF só passa a existir quando você clica em Imprimir. Sem arquivo, a extensão tentava rebaixar o link do tribunal — e esse link vale uma vez só, então ele recusava.
- 🎯 A instrução agora é a certa para cada site. Na Justiça Federal ela diz: *“a certidão ainda está como página. Clique em IMPRIMIR aqui em cima”*. Antes mandava *“abra o documento na tela”* — para quem já estava olhando o documento na tela.
- ♻️ E você não precisa clicar de novo. O envio fica esperando: no instante em que o PDF aparecer, ele sai sozinho para a ficha do cliente.
- ♻️ Se o link já morreu mas o arquivo está aberto, a extensão usa o arquivo em vez de reclamar do link.
v1.44.0 · 🔘 Os 7 botões de certidão iguais, com o nome do checklist — e o Juntar as 2 estaduais apareceu (TASK-037)26/08/2026
- 🗣️ “esses botões — 1º grau estadual, 2º grau estadual, justiça eleitoral, justiça militar — eu quero ver eles IGUAL os botão da federal… os mesmos cores e do mesmo jeito”. Feito: os 7 têm agora o mesmo visual, e dá para ver qual está sob o cursor.
- ⬇️ “Troque essa palavra ABRIR, escreva BAIXAR”. Trocado nos 7.
- 🏷️ “Que apareça o nome da certidão INTEIRA” — cada botão mostra o nome do seu checklist, e o órgão vai embaixo, entre parênteses: *(Seção Judiciária do estado)*, *(Tribunal Regional Federal da 1ª Região — 2º grau)*, *(TJMT — 1º grau)*, *(TSE — crimes eleitorais)*, *(STM)*.
- 📎 “E a minha opção de juntar as DUAS ESTADUAIS?” Ela existia desde 25/08 — o botão é que só aparecia depois de você já ter as duas certidões salvas. Agora, se o cliente tem qualquer certidão criminal, os dois botões aparecem (*as 3 federais* e *as 2 estaduais*), com o contador mostrando o que falta.
- 🔍 Um nome só, em todo lugar. A *Federal Regionalizada* tinha dois nomes diferentes dentro do sistema — um no checklist, outro no seletor de documento. Unificado, e o botão agora lê o nome da mesma lista, em vez de ter uma cópia própria que envelhece.
v1.43.1 · 🏷️ A certidão salva com o NOME dela, não com o código (TASK-036)26/08/2026
- 🗣️ “a extensão diz que baixou todas as 3 para a página do cliente… porém, não achei elas na página documentos… e cada uma delas veio com o mesmo título. É assim que elas têm de serem salvas, cada qual com seu nome inteiro como está o sistema”.
- 🔍 Elas estavam lá o tempo todo — as 3 salvas na ficha do cliente certo, 227 KB cada. O que faltava era o nome: apareciam como `cert_fed_1.pdf`, `cert_fed_2.pdf`, `cert_fed_reg.pdf`. Procurar “Certidão Criminal” e achar “cert_fed_1.pdf” é o mesmo que não achar.
- 🏷️ Agora cada uma salva com o nome inteiro do sistema — o mesmo que está no checklist e no dossiê: *Cert. Criminal — Justiça Federal 1º Grau*, *2º Grau*, *Regionalizada*, e assim por diante.
- 🔧 As 3 que já estavam salvas foram renomeadas (com registro de auditoria de cada uma). Você não precisa refazer nada.
- 🔍 Vale para quem não atualizou a extensão: a correção é no sistema, não no navegador — quem seguir com a extensão antiga também recebe o nome certo.
v1.43.0 · ☑️ Certidão estadual: avisos por e-mail já marcados · e o nome certo, SINARM-CAC (TASK-034 e 035)26/08/2026
- 🗣️ “na certidão estadual subiu sim o download do documento e preencheu quase todos os campos certinhos… faltou apenas manter sempre clicado como habilitado o último tópico dessa página: desejo receber por e-mail, avisos sobre o andamento da expedição da certidão solicitada”. Feito — a caixa agora vai marcada sozinha, nos dois formulários do TJMT.
- 📧 Por que faz sentido marcar sempre: o e-mail do formulário é o seu, do despachante. Então o aviso de “sua certidão ficou pronta” chega em quem está acompanhando o processo — e não some no meio dos e-mails do cliente.
- 🛡️ Se você já tinha marcado, ela não desmarca. A extensão só clica quando a caixa está vazia — nunca desfaz a sua escolha.
- 📛 “Corrija: SINARM-CAC sempre que tratarmos de assuntos relacionados a CAC. A expressão só ‘SINARM’ só se usa em documento de DEFESA PESSOAL — posse e porte de arma.” Corrigido em toda a parte visível do sistema: página Sobre, site, proposta e o aviso da extensão.
- 🎯 Onde continua escrito só ‘SINARM’, de propósito: no cadastro da arma, onde você escolhe SINARM ou SIGMA. Ali o nome é o do sistema em que a arma está registrada — e a diferença entre os dois é exatamente defesa pessoal × CAC.
v1.42.0 · 💸 O PIX do orçamento vai em mensagem separada, só o número (TASK-025)26/08/2026
- 🗣️ “quando eu enviar o orçamento via zap, que saia a mensagem informando que o PIX estará na mensagem a seguir, e que nela saia apenas o número e não a escrita PIX:”. Feito, igual ao convite do app.
- 📲 Botão novo: “Enviar no WhatsApp (com o PIX à parte)”. Ele manda duas mensagens: o orçamento (terminando em *“o PIX para pagamento vai na mensagem a seguir”*) e, logo depois, só a chave.
- 🎯 Por que isso importa: no WhatsApp o cliente toca e segura para copiar a mensagem inteira. Com *“PIX: 58882954000155”* na mesma linha, ele copia a palavra junto — e o app do banco recusa a chave. Sozinha, ela cola de primeira.
- 🛑 E se a segunda mensagem falhar, o sistema avisa — com a chave na tela para você mandar na mão. Ele não diz “enviado com sucesso” quando o cliente ficou sem saber como pagar.
- 📋 Quem prefere revisar antes continua com o *Abrir no WhatsApp*; ao lado há o botão copiar só a chave PIX para colar como segunda mensagem.
v1.41.2 · 📐 O balão já abre inteiro na PRIMEIRA vez (TASK-033)26/08/2026
- 🗣️ “o balão na primeira tentativa de abrir está se escondendo parcialmente no rodapé… somente da segunda vez em diante é que ele fica inteiro”. Corrigido.
- 🔍 Por que só na primeira: na hora de abrir, o balão ainda não existe na tela — então eu decidia se ele cabia usando um palpite de altura. Da segunda vez em diante o balão já existia e dava para medir, e aí acertava. Palpite que acerta só na segunda tentativa não é conta, é sorte.
- ✅ Agora ele mede a altura de verdade assim que aparece e se ajusta na hora: se não couber embaixo do botão, sobe o suficiente para ficar inteiro. Na primeira vez.
v1.41.1 · 📄 A certidão do TRF também vai pro sistema — ela nasce dentro do navegador (extensão 0.11.1)26/08/2026
- 🗣️ “a extensão não atuou até o final baixando a certidão na página documentos do cliente”. Você testou no TRF e encontrou um caso que eu não tinha previsto.
- 🔍 O que descobri medindo o site: a certidão do TRF não é um arquivo que baixa do servidor — o próprio navegador monta o PDF na sua máquina quando você clica em Imprimir. E o que nasce dentro do navegador não passa pela internet, então o sistema, que ficava de olho na internet, não via nada chegando.
- ✅ Corrigido: agora ele também escuta o que é montado dentro da página. Com isso, os dois casos ficam cobertos: o STM, que entrega o arquivo pronto, e o TRF, que monta o arquivo na hora.
- 🧩 Sem invenção: essa escuta já existia e é a mesma que traz a guia do SINARM há semanas — ela só não estava ligada nos sites dos tribunais.
- 🛑 E o aviso ficou mais útil: se ainda não houver PDF, ele diz *“clique em IMPRIMIR na certidão — é quando o site monta o arquivo”*, em vez de só reclamar.
- 📥 Extensão 0.11.1.
v1.41.0 · 📤 A certidão volta direto para a ficha do cliente — o ciclo fechou (extensão 0.11.0)26/08/2026
- 🗣️ “deu certo baixar a certidão no computador… porém NÃO baixou no sistema. Falta isso: baixar todas no sistema do cliente e não no computador”. É o que fecha o ciclo, e está feito.
- 📤 Depois de emitir, aparece no avisinho o botão “mandar esta certidão pro FattoCAC”. Um clique e ela vai para a página Documentos do cliente, já no tipo certo (*Cert. Criminal — Justiça Federal 1º Grau*, e assim por diante).
- 🔗 E aí o ciclo se fecha sozinho: com as 3 federais na ficha, o botão 📎 Juntar as 3 federais monta o PDF do dossiê. Emitir → guardar → juntar, sem passar pela pasta de Downloads.
- 🛑 Se o sistema ainda não tiver visto o PDF, ele não diz “falhou”: ele explica — *“abra a certidão na tela e tente de novo”*. É um clique, não um mistério.
- 🧩 Por dentro: é o mesmo mecanismo que já traz a guia do SINARM para o FattoCAC há semanas. Ele só olhava os sites da PF; agora olha também os quatro tribunais.
- 📥 Extensão 0.11.0.
v1.40.0 · 🏠 Endereço é do cliente; telefone e e-mail são do escritório (extensão 0.10.2)26/08/2026
- 🗣️ “apenas no campo que pede o e-mail e o telefone é que será usado dados do despachante… nos dados de endereço residencial é pra ser usado SEMPRE o endereço do cliente, e sempre o PRIMEIRO endereço”. Corrigido.
- 🏠 A regra agora é clara e as duas convivem no mesmo formulário: o endereço é o do cliente (é ele o requerido — é o endereço dele que identifica a pessoa no pedido), e o telefone/e-mail são do escritório (é quem acompanha o retorno).
- 📍 Sempre o primeiro endereço do cadastro, como você pediu — o mesmo que aparece na ficha do cliente.
- 🔎 Como ele acha os campos: pelo nome escrito na tela (Logradouro, Bairro, CEP, Município…). Se a página não tiver aquele campo, ele simplesmente não preenche — nada de chutar.
- ✋ E nunca apaga o que você já digitou: campo com conteúdo é deixado como está.
- ✅ Confirmado por você: a Regionalizada (1º e 2º Graus) continua sendo a terceira certidão federal — mantida como está.
- 📥 Extensão 0.10.2.
v1.39.1 · 🎈 O balão inteiro, sem barra própria, e que não some quando você pega na rolagem26/08/2026
- 🗣️ “eu não pedi que ela ficasse desse tamanho e nem que tivesse barra de rolagem… ela vai abrir o balão TODO INTEIRO”. Feito: o balão não tem mais barra própria e mostra tudo de uma vez. Os textos ficaram mais curtos para caber.
- 🖱️ E achei o “conflitozinho” que você descreveu: *“ela tá apagando quando eu pego na barra de rolagem”*. Era isso mesmo — pegar na barra de rolagem conta, para o navegador, como um clique fora do balão, e eu tinha mandado fechar quando você clica fora. Do seu lado, você não clicou fora: você rolou a página.
- ✅ Corrigido: agora o sistema distingue *clicar na página* de *pegar na barra*. O balão fica aberto enquanto você rola.
- 🎈 E ele acompanha: vai com você para o começo, o meio ou o fim da página, sempre no mesmo lugar da tela — como você pediu.
v1.39.0 · 🗺️ A 1ª federal é a SEÇÃO JUDICIÁRIA DO ESTADO — eu estava marcando a errada (extensão 0.10.1)26/08/2026
- 🗣️ “ao selecionar a certidão na Justiça Federal, ele está selecionando uma certidão que NÃO é a que está no passo a passo… a 1ª certa é a da SEÇÃO JUDICIÁRIA DO MATO GROSSO”. Você está certo, e essa eu não teria como descobrir sozinho.
- ❌ O que eu marcava: *“Varas, Juizados e Turmas Recursais (Todo o 1º Grau)”* — que existe na lista e parece a opção mais completa. É o 1º grau de toda a 1ª Região (13 estados).
- ✅ O certo: a Seção Judiciária do estado — no seu caso, Mato Grosso. É por isso que a lista tem uma seção por estado.
- 🗺️ E ele escolhe o estado sozinho, pelo endereço do cliente (usando o do seu escritório se o cliente ainda não tiver endereço). Assim funciona igual para um cliente de outro estado.
- 🛑 Se não achar a seção do estado na lista, ele avisa em vez de marcar outra qualquer — marcar a errada seria pior, porque a certidão só é recusada lá na Polícia Federal.
- ✅ A 2ª continua a mesma: TRIBUNAL REGIONAL FEDERAL DA 1ª REGIÃO (2º Grau).
- 📥 Extensão 0.10.1.
v1.38.1 · 📐 O balão das certidões: abre abaixo do botão, longe da barra e sem cortar nada26/08/2026
- 🗣️ “o balão voltou a ficar desconfigurado… coloque pra abrir inicialmente abaixo do botão, afastado da barra de rolagem, e que ele flutue pra onde eu rolar”. Os três pontos, feitos.
- 📍 Abre logo abaixo do botão *Tirar certidões*, e afastado da barra de rolagem — a folga dobrou (antes ele encostava).
- 📏 Não corta mais em cima nem embaixo. A altura do balão agora é o espaço que realmente sobra na tela; se o botão estiver no fim da página e não couber embaixo, ele sobe para caber inteiro.
- 🎈 E ele flutua com você: enquanto a lista rola, o balão fica no lugar, sem sumir nem sair da tela.
- 🧮 Detalhe técnico que evita o defeito voltar: a conta da posição agora é uma só, usada ao abrir e ao mudar o tamanho da janela. Antes eram duas cópias — e cópia diverge: ficava certo ao abrir e estourava ao redimensionar.
v1.38.0 · 🪪 O RG/CNH do cliente vai do sistema direto para o formulário do tribunal (extensão 0.10.0)26/08/2026
- 🗣️ “vc consegue jogar a CNH ou RG do cliente que está no sistema? não é pelo computador que eu vou jogar”. Consigo — e é bem melhor assim.
- 🪪 Na busca avançada do TJMT, o documento de identificação agora é anexado sozinho, buscando no acervo do próprio cliente. Você não precisa mais procurar o arquivo na pasta de Downloads: ele já está no FattoCAC, foi você quem subiu.
- 🥇 Ele escolhe o melhor documento disponível, nesta ordem: CNH, RG, carteira funcional, carteira de classe, CPF — sempre o mais recente.
- 🛑 Se o cliente não tiver nenhum desses, ele avisa: *“não achei RG/CNH no cadastro dele”* — em vez de anexar errado ou não dizer nada.
- 🔐 E o arquivo nunca sai do seu computador: ele vem do sistema, com sessão e permissão conferidas no servidor, exatamente como quando você clica em *baixar* na tela do cliente.
- 📥 Extensão 0.10.0.
v1.37.1 · 📇 O contato nos formulários é o do despachante, nunca o do cliente26/08/2026
- 🗣️ “os dados de contato sempre será e-mail do despachante… em outros sistemas vendidos será outro e-mail de outro despachante, sempre será assim e NUNCA do cliente”. Corrigido na hora — eu tinha entendido ao contrário meia hora antes.
- 📇 Na busca avançada do TJMT, o telefone e o e-mail agora saem do seu cadastro (Top Guns), não do cliente. O cliente continua sendo o requerido; quem recebe o retorno do tribunal é quem toca o processo.
- 🏢 E vale para qualquer despachante: em outro sistema, sai o contato daquele escritório. É lido do cadastro do tenant, não fixo no código.
- 🗄️ Foi criado um campo de e-mail no cadastro do despachante (aplicação da migração fica para o passo separado, como sempre). Até lá, o sistema usa o e-mail de quem está logado — que na prática é o mesmo endereço.
v1.37.0 · 🧭 TJMT 1º grau agora vai na BUSCA AVANÇADA, a certa (extensão 0.9.9)26/08/2026
- 🗣️ “além de não ser essa a certidão estadual de 1º grau como está no passo a passo… o link correto é PEDIDO DE CERTIDÃO COM BUSCA AVANÇADA”. Corrigido — o link antigo abria a certidão simples, que não é a que o seu processo exige.
- 👤 Perguntei antes de fazer: o formulário pede *quem é o requerente*, com cinco opções (inclusive “terceiro com procuração”). Você respondeu “a própria pessoa física que será consultada” — e é isso que o sistema marca agora. Não era coisa para eu adivinhar: é qualificação jurídica num pedido a tribunal.
- ✅ O que já vem preenchido: o tipo de solicitante, o CPF, a data de nascimento, o nome, o telefone e o e-mail — todos do cliente, já que ele é o requerente.
- 📎 O anexo continua seu. Escolher arquivo do computador é sempre do operador — o sistema avisa na tela que falta anexar o documento e seguir as 3 etapas do site.
- 🔁 E se você abrir a página da certidão simples, ele reconhece e preenche aquela também, em vez de não fazer nada.
- 📥 Extensão 0.9.9.
v1.36.1 · 🔍 Você duvidou da minha conclusão e estava certo — o órgão não estava sendo marcado (extensão 0.9.8)26/08/2026
- 🗣️ “no preenchimento automático não estava as 3 selecionada… reveja se tem algum impedimento no site”. Fui medir no site do TRF, com as três, e achei duas coisas — uma sua e uma minha.
- 1️⃣ O campo do TRF não acumula. Marquei os três em sequência e sobrou um — o último. Cada escolha substitui a anterior, apesar de parecer uma lista de marcar vários. Ou seja: é mesmo uma certidão por formulário. (Minha conclusão estava certa; a razão que eu tinha dado, errada.)
- 2️⃣ E havia um defeito meu escondido atrás disso: o sistema digitava o nome inteiro do órgão para procurá-lo na lista — e o site não acha nada assim. Com uma letra ele mostra as 16 opções; com o nome completo, zero. Era por isso que às vezes nenhum órgão ficava marcado.
- ✅ Corrigido: agora o sistema abre a lista e escolhe o órgão pelo nome dele, sem depender da digitação. O órgão certo entra sempre.
- 🎯 Junto com os três botões separados (1º Grau, 2º Grau, Regionalizada), o caminho fica: clica num, emite, volta, clica no outro. E no fim, 📎 Juntar as 3 federais.
- 📥 Extensão 0.9.8.
v1.36.0 · 🧪 A Federal sai UMA de cada vez · o TJMT preenche os campos que faltavam (extensão 0.9.7)26/08/2026
- 🗣️ TASK-026 — “eu preenchi o tipo e emiti para ver o que sairia… e saiu APENAS a de 2º grau, não saiu a de 1º nem a regionalizada”. Você testou de verdade e derrubou o que eu tinha suposto.
- 🔍 O que aprendemos: o campo *Órgão(s)* aceita marcar os três, mas o TRF emite um por vez. Eu tinha lido o formulário certo e o resultado errado — e só o Emitir de verdade mostrava isso.
- ✅ Agora são três botões separados: *Federal 1º Grau*, *Federal 2º Grau* e *Federal Regionalizada*. Você emite uma, volta e emite a outra. Depois junta tudo com 📎 Juntar as 3 federais.
- 🗣️ TASK-028 — “no 2º grau foi preenchido apenas o CPF e o nome… faltou situação do processo, tipo de certidão e o tipo de solicitante”. Corrigido.
- ✅ O TJMT 2º grau agora vem com: *Situação do processo* = Em Andamento, *Tipos de certidão* = Criminal, e o *Tipo de solicitante* marcado.
- 🔍 Por que faltava: aqueles campos do TJMT não são listas comuns — são um componente diferente, que o sistema não enxergava. Agora ele acha cada campo pelo nome que está escrito na tela, que é o que não muda quando o tribunal atualiza o site.
- 🔗 E o link do 2º grau estava indo para o menu, não para o formulário. Corrigido.
- 📥 Extensão 0.9.7.
v1.35.2 · ⚖️ A certidão já sai marcada como CRIMINAL (extensão 0.9.6)26/08/2026
- 🗣️ “já evoluímos muito… porém, ainda falta apenas deixar definido que essa consulta será SEMPRE CRIMINAL em todas as certidões. Nessa da Justiça Federal foi o que faltou”. Feito.
- ⚖️ Na Justiça Federal, o campo *Tipo de Certidão* abre com três opções (Cível, Criminal e Para fins eleitorais) e vinha em branco. Agora ele já vem em Criminal — é o único tipo que o processo do CAC usa.
- 🏛️ No TJMT o sistema também marca Criminal, quando a lista já estiver na tela (lá ela só nasce depois do *Consultar Documento*).
- 🛑 E se não conseguir marcar, ele avisa em vez de deixar você achar que marcou: *“não consegui marcar o Tipo de Certidão — escolha CRIMINAL na lista”*.
- 🎯 Por que isso importa: deixar o campo em branco não é neutralidade. É um clique a mais que um dia sai errado — e certidão do tipo errado só aparece na mesa da Polícia Federal.
- 📥 Extensão 0.9.6.
v1.35.1 · 🧨 Achado: a extensão não preenchia nada porque o arquivo estava quebrado (extensão 0.9.5)26/08/2026
- 🗣️ “certidão federal abriu no link certo mas continua em branco”, “estadual também”, “eleitoral também”, “militar também”. Os quatro. E o print de Configurações mostrou 🟢 v0.9.4 instalada — ou seja, não era a extensão velha. Era defeito meu.
- 🔍 O que era: o arquivo da extensão que preenche as certidões estava com um erro de escrita (uma quebra de linha dentro de um texto). O navegador não carrega um arquivo assim — e, quando ele não carrega, não dá erro na tela: simplesmente não faz nada. Por isso os sites abriam certos e nenhum campo era preenchido, nem no TJMT, que funcionava antes.
- ✅ Corrigido — e agora os 4 voltam a preencher (Federal, TJMT, Eleitoral e Militar).
- 🔒 A trava que faltava: antes de publicar, o sistema agora manda o próprio navegador ler cada arquivo da extensão e reprova se algum estiver quebrado. Era a verificação mais barata que existia e a única que pegava isso: os testes de conteúdo passavam verdes sobre um arquivo que o Chrome recusava.
- 📥 Baixe a extensão 0.9.5 e troque no Chrome. É a que tem o arquivo bom.
v1.35.0 · 🔒 O balão para de sumir na rolagem · 🪞 o título da coluna não é mais tampado26/08/2026
- 🗣️ TASK-022 — “se eu clicar para baixar a rolagem ela some… ela tem que ficar fixa e não sumir na minha rolagem”. Corrigido — e o defeito era meu, de propósito: eu mandava o balão fechar quando você rolava.
- ✅ Agora ele fica aberto até você fechar ou clicar fora. Dá para rolar a página e continuar lendo o balão inteiro — inclusive a Justiça Militar, que ficava cortada embaixo. Clicar dentro dele (nas caixinhas) não fecha mais nada.
- 🗣️ TASK-023 — “o texto da coluna é um espelho. Quando eu subo, tampa o espelho… o texto tem que passar por baixo do espelho”. No quadro de Processos, os cards agora passam por baixo do título da coluna.
- 🔍 A causa não era a que parecia: o título já estava *na frente* dos cards. O problema é que o fundo dele era quase transparente (3,5%) — então dava para ver os cards através do título. Estar na frente não adianta quando se vê através. Agora o fundo é sólido, com uma sombrinha embaixo para o olho entender que a lista desliza por baixo.
- 🔢 TASK-024 — o balão dizia “precisa da extensão 0.9.1” com o número escrito à mão, e a extensão já está na 0.9.4. Agora ele lê a versão de verdade e não envelhece mais.
v1.34.1 · 📐 O balão das certidões parou de sair pela lateral da tela (TASK-021)26/08/2026
- 🗣️ “o quadro da extensão na página documentos está aparecendo apenas a metade. Coloque o balão com a borda direita terminando antes da barra de rolagem”. Corrigido.
- 🔍 A causa era mais funda do que parecia: o balão estava *dentro* do quadro de documentos, e um quadro com efeito visual faz o navegador ignorar a ordem de “fique preso à janela”. Ele passava a se guiar pelo quadro — e escapava para fora da tela.
- ✅ Agora o balão é desenhado por fora da lista, preso à janela de verdade, e a borda direita para antes da barra de rolagem (o cálculo passou a descontar a barra, que antes entrava na conta).
- 🔓 Isso desbloqueia o teste das certidões — era o que impedia você de conferir os 4 sites.
v1.34.0 · 🌾 O aviso diz QUAL fazenda — e você recebe o informe do que não saiu (TASK-016 e 017)26/08/2026
- 🗣️ TASK-016 — “coloque o nome da fazenda/propriedade antes do município… o cliente tem duas fazendas no mesmo município”. Feito.
- ❌ Antes, o cliente Vinicius recebeu isto: *“sua AUTORIZAÇÃO DE ABATE… · JUARA/MT vence em 02/09”* — duas vezes, igualzinho. Eram duas fazendas diferentes na mesma cidade, e do lado dele parecia mensagem repetida.
- ✅ Agora: *“sua AUTORIZAÇÃO DE ABATE… · FAZENDA SANTA RITA · JUARA/MT vence em 02/09”*. O nome da fazenda vem antes do município, e some a confusão. Se você já tiver escrito o nome da fazenda no campo do local, ele não repete.
- 🗣️ TASK-017 — “quero receber um informe de toda mensagem que não foi enviada no dia devido, e o motivo, para eu corrigir manualmente”. Feito.
- 📣 Todo dia, depois que a régua roda, chega no seu WhatsApp a lista do que não saiu, agrupada pelo motivo: *sem telefone no cadastro*, *falha no envio* ou *cliente pausado*. Com nome, documento e data de vencimento.
- 🔧 E cada motivo vem com o que fazer: “cadastre o telefone — o aviso sai sozinho no próximo ciclo”, “o WhatsApp recusou, o sistema tenta de novo amanhã”, “foi opção sua, reative se quiser”.
- 🔕 Se tudo saiu, você não recebe nada. Informe que chega todo dia dizendo “nada a relatar” vira ruído — e ruído a gente para de ler justamente no dia em que importa.
- 🧩 Por que isso importa: até ontem o sistema só contava (“1 sem telefone”), e contagem não diz em quem mexer. Foi por isso que o caso da Marines só apareceu quando você perguntou pelo nome dela — 7 dias depois de a guia vencer.
v1.33.0 · 📵 Cliente sem telefone não perde mais o aviso — e o STM entrou (as 7 certidões completas)26/08/2026
- 🗣️ “Marines Pellizari do Nascimento — confirme se foi enviado aviso de vencimento pra ela e qual documento foi”. Resposta: não foi. E a pergunta descobriu um defeito de verdade.
- 🔍 O que estava acontecendo: em 19/08 o sistema tentou avisá-la sobre a GT de Treino Tiro Desportivo (venceu em 23/08), mas o cadastro dela estava sem telefone naquele dia. O sistema anotou “sem telefone” e encerrou o assunto para sempre. O telefone foi cadastrado depois — e o aviso nunca mais saiu. A guia venceu e ela nunca soube.
- ⚖️ Estava invertido: se o WhatsApp falhasse por rede, o sistema tentava de novo no dia seguinte; se faltasse telefone — que é justamente o que você consegue resolver — ele desistia de vez.
- ✅ Agora: falta de telefone não queima mais o aviso. Assim que o telefone entrar no cadastro, o aviso volta a sair no próximo ciclo, sozinho.
- 🎖️ Justiça Militar (STM) entrou no botão “Tirar certidões” — e no formulário individual, um CPF por vez, como você pediu: *“eu preciso consultar um único CPF e montar o dossiê… individualismo”*. Preenche nome, CPF, nascimento e nome da mãe; o PDF baixa na hora.
- 🏛️ Com isso, os 4 órgãos estão cobertos — Federal (3 certidões), TJMT (2), Eleitoral (1) e Militar (1). As 7.
- 📥 Atualize a extensão para a 0.9.4.
v1.32.1 · 🔁 O TJMT voltou a preencher mesmo com a extensão antiga — e o painel parou de ser cortado25/08/2026
- 🗣️ “certidão estadual de 1º grau não está preenchendo campos” (e a de 2º). Culpa minha, na correção anterior.
- 🔍 O que eu fiz de errado: para consertar a Justiça Federal e o TSE, mudei o jeito de entregar os dados — de dentro do endereço para dentro da extensão. Só que quem ainda estava com a extensão antiga parou de receber qualquer coisa, inclusive no TJMT, que antes funcionava. Troquei o caminho sem deixar o antigo em pé.
- ✅ Agora funciona nos dois casos: com a extensão nova, os dados vão por dentro dela (e o CPF nem aparece no endereço); com a extensão antiga ou sem extensão, o sistema usa o caminho velho — mas só nos sites que aceitam, nunca na Federal e no TSE, onde era isso que quebrava.
- 📐 “ficou horrível essa disposição na página” — o painel *Tirar certidões* estava sendo cortado pela lateral do quadro de documentos (frases pela metade) e espremia a lista por baixo. Agora ele flutua sobre a página, ancorado no botão, sem sair da janela, e fecha sozinho quando você rola.
- 📥 Atualizar para a extensão 0.9.3 continua valendo — é o caminho melhor e mais seguro. Mas o sistema não depende mais disso para preencher o TJMT.
v1.32.0 · 🏛️ Os botões das certidões abriam a página errada — corrigido (extensão 0.9.3)25/08/2026
- 🗣️ “não funcionou o botão abrir a justiça federal… veja o print para onde foi direcionada” e “botão TSE também não funcionou”. Estavam quebrados mesmo, e a culpa era minha.
- 🔍 O que acontecia: os sites da Justiça Federal e do TSE têm o endereço da página depois de um `#`. Eu grudava os dados do cliente com outro `#` no fim — e o site, com dois `#`, não entendia mais para qual página ir e jogava você na entrada. Na Justiça Federal caía na tela de login com erro do servidor.
- 🕵️ Por que passou no meu teste: o TJMT não usa `#` no endereço, então funcionava. Testei o que funcionava e não o que quebrava — a diferença entre os casos era justamente a causa.
- ✅ Corrigido: os dados agora vão pela extensão, e o endereço do tribunal abre limpo, do jeito que o senhor mesmo colou no passo a passo.
- 🔐 De brinde, ficou mais seguro: CPF e data de nascimento não aparecem mais na barra de endereço nem no histórico do navegador.
- 🎨 O fundo do painel “Tirar certidões” era transparente (dava para ler a lista por baixo) e ele saía pela beirada da tela. Agora tem fundo sólido e fica ancorado, igual ao painel da extensão no SINARM.
- 🔁 E no “ir” de vincular: se o documento já estava naquela arma, o sistema agora diz isso (“já estava nesta arma — nada mudou”) em vez de responder “✓ ligado” sem nada acontecer. Era o seu ponto: *“se ela já tem, não era nem pra ter aceitado”*.
- 📥 Atualize a extensão para a 0.9.3 — é ela que recebe os dados agora.
v1.31.1 · 🔘 O botão “ir” de vincular documento não fica mais mudo25/08/2026
- 🗣️ “não está funcionando o botão ir desta parte de vincular documentos na arma”. Fui ver e havia dois problemas, os dois de desenho meu.
- 🔴 O botão ficava DESLIGADO enquanto a lista de cima estivesse em *“— escolher a arma —”*. No fundo escuro, botão desligado é igualzinho a botão quebrado: você clica, não acontece nada, e não tem como saber por quê.
- ✅ Agora ele sempre clica — e, se faltar escolher na lista, ele diz na hora: *“Escolha a arma na lista acima e clique em ir.”*
- 🏷️ E quando dá certo, ele diz A QUAL arma (ou fazenda) o documento foi ligado, pelo nome. Antes era só um *“✓ Ligado à arma.”*, que não dizia qual — e, se o documento já estava naquela mesma arma, nada mudava na tela: acerto invisível também parece falha.
- 👀 A mensagem agora avisa para fechar o painel e ver o documento no lugar novo — o próprio painel cobre a linha que mudou.
- 📍 Onde: no cliente → aba Documentos → botão mover de qualquer documento.
v1.31.0 · 🔢 A tela agora diz qual extensão está rodando no seu navegador25/08/2026
- 🗣️ Proposta feita e aprovada na hora: “quero”. Nasceu do senhor perder tempo com *“a 9.1 continua aparecendo como 8.5”*.
- 🔍 O que acontecia: baixar o arquivo não troca a extensão — o Chrome continua rodando a pasta antiga até alguém mandar trocar. E no FattoCAC instalado como aplicativo o ícone da extensão nem aparece, então não havia onde conferir.
- ✅ Agora, em Configurações → Extensão, aparece um aviso dizendo o que está de fato rodando: verde se está atualizada, vermelho se está atrasada (com a versão que você tem e a que deveria ter), e amarelo se não achou a extensão.
- 🧭 O aviso ensina a trocar, com o caminho completo: descompactar, `chrome://extensions`, Modo do desenvolvedor, *Carregar sem compactação* apontando para a pasta nova — ou só o ⟳ se você descompactou por cima da antiga.
- 🎯 E funciona justamente para quem está atrasado: a extensão antiga nem sabe dizer a própria versão — e é isso que o sistema usa como sinal de que está velha. Se dependesse dela responder, quem mais precisa do aviso ficaria sem ele.
- 📥 Atualize para a extensão 0.9.2 — é ela que sabe se apresentar para a tela.
v1.30.1 · 📦 O download da extensão entregava a versão VELHA — corrigido na raiz25/08/2026
- 🗣️ “no sistema está extensão 9.0 e ao baixar está aparecendo como 8.5 — qual está certa?” A certa era a do sistema; o arquivo do download é que estava atrasado. Boa pegada.
- 🔍 O que acontecia: o pacote (.zip) da extensão era montado à mão. Quando a extensão mudava, o número na tela subia e o arquivo continuava o mesmo — e pior: o arquivo novo, o que preenche as certidões, nem estava dentro do pacote. Quem baixasse instalaria uma extensão sem a funcionalidade, sem nenhum aviso.
- ✅ Corrigido de vez: o pacote passou a ser montado sozinho a cada publicação, sempre com tudo o que está na pasta da extensão. Não existe mais o passo manual que dava para esquecer.
- 🔒 E o sistema agora confere por dentro: ele abre o .zip e reprova a publicação se a versão lá dentro não bater com a da tela, ou se faltar qualquer arquivo declarado. Conferir só o número não bastava — foi assim que o arquivo das certidões ficou de fora.
- 📥 Baixe de novo: Configurações → Extensão. O arquivo agora vem 0.9.1, com o preenchimento das certidões (Federal, TJMT e Eleitoral).
v1.30.0 · 🗳️ A Justiça Eleitoral também entra no botão das certidões (extensão 0.9.1)25/08/2026
- 🗣️ “estou autorizado por procuração… é para você preencher os campos… o despachante vai cuidar do captcha. Não vamos usar app e-Título”. Feito exatamente assim.
- 🗳️ O TSE entrou no botão “Tirar certidões”. Ele abre a tela da Certidão de Crimes Eleitorais preenchida com nome, título (ou CPF), data de nascimento, nome da mãe e nome do pai — que é a digitação que tomava tempo.
- 🪪 Usa o título de eleitor quando o cliente tem (63 dos seus 91 têm), e o CPF quando não tem. O título casa direto com o cadastro eleitoral.
- 🛑 O captcha e o Emitir continuam seus, e o app e-Título não é usado em lugar nenhum — como o senhor determinou.
- ⚠️ O botão avisa antes do clique o que falta no cadastro. O TSE não emite sem mãe e pai: hoje 82 dos seus 91 clientes estão prontos; 9 estão incompletos (a lista foi para o grupo). Melhor descobrir aqui do que na tela do tribunal.
- 🧾 Nunca marcamos “não há registro de filiação”. Se falta o nome no nosso cadastro, o campo vai em branco com o aviso — dizer que não há registro é uma afirmação sobre a certidão de nascimento da pessoa, e essa é sua, com o documento na mão.
- 📥 Atualize a extensão para a 0.9.1 — Configurações → Extensão.
v1.29.1 · 🔫 A arma no seletor agora sai na ordem da GTE — e com o SIGMA25/08/2026
- 🗣️ “é preciso que aqui contenha os dados na mesma sequência que saem na GTE manual: ESPÉCIE, MARCA, MODELO, CALIBRE, Nº DE SÉRIE, SIGMA”. Corrigido.
- ❌ Antes: `carabina/fuzil MOSSBERG · 308 WINCHESTER · série MPR0157033` — os três primeiros campos colados (não dava para saber onde acabava a marca e começava o modelo) e sem o SIGMA.
- ✅ Agora: `carabina/fuzil · MOSSBERG · 500 · .308 Winchester · série MPR0157033 · SIGMA 123456` — cada campo separado, na ordem exata do papel que você preenche.
- 🔍 O SIGMA não estava só escondido: a busca no banco não trazia esse campo. Foi corrigido nas duas listas (armas do cliente e armas de terceiro).
- 📍 Vale nos dois lugares onde você escolhe arma: em *Documentos → Modelos* e na tela de gerar documento pelo cliente. Os dois passaram a usar a mesma regra — se um mudar, o outro muda junto.
v1.29.0 · 🏛️ Tirar as certidões sem digitar o CPF de novo (extensão 0.9.0)25/08/2026
- 🗣️ “me toma muito tempo tirar 7 certidões criminais” — e depois: “continue nas certidões da extensão”. Este é o primeiro passo, o que economiza a digitação sem passar de nenhuma linha.
- 🏛️ Botão novo no cliente: “Tirar certidões”. Ele abre o site do tribunal já com o CPF preenchido (e a data de nascimento, no TJMT). É a mesma digitação que você faria — feita por você, só que instantânea.
- ⚖️ Justiça Federal: as 3 federais saem do mesmo formulário — o campo *Órgão(s)* aceita mais de uma. O botão deixa você marcar quais quer (1º Grau, 2º Grau, Regionalizada) e já entra com elas escolhidas.
- 🏛️ TJMT: botões para 1º e 2º grau, com CPF e nascimento preenchidos. Quem traz o nome continua sendo o site (o “Consultar Documento”) — de propósito: se o dado da Receita divergir do nosso cadastro, quem manda é a Receita, e o próprio site avisa.
- 🛑 O que o sistema NÃO faz, e não vai fazer: não resolve captcha, não clica em Emitir e não entra em site que peça login do cliente. Você confere, marca o “não sou um robô” e emite.
- 🛑 Eleitoral (TSE) continua manual — o site exige entrar como o eleitor (nome do pai ou app e-Título). Militar (STM) tem emissão em lote no próprio site, que rende mais que uma a uma; fica para a próxima.
- 📥 Precisa atualizar a extensão para a 0.9.0 — o link está em Configurações → Extensão.
- 🔗 Fecha o ciclo com a versão de agora há pouco: tirou a certidão → sobe no cliente com o tipo certo → o botão 📎 Juntar as 3 federais entrega o PDF pronto.
v1.28.0 · 📎 Juntar as 3 federais (e as 2 estaduais) num PDF só — e um lugar para guardar as 725/08/2026
- 🗣️ “é sempre 3 federais juntas e 2 estaduais juntas, deixe um botão ‘juntar as federais’ que já sabe quais pegar”. Está no ar — mas antes ele precisou de um passo que faltava.
- 🔎 O que a gente descobriu ao ir fazer: o sistema tinha 2.499 documentos seus em 34 tipos… e nenhuma certidão criminal. No checklist, os 7 itens de certidão apareciam em 65 processos, todos marcados como recebido e nenhum com arquivo. O sistema marcava ✔️ que a certidão chegou, mas não guardava o PDF dela — então não havia o que juntar.
- 📋 Agora as 7 certidões são tipo de documento, cada uma com o seu nome: Federal 1º Grau, Federal 2º Grau, Federal Regionalizada, Estadual 1º Grau, Estadual 2º Grau, Militar e Eleitoral. Ao subir o arquivo no cliente, escolha o grupo “Certidões criminais”. São as mesmas chaves do checklist — o papel e o ✔️ falam a mesma língua.
- 📎 Os botões: na tela do cliente, ao lado de *Montar dossiê*, aparecem 📎 Juntar as 3 federais e 📎 Juntar as 2 estaduais, com o placar do lado (2/3, por exemplo) para você ver o que falta antes de clicar.
- 🧾 Certidões PURAS, como você pediu: o PDF sai com as certidões coladas uma na outra, na ordem (1º grau, 2º grau, regionalizada), sem capa, sem folha separadora, sem carimbo e sem rodapé. Nada é acrescentado ao original.
- 🛑 Nunca sai pela metade. Se faltar uma do conjunto, o sistema não gera o PDF — ele diz qual está faltando. Protocolar com 2 das 3 federais achando que está completo é pior do que não baixar.
- 🥇 Sempre a mais recente. Certidão vence, e um cliente antigo tem várias da mesma justiça. O botão pega a última de cada órgão, nunca a velha junto com a nova.
v1.27.1 · 👥 Quando o vendedor também é seu cliente — inclusive a arma dele25/08/2026
- 🗣️ “pode acontecer de no campo vendedor/alienante ter também um cliente já cadastrado, e ele não está no cadastro de terceiro… e a arma pode ser desse mesmo cliente, como buscá-la?” É exatamente isso que passa a funcionar.
- ✅ Na hora de escolher o terceiro (vendedor / alienante / doador), agora aparecem duas listas: *Terceiros cadastrados* e *Seus clientes*. Escolhendo um cliente, nome, CPF, RG, estado civil, profissão e endereço saem do cadastro dele na hora — sem precisar recadastrá-lo como terceiro.
- 🔫 E a arma dele também aparece. O acervo do cliente que está vendendo entra na lista de armas do documento, com o nome do dono do lado, junto com as do cliente do documento. Antes o nome vinha certo e o bloco da arma saía em branco — registro, série, SIGMA, marca, modelo e calibre, tudo vazio.
- 🧩 Por que estava assim: as duas telas de gerar documento tinham *metade* da resposta, cada uma a metade oposta — na dos modelos .docx dava para pegar a arma mas não o cliente-vendedor; na de gerar pelo cliente dava o vendedor mas não a arma dele. Agora as duas leem a mesma informação, do mesmo jeito.
- 📌 Onde fica: *Documentos → Modelos* (no campo Terceiro) e na tela de gerar documento pelo cliente (no campo Terceiro e nos botões de Arma).
- 🔒 Trava: o sistema agora reprova sozinho se qualquer uma das duas telas voltar a esquecer o cliente-vendedor ou a arma dele.
v1.27.0 · 📋 As 7 certidões criminais, cada uma com seu nome — e duas estavam em DOBRO25/08/2026
- 🗣️ “vamos corrigir o checklist com o nome individualizado dessas 7 certidões”. Feito — e ao arrumar apareceu um defeito bem pior, que estava escondido.
- 🛑 Duas certidões existiam DUAS VEZES no seu checklist. Quando você quis o nome do seu jeito, em vez de *renomear* o item, foi criado um novo — e o antigo ficou desativado, mas com processos pendurados nele: *Estadual 2º Grau* tinha 6 processos num cadastro e 4 no outro; *Federal Regionalizada*, 6 e 4.
- ⚠️ O estrago disso: perguntar “quem está sem a certidão estadual de 2º grau?” respondia olhando só metade — a outra metade estava no cadastro gêmeo. Relatório errado sem dar nenhum sinal, que é o pior tipo de erro que existe com dado.
- ✅ Arrumado: os processos foram unidos num cadastro só (10 em cada, no lugar de 6+4), as 7 estão ativas com os nomes que você passou, e o cadastro repetido ficou desativado, não apagado — o histórico continua lá. Cada processo movido ficou registrado.
- 🔒 E o sistema não deixa mais isso acontecer: se você tentar criar um item que já existe com outro nome (mesmo desativado), ele avisa e manda usar o EDITAR — em vez de deixar nascer o gêmeo. A comparação ignora acento, pontuação e palavras como “de”, “da”, “certidão”, que é justamente o que muda quando a gente reescreve o nome do mesmo papel.
- 📌 Dica prática: para trocar o nome de um documento no checklist, use editar no próprio item. Criar um novo com o nome novo faz o sistema entender que é outro documento.
v1.26.1 · 🔧 A extensão ainda trazia o CRAF — conserto pela metade é conserto que volta (0.8.5)25/08/2026
- 🗣️ Julio testou a 0.8.4 na hora e mandou o print: clicou em GT e baixou CRAF de novo. Ele estava certo — meu conserto anterior foi pela metade.
- 🛑 O que faltou: eu tinha tirado o botão do CRAF da lista de reserva pelo nome. Só que na tela da PF os botões aparecem como ícones (o olho e o PDF vermelho) — e o mesmo botão continuava entrando pelo ícone. Tirar pelo nome e deixar pelo ícone não serve de nada.
- ✅ Agora, pedindo GT, NENHUM botão de reserva vale. Ou é o botão da guia, ou a extensão avisa que não achou — e não traz outro papel. Numa linha da PF, qualquer ícone de PDF é *algum* documento; adivinhar qual foi o que trouxe CRAF três vezes. Atualize para a 0.8.5.
- 🛡️ E a proteção do sistema funcionou no teste dele. Mesmo com a extensão trazendo o papel errado, o FattoCAC percebeu que era um CRAF, guardou na categoria certa, deu nome de CRAF e ainda preencheu a validade na ficha da arma (13/05/2029). O documento que ontem entraria torto e mudo, hoje entra certo — essa é a diferença entre corrigir o sintoma e corrigir o sistema.
v1.26.0 · 🎯 "Cliquei em GT e baixou CRAF" — achado, corrigido e travado25/08/2026
- 🗣️ “voltamos a ter problemas na leitura de GT da extensão… parou de ler os dados” — e, depois de investigar: “eu cliquei em GT e baixou CRAF”. Era isso.
- 🔎 A leitura nunca errou. Como o sistema agora guarda o que a IA respondeu, deu para ver que nas 3 tentativas ela devolveu sempre marca, série, calibre e espécie — e deixou vazio número, destino, validação e finalidade. Abri os arquivos: os 3 eram CRAF, não guias. Está escrito na primeira linha deles. A IA leu certo o tempo todo; o papel e que era outro.
- 🛑 O defeito estava na extensão. Quando ela não achava o botão da guia na linha, ela descia para uma lista de reserva — e dentro dessa lista estava justamente o botão do CRAF. Então pedir GT numa linha sem guia emitida baixava o certificado da arma, com nome e categoria de guia. Corrigido: o botão de uma categoria nunca mais entra na reserva da outra. Atualize a extensão para a 0.8.4.
- 📄 E o sistema passou a conferir o papel antes de arquivar. Esses PDFs têm o título escrito por dentro — dá para ler de graça, sem IA. Se chegar um CRAF marcado como guia, ele corrige a categoria e te avisa o que mudou, em vez de guardar torto e calado.
- ✅ Os 3 documentos já foram reclassificados para CRAF (#D2496, #D2497, #D2498), com o de/para registrado. Agora eles aparecem quando você procurar o CRAF daquela arma — antes ficavam escondidos entre as guias.
- ⚠️ Uma coisa que quase estraguei, e a simulação pegou: a varredura apontou 11 documentos “GT que são CRAF”. Mas 8 deles eram PDFs em que a PF anexa a guia E o CRAF no mesmo arquivo — guias boas, já lidas certo. Se eu tivesse confiado na primeira conta, teria trocado 8 guias válidas por “CRAF” e destruído o prazo delas. Agora, arquivo com os dois títulos é tratado como ambíguo e ninguém mexe nele.
v1.25.0 · U0001f501 Leitura saiu torta? Agora você manda LER DE NOVO, sozinho25/08/2026
- U0001f5e3️ “apenas corrija o erro da falta de leitura na cnh… mas não pode acontecer de novo” e “voltamos a ter problemas na leitura de GT da extensão” (guias saindo como *GT · OUTRO · COMPANHIA*, sem data).
- ✅ Botão “🔁 ler de novo” em cada documento, na lista da ficha do cliente — do lado de renomear e mover. Quando o nome, a data ou a arma saírem errados, você manda ler de novo na hora, sem depender de ninguém. Pede confirmação em dois cliques, porque a releitura reescreve o nome e a data do documento.
- U0001f4cc Por que isso faltava: existia só um caminho interno, trancado por uma chave que nem o Renato consegue copiar do painel. Ou seja: a correção de um dado seu dependia de mim. É a mesma regra do dia 24 — *se puxa dados errados, tem que poder editar* —, agora valendo também para o que a IA lê.
- U0001f50e E o sistema passou a enxergar as próprias leituras. Até hoje, quando uma leitura saía vazia, o registro dizia apenas “deu certo” — as três GTs de hoje estão lá como sucesso. Agora fica guardado quais campos vieram preenchidos e quais vieram vazios, que é o que permite achar o defeito em vez de adivinhar.
- U0001f512 Sem guardar nada seu: o registro anota só os nomes dos campos e se vieram vazios — nunca o conteúdo. CPF, endereço e número de série não entram em log, e há um teste que reprova a subida se alguém tentar gravar o valor.
- U0001f4cc O caso da GT continua aberto, e é honesto dizer: eu ainda não achei a causa. O que sei, medido: funcionava às 07:13 e quebrou às 13:52 de hoje, a IA respondeu certo nas duas vezes, e o montador do nome está correto. Com o “ler de novo” e o registro novo, a próxima leitura já mostra onde quebra.
v1.24.1 · U0001f50e A busca voltou a achar TODO MUNDO — inclusive o cliente desabilitado25/08/2026
- U0001f5e3️ “não consigo acessos de clientes desabilitados no meu sistema do celular” — e depois, com os prints: “não aparece OS HABILITADOS… DESABILITADOS… TODOS…”. Você estava certo, e eram dois defeitos somados.
- U0001f6d1 1) A busca só procurava entre os habilitados. A tela abre filtrada em “Habilitados” e a busca rodava depois desse corte: procurar um cliente desabilitado pelo nome não achava nada — ele já tinha sido tirado da lista antes de o nome ser comparado.
- U0001f6d1 2) Ao buscar, os três botões sumiam. Eles só eram desenhados com o campo de busca vazio. Então você procurava, não achava, e ainda perdia o único caminho para trocar o filtro. Beco fechado dos dois lados.
- ✅ Agora a busca acha todo mundo, habilitado ou não — e quem está pausado vem com o selo ⏸️ desabilitado no cartão, para não haver confusão sobre o que é.
- ✅ E os três botões ficam na tela também durante a busca, para trocar de filtro a qualquer momento.
- ⚠️ O sistema estava mentindo sobre isso: no rodapé dessa mesma tela está escrito *“a busca acima continua achando todo mundo”*. Era verdade até 21/08, quando o filtro Habilitados/Desabilitados entrou — e a frase ficou lá, prometendo o que já não acontecia.
- U0001f4f1 Por que doía mais no celular: buscar é o caminho natural numa tela de telefone (ninguém rola 90 cartões). A tela é a mesma do computador — o que mudava era o caminho que você usava.
v1.24.0 · U0001f33e Agora dá para EDITAR uma fazenda — e ler o CAR direto nela25/08/2026
- U0001f6d1 O sistema não deixava alterar uma fazenda já cadastrada. Nenhuma tela, nenhum botão. Fui medir: a fazenda podia ser criada e podia ser apagada — não podia ser corrigida. Para trocar o nome, o número do CAR ou a latitude, o caminho era apagar e cadastrar de novo, largando soltos os documentos pendurados nela.
- ✅ Agora tem “✏️ editar fazenda” na ficha do cliente, em cada fazenda. Dá para corrigir nome, CAR, matrícula, área, endereço, município, UF, latitude e longitude — sem perder nada do que já está ligado a ela.
- U0001f4f7 E o “Ler CAR” entrou na edição. Ele já existia, mas só valia para fazenda NOVA — por isso as suas 143 antigas nunca puderam ser completadas. Agora você abre a fazenda, joga o PDF do CAR e ele preenche nome, número do CAR, matrícula, área, município, UF e latitude/longitude (que ele tira da grade do croqui). Você confere e salva; o arquivo fica anexado.
- U0001f464 O dono da fazenda agora se VINCULA ao cadastro de Terceiros, como você pediu: *“os dados do autorizante serão inseridos no cadastro de terceiros do cliente… apenas vincule”*. Cadastra o dono uma vez, com RG, CPF, endereço e contato, e cada fazenda dele só aponta para ele. A Autorização do IBAMA passa a puxar dali — inclusive o endereço residencial dele, que não é o da fazenda.
- U0001f512 Trava (19 verificações): o botão de editar tem de estar na tela, a gravação tem de existir de verdade, os 9 campos têm de ser editáveis, latitude/longitude saem sempre negativas (sinal trocado joga a fazenda no outro hemisfério, e a PF usa essa coordenada na vistoria) e o vínculo do autorizante tem de chegar ao documento.
- U0001f4cc Por que isso importa mais do que parece: era este o nó. Das 143 fazendas, só 2 têm latitude/longitude e 21 têm endereço — e sem poder editar, nenhuma delas ia ser preenchida nunca.
v1.23.0 · U0001f6e1️ A Autorização do IBAMA volta a sair preenchida — e o sistema ganhou a trava que teria evitado tudo isso25/08/2026
- U0001f5e3️ Julio, com a regra inteira: *“a Autorização de Entrada na Propriedade deve ser preenchida com os dados de terceiros: nome, rg, cpf, endereço residencial completo, celular, e-mail… o CAR deve ser sempre o Nº CAR NACIONAL… o local deve ser sempre a cidade do endereço do autorizante”*.
- ✅ A fazenda que você escolhe agora chega no documento. Ela era escolhida na tela e o sistema não a repassava — por isso nome da fazenda, CAR, endereço, latitude e longitude saíam pontilhados. A lista de participantes também não chegava. O texto do documento sempre esteve certo; faltava o dado atravessar.
- U0001f3e0 O endereço do autorizante agora é o DELE. O documento declara “residente e domiciliado à…” e vinha usando o endereço da fazenda — dono de fazenda quase nunca mora nela. Os campos do endereço residencial já existiam no cadastro e ninguém os lia.
- U0001f4cd O local do fecho passou a ser a cidade do autorizante (era a da fazenda). Quem assina é ele.
- U0001f5fa️ CAR nacional: 129 de 129. Duas fazendas — RANCHO ALEXANDRINO e FAZENDA VACA BAIA — estavam com o número sem um traço. Corrigido, com o antes e o depois registrados.
- U0001f4cb A tabela de etiquetas passou de 21 para 58. Ela dizia ser “a lista completa” e mostrava pouco mais de um terço do que o sistema sabe preencher — faltavam nome, CPF, RG, CR, telefone, e-mail, endereço e onze do terceiro. Agora cada uma diz o que é e em que documento se usa, e o teste reprova se o sistema ganhar etiqueta que não apareça na tabela.
- U0001f6e1️ A trava geral entrou (o item nº 2 do Renato). O sistema agora recusa subir qualquer tela que busque um dado e não o mostre — que foi exatamente o que sumiu com os modelos ontem à noite e o que deixava a Autorização do IBAMA em branco. Testei apagando o botão de gerar de propósito: não sobe. Para ligá-la, 18 sobras de código foram removidas, uma a uma, cada uma investigada antes — duas não eram lixo e foram religadas em vez de apagadas.
- ⚠️ Falta cadastro, e isso o sistema não inventa: das 143 fazendas, só 1 tem RG/CPF/telefone/e-mail do autorizante e só 2 têm latitude e longitude. Onde o dado não existe, o documento continua saindo com a linha pontilhada — agora por falta de cadastro, não por defeito.
v1.22.5 · U0001f6a6 O botão de salvar virou farol: azul enquanto você preenche, verde quando gravou25/08/2026
- U0001f5e3️ “os 2 botões estão voltando para processos… então deixe apenas o botão salvar armas voltando para processos e o outro de cima apenas altere cor: antes de salvar fica azul enquanto preencho dados, ao salvar fica verde pra termos certeza de que está salvo dados”. Você testou a versão de hoje de manhã e inverteu a decisão — e está certo.
- ✅ Agora são dois caminhos claros. O botão de cima (“Salvar dados do processo”) grava e fica na tela. O de baixo, no quadro das armas (“Salvar arma e voltar aos Processos”), grava tudo — campos e arma — e volta para a lista.
- U0001f6a6 O farol que você pediu: o botão de cima nasce azul e fica verde “✓ Dados salvos” quando gravou. E ele volta ao azul assim que você mexe em qualquer campo — verde em cima de dado já alterado seria mentira.
- U0001f50d Sobre os dois voltarem: fui atrás e não achei a causa no código do navegador (li a biblioteca por dentro, nas duas versões, e ela trata o caso). Em vez de apostar num palpite, troquei o mecanismo por um que não depende disso — cada botão agora tem o seu próprio caminho, sem depender de qual foi clicado. O que era incerto deixou de existir.
- U0001f512 Trava (agora 16 verificações, npm test 1417): as cores, o verde que sobrevive ao recarregar, o verde que some ao editar, e — a principal — a garantia de que o miolo do salvar não decide para onde ir. Se ele voltar a decidir, o botão de cima foge da tela de novo. Testei quebrando de propósito: reprova.
v1.22.4 · U0001f52b O SALVAR do processo agora salva a arma junto — acabou o “abrir de novo pra vincular”25/08/2026
- U0001f5e3️ “qdo clico no SALVAR ele salva só o que está acima do botão e o vínculo da arma não fica salvo, tendo de abrir o processo novamente para vincular arma”.
- U0001f6d1 Não era lugar de botão: era um beco sem saída. Fui no código e as *duas* ordens perdiam trabalho. Salvando primeiro, o sistema te jogava de volta na lista de Processos — e a arma nunca era vinculada. Vinculando primeiro, a tela recarregava naquele instante e tudo que você tinha digitado em cima e ainda não salvara se perdia. Não existia ordem certa.
- ✅ Agora o “Vincular arma do cliente” faz parte do mesmo formulário do processo, e embaixo dele tem um botão: “Salvar (com a arma) e continuar aqui”. Um clique grava os campos e o vínculo — e você fica na tela, vendo a arma entrar na lista (e podendo vincular a próxima).
- U0001f7e2 O botão verde de cima continua como era: salva e volta para a lista de Processos, do jeito que você pediu em 10/07. Quem não mexe em arma não sente diferença.
- U0001f512 Trava nova (9 verificações): o conserto mora em três pontos que se perdem em silêncio se alguém mexer num só. Se qualquer um sair, o teste fica vermelho antes de subir. E o vínculo recusa arma de outro cliente — arma trocada aqui vira guia na arma errada lá na frente.
v1.22.3 · U0001f527 Os 24 modelos voltaram para a tela — eles nunca saíram do sistema25/08/2026
- U0001f5e3️ “cadê os modelos que estavam prontos já??? o editor não mostra mais nenhum modelo pra ser usado. aonde estão?” — e o Julio parado por causa disso.
- ✅ Estão todos aqui: 24 modelos, inteiros. Conferi um por um dentro do sistema: o último toque em qualquer um deles foi 14/08. Ninguém apagou, ninguém importou por cima, nada se perdeu.
- U0001f6d1 O erro foi meu, e foi na TELA. A versão de ontem à noite (1.22.0), que era só para colocar o passo a passo, apagou junto dois quadros: o de gerar documento e a lista dos modelos (ver / baixar / excluir). O sistema continuava lendo os 24 toda vez que a página abria — só tinha parado de desenhar eles.
- ✅ Os dois quadros voltaram em Documentos → Modelos, e agora a lista aparece antes do passo a passo — porque o texto manda “clique na lista acima” e essa lista não existia mais. O passo a passo e a tabela de campos, que era o que você tinha pedido, continuam lá.
- U0001f512 Trava nova (15 verificações). Elas abrem essa tela e exigem a lista, o contador, o botão de gerar, o de ver, o de baixar e o de excluir — e ainda exigem que a lista venha antes do texto que manda olhar pra ela. Se algum sumir, o teste fica vermelho antes de subir.
- ⚠️ Por que passou batido: nada avisou. O sistema não reclama de tela que busca o dado e não mostra — foi o mesmo tipo de falha silenciosa do radar de prazos em 11/08. Agora reclama, pelo menos nesta tela.
v1.22.2 · ☁️ Arquivo vazio: agora a tela ensina TAMBÉM para quem desligou o OneDrive25/08/2026
- U0001f5e3️ “nao uso isso mais… clicar na pasta com botão direito NÃO MOSTROU manter arquivos”. Você estava certo, e o print provou: com o OneDrive desligado essa opção não existe. A tela mandava você procurar um botão que não está lá.
- ✅ Agora são dois caminhos. (A) OneDrive ligado: botão direito → “Sempre manter neste dispositivo”. (B) Desligado: entre em onedrive.com, baixe o .zip, extraia numa pasta comum e mande essa pasta — o conteúdo continua no site.
- U0001f4cc E uma boa notícia medida: o PETERSON tem 60 documentos no sistema e nenhum com problema. No seu acervo inteiro são zero arquivos corrompidos — o que falta nunca chegou a entrar, porque o sistema recusou o arquivo vazio na porta.
- U0001f4d8 O manual ganhou essa pergunta — antes ele nem falava de OneDrive.
v1.22.1 · U0001f6ce️ O aviso dizia “seu LEMBRETE vence” — agora diz o nome do documento24/08/2026
- U0001f5e3️ Você colou a mensagem que o Daniel recebeu: *“seu LEMBRETE vence em 04/09”*. “Lembrete” é nome interno do sistema, não diz nada para o cliente.
- ✅ Agora sai o nome de verdade: *“seu LAUDO PSICOLÓGICO vence em 04/09”*, *“seu COMPROVANTE DE CAPACIDADE TÉCNICA PARA MANUSEIO vence em 06/09”*.
- U0001f4cc O nome sempre esteve guardado — são 126 lembretes no seu sistema e os 126 têm o nome escrito. O aviso é que jogava fora e mandava a palavra genérica.
- ⚠️ Eu já tinha corrigido isso duas vezes — para a arma (20/08) e para o IBAMA (hoje de manhã) — e nas duas deixei o lembrete de fora. A trava nova cobre os quatro tipos de uma vez.
v1.22.0 · U0001f4d6 A tela de Modelos passa a ensinar: passo a passo, e para que serve cada campo24/08/2026
- U0001f5e3️ “Fatto aonde faz isso? Qual o caminho na UX? Pra quais documentos ele serve? Cade o manual?” — cobrança justa. Eu tinha dito “é só trocar no Word” sem dizer onde nem para quê.
- ✅ Documentos → Modelos ganhou o passo a passo de 4 passos (baixar → abrir no Word → digitar a etiqueta → subir) e uma tabela por grupo com três colunas: a etiqueta, o que ela é e em que documento se usa.
- U0001f6d1 E achei um defeito indo arrumar: a tela mostrava a etiqueta ERRADA. Metade da lista vinha sem chaves e metade com, e o sistema punha chaves de novo — quem copiasse colava algo que não preenche nada. Corrigido.
- U0001f4d8 O manual ganhou 6 perguntas novas, com os casos reais de hoje: campo em branco, campo com o dado errado (o caso das 5 células saindo “Mato Grosso”), como trocar um campo, e a diferença entre SIGMA e SINARM.
- U0001f4cc Quem criar campo novo agora é obrigado a dizer onde ele se usa — o próprio código exige. Variável sem isso vira lista de nomes, e lista de nomes não ensina ninguém.
v1.21.3 · U0001f4cd O endereço numa linha só, do jeito que você escreve à mão24/08/2026
- ✅ Novo campo {{endereco_completo}} — monta *“Rua Sergipe, 450-N, casa, centro, 78.575-000, Juara, Mato Grosso”* de uma vez, com o estado por extenso. Copiei o formato do requerimento que você preencheu à mão, e testei: sai idêntico ao seu.
- U0001f527 Por que ajuda: até agora o endereço era montado com seis campos separados encostados um no outro — e foi um deles que caiu na célula errada no requerimento de apostilamento. Com um campo só, esse problema não volta.
- ✅ Se faltar algum pedaço (sem complemento, sem CEP), ele não deixa vírgula solta.
v1.21.2 · U0001f50d O “Mato Grosso” nas armas: achei a causa — e você me corrigiu um erro sem saber24/08/2026
- U0001f5e3️ “o item 2 - ARMAS A SEREM ADQUIRIDAS não esta saindo com campos preenchidos”. Achei: no arquivo do Word, o campo “Estado” aparece 6 vezes — uma no endereço e cinco nas células da tabela de armas. Alguém copiou a célula do estado e colou nas cinco.
- ✅ Criei os campos que faltavam — {{arma_especie}}, {{arma_marca}}, {{arma_modelo}}, {{arma_calibre}} e {{arma_quantidade}} (fixo em 1). A troca no modelo é na tela: Documentos → Modelos.
- U0001f6d1 E você me corrigiu sem saber. Você mandou o requerimento preenchido à mão com “Nº Sinarm” em branco. Eu tinha acabado de mandar esse campo puxar o “número de registro” do cadastro — que na verdade guarda *“BAR NR 52 DE 18/03/2021, CMDO 9ª RM”*, um texto do Exército. Em 184 das suas 233 armas é assim.
- ✅ Agora “Nº Sinarm” sai em branco, como você faz à mão, porque o sistema não guarda esse número. Se quiser guardar, eu crio o campo na ficha da arma — é só pedir.
v1.21.1 · U0001f4c4 O requerimento de apostilamento passa a trazer o SIGMA e o vencimento do CRAF24/08/2026
- U0001f5e3️ “o vencimento do reg. precisa ser vinculado ao vencimento do craf (nao passei isso antes, erro meu porque sempre fiz a punho)”. Não foi erro seu — o campo não existia. O sistema guardava o número do CRAF e nunca a data. Criei.
- ✅ {{arma_craf_validade}} — o vencimento do CRAF, pronto para o campo “Vencimento Reg.”. Você já tem essa data em 222 das 246 armas.
- ✅ {{arma_sigma}} agora também vale nos modelos de mala-direta do Word. Você tem o SIGMA em 237 das 246 armas.
- ⚠️ SIGMA e SINARM continuam separados, de propósito. SIGMA é do Exército, SINARM é da PF — trocar um pelo outro poria número errado num papel que vai para o órgão.
- U0001f4cb A lista de variáveis da tela de modelos passa a mostrar as quatro novas, com a explicação de cada uma.
v1.21.0 · 🔫 O campo das ARMAS voltou a aparecer na abertura do processo — e agora aceita várias24/08/2026
- 🛑 O campo de arma não estava aparecendo. Você mandou o print e estava certo: escolhia o serviço de GT e não vinha campo nenhum. Era defeito nosso, desde 20/08 — a tela procurava o formulário errado da página. Corrigido.
- ✅ Agora são CAIXINHAS: marque todas as armas do processo. Antes era uma só. Como você explicou, um protocolo cobre várias armas — e com uma só o aviso continuaria cutucando as outras do mesmo protocolo.
- ⏰ A régua de avisos ficou SUA: entrou o 3º campo "dias antes de vencer". Dá para deixar 60 / 30 / 15 do seu jeito, na tela, sem pedir para ninguém. Deixe 0 e o 3º aviso não sai.
- 📅 O texto do calendário agora diz a verdade sobre o que a pessoa que recebe o link enxerga — inclusive que as parcelas saem com o valor em reais. Antes o texto dizia que só ia nome e documento.
- 🎚️ A tecla da IN 330 volta a acompanhar a data de emissão quando você corrige a data depois da leitura, e editar arma passou a deixar registro de quem mudou o quê.
v1.20.0 · 🔖 Cada registro agora tem um NÚMERO — o #1247 que você dita no telefone24/08/2026
- 🗣️ “quero id em tudo e que não se repita”. Feito — nas 7 telas que você usa todo dia.
- ✅ Cliente, Documento, Processo, Arma, Fazenda, Cobrança e Guia de Tráfego agora mostram um número curto do lado do nome — com a letra do tipo na frente: #C12 (cliente), #D1247 (documento), #P88 (processo), #A45 (arma), #F7 (fazenda), #CB30 (cobrança), #GT9 (guia).
- 📞 Para que serve: em vez de *“aquele CRAF do cliente cujo nome começa com A”*, você diz “documento #D1247” e a gente acha na hora. Serve para o WhatsApp, para o telefone e para anotar no papel.
- 🔣 Por que a letra: cada tipo conta do 1 separado, então existe um #12 de cliente e um #12 de processo ao mesmo tempo. Só o número seria ambíguo — e no quadro de Processos ele fica bem ao lado do nome do cliente. Com a letra não tem confusão.
- 🔢 A numeração é SUA. Começa no 1 e segue a ordem de cadastro — o mais antigo é o #1. Outro despachante também tem o #1 dele, e um nunca enxerga o do outro.
- 🔍 Já dá para procurar por ele no quadro de Processos: cole #P88 no filtro e só aquele processo aparece.
- ⚠️ Não confundir com o número oficial da guia — aquele continua sendo o da Polícia Federal e não mudou. O #GT9 é só o nosso, aqui dentro.
v1.19.3 · 📄 O aviso passa a dizer QUAL documento do IBAMA está vencendo24/08/2026
- 🗣️ “ficou muito vago você dizer que DOCUMENTO IBAMA vence na data tal… o cliente precisa saber detalhadamente o que está para vencer”. Feito.
- ✅ Antes: *seu DOCUMENTO IBAMA vence em 25/08*. Agora: *sua AUTORIZAÇÃO DE ABATE DE FAUNA INVASORA · PORTO DOS GAÚCHOS/MT vence em 25/08*.
- 🔎 Eram duas causas: a régua usava a descrição do calendário público (que esconde tipo e local de propósito) e a lista de nomes não conhecia o CTF novo — criado quando você separou o IBAMA em dois documentos, e o seu 2º tipo mais comum (39 registros).
- 🔒 O calendário público continua neutro — conferido por uma revisão independente.
v1.19.2 · 🔖 Cada documento agora tem um código que dá para ditar24/08/2026
- 🔖 Cada documento passa a mostrar um código curto (ex.: `#3C3C-B735`), do lado do nome. Serve para falar dele conosco sem descrever o arquivo inteiro — é só mandar o código.
- 🔎 O identificador sempre existiu por dentro, mas era um número enorme (`3c3cb735-7b7f-41a5-9381-7d94c40585de`) que ninguém dita no telefone. Agora são 8 dígitos em dois blocos.
- 📐 Por que 8 e não 6: com 6 dígitos daria certo hoje, mas a chance de dois documentos receberem o mesmo código já seria de ~17% no seu acervo. Com 8, vira desprezível. Código repetido levaria ao documento errado — pior do que não ter código.
- ⏭️ Vem a seguir: o mesmo código no cliente, no processo, na arma e na fazenda, e a busca por ele.
v1.19.1 · 📄 Os modelos voltam a sair preenchidos24/08/2026
- 🗣️ “a DECLARAÇÃO DE INEXISTÊNCIA DE INQUÉRITOS não está sendo preenchida… alguns está abrindo ver sem preencher e alguns estão preenchidos ao ver”. Achei, e era um só defeito.
- 🐞 O Word grava o campo de duas maneiras: com aspas (`MERGEFIELD “CPF”`) e sem aspas (`MERGEFIELD NOME_`) — esta última é o padrão dele. O sistema só trocava a primeira. O modelo da Declaração tem 34 campos sem aspas: nenhum era preenchido.
- ✅ Era exatamente isso o “alguns sim, outros não”, sem padrão aparente: dependia de como o Word gravou aquele campo, e isso varia de modelo para modelo.
- 📏 Medi os 24 modelos: 21 têm todos os campos que o sistema conhece, 2 usam nomes próprios (`{{rg}}`, `{{arma_serie}}`…) e 1 é texto fixo mesmo. Depois desta correção, os 21 preenchem.
- 🔒 E ficou travado no teste automático. Esse trecho nunca tinha sido testado — foi por isso que o defeito durou tanto sem ninguém ver.
v1.19.0 · ☁️ Arquivo vazio avisado ANTES, com o passo a passo do OneDrive23/08/2026
- ☁️ Na pasta do PETERSON, 30 de 62 arquivos estavam vazios — e você só descobria isso no fim, depois de conferir a pasta inteira e mandar guardar.
- ✅ Agora o aviso aparece assim que a pasta é lida: os vazios já vêm desmarcados, com o selo ☁️ VAZIO na linha, e um quadro no topo com o passo a passo para resolver.
- 🔧 A solução, que vale para todas as subpastas de uma vez: Windows Explorer → botão direito na pasta dos clientes → “Sempre manter neste dispositivo” → espere o ícone virar ✔ verde.
- ⚠️ E uma limitação honesta: o navegador não tem como mandar o Windows baixar o arquivo. Se ele chega vazio, chegou vazio — nenhum ajuste no sistema resolve isso do nosso lado. O que dá é avisar cedo, e é o que passa a acontecer.
v1.18.9 · ⏲️ Dois minutos para você tirar da fila o que não vale ler23/08/2026
- ⏲️ Você pediu: “COLOQUE UM INTERVALO DE 2 MINUTOS ANTES DE COMEÇAR LEITURA DE DATAS… PARA QUE EU POSSA RETIRAR DOCUMENTOS QUE NAO SERAO NECESSARIOS LEITURAS”. Está feito.
- ⏳ Ao abrir a conferência aparece um aviso com contagem regressiva de 2:00 antes de a leitura começar. Nesse tempo você desmarca o que não precisa. Tem “Ler agora” para quem não quer esperar e “Não ler nada” para pular a leitura inteira.
- 🔒 E a trava que você pediu, agora no servidor: documento que já está no cadastro deste cliente não vai para a IA de jeito nenhum — nem por outro botão, nem por outro caminho. A tela já pulava; o servidor agora recusa.
- 🚫 Os botões Arquivo/Ativo sumiram das linhas “JÁ BAIXADO”. Você perguntou hoje se clicar neles mudava alguma coisa — não mudava, e botão que não faz nada não devia estar lá. No lugar aparece só “já está no sistema”.
v1.18.8 · 🧹 Marca, modelo e calibre saindo limpos da guia23/08/2026
- 🗣️ Você cobrou de manhã: “ESSA LEITURA DO MODELO DA ARMA É PRA SER FEITA INTERNAMENTE NOS DADOS DA GT E INSERIDA AUTOMATICAMENTE NOS CAMPOS DE ARMA”. Agora sai limpo.
- 🧹 O que estava sujo: a linha da tabela começa com `1 - /` (número do item e célula vazia) e termina com a quantidade. Isso entrava nos campos: modelo saindo como `- / ESPINGARDA ARMSAN ARMSAN PHENOMA` e calibre como `12 GA 1 2 - /`.
- ✅ Agora: marca ARMSAN · modelo ARMSAN PHENOMA · calibre 12 GA. Testado em 7 formatos diferentes de guia.
- ➖ E série com hífen partido: numa guia o texto sai `59-H22YT- 001629`, com espaço. A série parava no meio e o resto ia parar no modelo.
- 📄 CRAFs do NELSON conferidos um a um: os três batem com o cadastro em série, SIGMA, calibre, marca e validade. Nada a corrigir — estava tudo certo.
v1.18.7 · ➖ Número de série com hífen era cortado no meio23/08/2026
- ➖ A ARMSAN PHENOMA do NELSON é série `59-H22YT-001629`. O leitor devolvia só `H22YT` — ele não aceitava hífen e ficava com o pedaço do meio.
- 🔎 E foi por isso que essa arma passou dias na lista de “séries divergentes”, como se fosse dúvida de cadastro. Não havia dúvida nenhuma: o papel trazia a série inteira e o sistema entregava um caco.
- ✅ Corrigido, e as séries sem hífen continuam iguais (`ACJ294200`, `71252465`).
- 🔧 TAURUS G2C do PAULO ANDRE: série corrigida de `n23896` para `AAL023896` — duas guias de tráfego dele trazem esse número.
- 📅 E o CRAF do revólver .357 dele não estava vencido: de 18/02/2025 para 10/02/2031, como diz o papel. O 18/02 tinha sido lido da linha do número de registro, não da validade.
v1.18.6 · 💸 A IA estava lendo documento que você já tinha — e isso era dinheiro seu23/08/2026
- 🗣️ “PORQUE A I.A ESTA LENDO DATA EM DOCUMENTO QUE JA ESTA NO SISTEMA… É ISSO QUE ESTA FAZENDO DEMORAR NOSSO TRABALHO”. Você estava certo, e o erro era meu.
- 🔎 O que acontecia: a tela marca os repetidos como 🚫 JÁ BAIXADO e, logo em seguida, manda ler os que estão sem data. O filtro que pula os repetidos sempre existiu — só que ele não enxergava a marcação, porque ela ainda não tinha assentado na tela quando a leitura começava.
- 💰 Quanto custava: cada documento repetido pagava uma leitura à toa. Numa pasta com 15 repetidos, cerca de R$ 1,50 a R$ 2,00 jogados fora — por pasta.
- ✅ Corrigido: a lista dos repetidos agora é entregue direto à leitura, sem depender de a tela atualizar.
- ✅ E respondendo a sua outra pergunta: clicar em Arquivo num documento marcado JÁ BAIXADO não muda nada no documento que está no sistema. Ele nem é enviado; e se fosse, o servidor para antes de gravar. Nem categoria, nem data, nem vínculo.
v1.18.5 · 🐞 Arquivo grande subia e não gravava — erro meu, corrigido23/08/2026
- 🐞 Preciso começar admitindo: a correção de manhã (arquivo acima de 4,5 MB) estava quebrada. O arquivo subia certinho e na hora de gravar o sistema derrubava com *“An error occurred in the Server Components render”*. Foi o seu print do NELSON, com a PROCURAÇÃO de 6,2 MB, que mostrou.
- 🔎 O que era: no caminho novo o arquivo não passa mais pelo servidor — e o código que grava continuava perguntando o tamanho ao arquivo que não estava mais ali. Erro meu, do jeito mais bobo: o valor certo já estava calculado três linhas acima e eu não usei.
- ✅ Corrigido. Arquivo grande sobe e grava. E o teto de 12 MB agora vale para os dois caminhos.
- 📌 E o que apareceu junto no seu print foi bom sinal: os outros 3 erros do NELSON já saíram com a mensagem certa — *“arquivo VAZIO (0 byte)”*. São os do OneDrive.
v1.18.4 · 🎯 Modelo curto de arma (LV-12, G17, P10C) volta a ser reconhecido23/08/2026
- 🎯 Quando o modelo da arma é curto, o sistema não o via. As 4 guias do LUIS CARLOS SCHMITT tinham LV-12 escrito no nome do arquivo, e ele tem a BARATHRUM LV-12 cadastrada — mesmo assim caíam como “sem sinal” para você resolver na mão.
- 🔎 Por quê: o casador quebra o modelo em palavras e ignora as de menos de 3 letras — defesa correta para o “12” não casar com todo calibre 12. Só que `LV-12` vira `LV` + `12`, as duas ignoradas, e o modelo inteiro sumia. Vale igual para G17, P10C, RT 605.
- ✅ Agora o modelo COMPLETO conta como sinal forte (o pedaço continua valendo pouco). Se duas armas suas empatarem, o caso continua indo para a sua mão — essa trava não mudou.
- 🔗 3 guias do LUIS CARLOS já ligadas na BARATHRUM LV-12.
v1.18.3 · 🛑 Arquivo VAZIO agora é avisado antes de tentar23/08/2026
- 🗣️ “LUSINEIDE MAGALHAES PAGNUSSATT — O QUE HOUVE COM ESSES ARQUIVOS”. A resposta veio do próprio print: os 8 que falharam estavam com tamanho zero. Não era o problema de arquivo grande que corrigi de manhã — esses arquivos não tinham conteúdo nenhum.
- ☁️ Isso acontece com pasta do OneDrive / Google Drive em modo “só na nuvem”: o Windows mostra o arquivo na pasta, mas ele ainda não foi baixado para o computador. O navegador lê 0 byte e o envio morre com um erro de rede que não explica nada.
- ✅ Agora a tela avisa na hora: *“arquivo VAZIO (0 byte). Se ele está numa pasta do OneDrive/Drive, abra a pasta e deixe baixar antes de mandar”*. Não tenta enviar à toa nem devolve mensagem errada.
- 📏 E o tamanho no aviso ficou legível: abaixo de 1 MB aparece em KB. Antes, `40 KB` e `0 byte` apareciam os dois como “0.0 MB” — e era exatamente essa a diferença que interessava.
- 🔫 Guia de tráfego com número de série só de dígitos volta a ser lida. A RUGER .300 do KAUÊ tem série `71252465`, sem nenhuma letra — o leitor exigia letra E número e devolvia série vazia num papel que a trazia escrita.
v1.18.2 · 🔍 O erro passa a dizer QUAL arquivo e de que tamanho23/08/2026
- 🗣️ Voce perguntou: “PORQUE 5 ERROS NA MINHA PASTA JULIO CESAR? RELATE”. A tela nao tinha como responder — ela mostrava uma linha, “Failed to fetch”, para os 5 juntos, sem dizer qual arquivo nem de que tamanho.
- ✅ Agora cada erro sai com nome e tamanho do arquivo: *“CNH JULIO.pdf (6,2 MB) — Failed to fetch”*. Erro que nao nomeia o arquivo nao pode ser investigado — nem por voce, nem por mim.
- 📄 E o CAR “Demonstrativo” voltou a ser lido. Voce mandou: *“SEMPRE ABRIR O DOCUMENTO E LER DENTRO OS DADOS QUE FALTAM”*. O “CAR - Demonstrativo (44).pdf” do HAROLDO dizia FAZENDA CAROLA II dentro, e o leitor respondia “o papel nao traz o nome do imovel”: e um layout diferente do CAR, com “Proprietários” onde o outro tem “Dados das Áreas”, e isso zerava a leitura inteira.
- 🌾 A FAZENDA CAROLA II foi criada e o papel ligado nela. Conferi antes: o codigo de CAR dela e diferente do da FAZENDA CAROLA que ja existia — sao dois imoveis de verdade, nao duplicata.
v1.18.1 · 💡 O endereco estava na conta de luz que voce ja tinha guardado23/08/2026
- 💡 Voce mandou: “parte dos 23 enderecos incompletos pode ser resolvida sem voce mandar nada — e so ver quem tem conta de luz guardada”. Levantei e resolvi.
- ✅ 3 enderecos completados lendo a conta da Energisa que ja estava na ficha do proprio cliente: JOAO VICTOR ZANOTTO (rua, CEP e cidade Sinop → Juara), IAGO ACIOLI (rua, CEP e cidade Cuiaba → Juara) e EMILIO CASSIANO OSSANI (rua, CEP e cidade Cuiaba → Nova Bandeirantes).
- 🧾 Os 19 restantes nao tem conta de luz legivel guardada — esses so o papel resolve. Sobraram 20 enderecos incompletos (era 23).
- 🔧 Detalhe do papel: a Energisa escreve “sem numero” de dois jeitos, `SN` e `0`. O do Emilio veio como `0` — gravar 0 no cadastro pareceria numero de porta, entao virou S/N, que e o que o papel quer dizer.
v1.18.0 · 📤 Arquivo grande finalmente sobe23/08/2026
- 📤 Você mandou dois prints: no IURY “3 com erro — Failed to fetch”, no JAILTON “nenhum documento foi guardado, 15 com erro”. Achei a causa: TAMANHO.
- 🔍 Como confirmei: olhei todos os documentos do seu sistema. O maior que conseguiu entrar tem 4,28 MB — e não existe nenhum acima de 4,5 MB. Não é coincidência: 4,5 MB é o teto do servidor para arquivo enviado por formulário.
- ✅ Agora o arquivo grande sobe direto para o armazenamento, sem passar pelo servidor. Vale para qualquer tamanho até 12 MB, e a leitura da data continua funcionando igual.
- ⚠️ Preciso te contar uma coisa: esse mesmo problema já tinha sido resolvido em 02/07, quando uma CNH de 7,5 MB deu o mesmo erro. Só que a correção foi aplicada na leitura de documento do cliente — e não na importação de pasta, que é justo onde você passa o dia. Conhecer a causa não conserta o lugar onde ela não foi aplicada.
- 📌 Reenvie as pastas do JAILTON e do IURY — agora elas devem entrar inteiras.
v1.17.11 · 🔑 Uma terra, um registro — o número do CAR unifica23/08/2026
- 🔑 O número do CAR agora identifica a fazenda, não só o nome. Isso resolveu de uma vez as fazendas repetidas que havia no seu cadastro — a mesma terra escrita de jeitos diferentes.
- 📊 8 casos unificados, em 8 clientes: FLOR DA MATA (3 registros!), POR DO SOL, SANTO EXPEDITO, MARUPÁ, ESTANCIA OLIVEIRA, DAMATTA, BATELÃO. Nenhum documento perdido — todos migraram para o registro que fica.
- 📄 E o vinculador passou a LER O PAPEL PRIMEIRO, deixando o nome do arquivo como último recurso. Era o contrário, e por isso ele criava repetidas: o arquivo *Comprov…-Faz.Flor-da-Mata-I-…* virava a fazenda “Faz. Flor”, enquanto o papel dizia FAZENDA FLOR DA MATA I.
- ⚠️ Um caso eu NÃO juntei, de propósito: no ROSENO, *ESTÂNCIA REAL* e *ESTÂNCIA LOTHARIO* têm o mesmo número de CAR — é a mesma terra, mas com dois nomes de verdade diferentes. Juntar é seguro; qual nome fica é sua escolha, não do sistema.
- ✅ IURY JUNIOR e IAGO ACIOLI conferidos: zero documentos soltos nos dois.
v1.17.10 · 🎯 Três cabeçalhos diferentes, uma âncora só23/08/2026
- 🎯 A autorização de acesso à propriedade vem com cabeçalho diferente em cada cartório — hoje apareceram três formas de escrever o mesmo campo. Eu vinha listando os cabeçalhos que via, e sempre faltava o próximo.
- 🔑 Agora a âncora é o número do CAR: o nome do imóvel é sempre o que vem imediatamente antes dele, em qualquer um dos formatos. É o que não muda.
- ✅ GERALDO AGUIAR: a autorização que você me mandou foi lida — diz SÍTIO SOL NASCENTE — e ligada na fazenda que já existia. Ficha dele com zero soltos.
- 🗄️ GUSTAVO DA SILVEIRA: a GT da BERETTA .22 foi para o arquivo, como você mandou. Ela é de arma que não está no acervo dele.
- 📌 Um detalhe que custou um teste: nesse papel o PDF quebra o número do CAR com um espaço no meio (MT-5105150- 9505FC61…). Agora isso não atrapalha mais.
v1.17.9 · 📄 O último formato de guia que faltava23/08/2026
- 📄 Sobrava um formato de guia em que a série ainda saía errada — aquele em que a tabela vem com barras (*1 - / carabina / FUZIL COMPANHIA 7022 WAY / -*). Resolvido.
- 🔍 Era a mesma causa, com outra roupa: a linha da munição. Eu tinha cortado só onde ela dizia *Munição outros* ou *Munição CBC*; nessas guias ela diz Munição TODAS. Agora o corte é na palavra “munição” — nome de arma nunca a contém.
- 🔎 E a correção revelou algo importante: três guias na pasta do FELIPE GARCIA são de armas de OUTROS clientes. As séries são de armas do GERALDO AGUIAR (RT 357H) e do EDER GOMES (7022 WAY).
- 📌 Não movi nada: cada um desses é decisão sua. Estão listados na mensagem do grupo.
v1.17.8 · 🔫 As guias que o sistema não sabia ler — resolvido23/08/2026
- 🔫 Aquelas 14 guias do PDF que te mandei: achei o motivo e corrigi. Não era formato diferente de guia — era a linha da MUNIÇÃO.
- 🔍 O que acontecia: nessas guias a tabela tem duas linhas, a da arma e a da munição. O sistema lia as duas juntas e ia até o rodapé — e, como ele pega o último código que parece número de série, acabava pegando o código de autenticidade do QR code.
- ✅ Agora corta na linha da munição, que é onde a arma acaba. Testado nos seus papéis: as séries saem certas (357ZT20048, B1004146, SWJ5026878) e os modelos também (XPR HUNTER, JERICHO II DESERT PL, 7122).
- 📌 Efeito prático: essas guias voltam a achar a arma sozinhas, e os modelos que faltavam podem ser preenchidos a partir delas.
- 🎯 EDUARDO APARECIDO: você mandou preencher o modelo só das armas que têm GT. Antes dessa correção, nenhuma das 7 preenchia. Com ela, as que têm GT passam a preencher — as 4 sem GT continuam em branco, como você pediu.
v1.17.7 · 🔤 Acento partido criava fazenda repetida23/08/2026
- 🔤 Erro meu, e você pegou: eu tinha criado uma FAZENDA BATELA O no EMÍLIO — sendo que a FAZENDA BATELÃO dele já existia, com 6 documentos. Duas fazendas para a mesma terra.
- 🔍 A causa: alguns nomes de arquivo chegam com o acento “desmontado” — o à vem como A mais o til separado. O sistema tratava o til solto como sinal estranho e trocava por espaço, partindo BATELÃO em BATELA + O. Aí o nome não batia com o que já estava cadastrado, e nascia a repetida.
- ✅ Corrigido na raiz e desfeito: o documento voltou para a FAZENDA BATELÃO e a repetida foi removida.
- 🌾 E a outra que você apontou: não era Fazenda São João, é a FAZENDA SÃO JOSÉ que já existe nele. Documento movido, fazenda errada removida e o nome do arquivo corrigido, como você pediu.
- 📊 EMÍLIO voltou às 8 fazendas certas, com zero documentos soltos.
v1.17.6 · 🔫 O papel também acha a ARMA, não só a fazenda23/08/2026
- 🔫 A mesma regra que você deu de manhã — *ler o documento por dentro quando o nome não resolve* — agora vale para documento de arma também.
- 📄 O caso que provou: no EDER GOMES, o arquivo *SEI_146601913_GT DE TRANSITO PARA RETIRAR A ARMA* não diz arma nenhuma no nome. O sistema abriu o papel e achou: ROSSI 067 · .357 Magnum · série NVB4594365. Vinculado.
- ✅ DULCINEIA: as 2 GTs da CARABINA 7122 MAGNUM foram para a arma certa. Ficha com zero soltos.
- ✅ EDER: o GT acima, a autorização do IBAMA e a autorização de entrada — todos ligados. Ficha com zero soltos.
- 📑 Um detalhe que vale o seu olho: a *AUTORIZAÇÃO DE ENTRADA PROPRIEDADE RURAL* do EDER cobre duas fazendas (PEQUIRI e CANÁ). Liguei na PEQUIRI, que é a primeira do papel — mas o documento vale para as duas.
v1.17.5 · 🔢 Terra Roxa I e Terra Roxa 1 são a mesma terra23/08/2026
- 🔢 Julio, sobre a DIONE: «padronize». Feito. O sistema agora entende que TERRA ROXA I (com o I romano) e Terra Roxa 1 (com o número) são a mesma fazenda.
- 📄 E repare de onde veio a forma certa: fui ver o papel do IBAMA e ele escreve FAZENDA TERRA ROXA I, exatamente como está no seu cadastro. Quem estava fora do padrão era o nome do arquivo — o cadastro estava certo.
- 🛑 Sem exagero, e isso importa: se um dia aparecer uma Terra Roxa II, ela continua sendo outra fazenda. E nome que só termina em I — como GUARANI ou ITAMARATI — não é tocado.
- 🌾 Vale para I até X, em fazenda, sítio, estância e rancho.
v1.17.4 · 📖 Se o nome não está no título do arquivo, abrir o documento — agora é regra23/08/2026
- 📖 Julio: *«já foi dito que quando não conseguir ler o nome por não estar como título no arquivo é pra você ler o documento internamente, crie como regra isso»*. Registrado como regra do sistema.
- 🏞️ O caso que provou: no DANIEL AUGUSTO, o arquivo se chama *AUTORIZACAO_DE_CACA_-_DOUGLAS_ALEXANDRINO* — ou seja, pelo nome do proprietário da terra. Pelo título, o sistema nunca acharia a fazenda. Mas o papel diz RANCHO ALEXANDRINO no corpo dele.
- ✅ Os 3 documentos de fazenda dele foram resolvidos: a fazenda RANCHO ALEXANDRINO foi criada a partir do papel e os três ficaram ligados nela. Ele está com zero documentos soltos agora.
- 🔑 O que segura o corte é o código do CAR. Sem ele, o nome do imóvel e o nome do proprietário ficariam colados — e o papel iria para a terra errada. Vale para os dois modelos: a autorização do IBAMA e a autorização de acesso assinada pelo dono da terra.
- 🐞 Cuidado que custou um teste: em alguns papéis o código do CAR sai picado pelo PDF (`MT-5107941-399 F8E1…`). Eu tinha exigido código longo, e isso quebrou um caso que já funcionava. O que identifica o CAR é o começo (`MT-9999999`), não o tamanho.
v1.17.3 · ➕ O “escrever o nome da fazenda” também no botão Mover23/08/2026
- ➕ Julio: *«eu não tenho opção de escrever o nome da fazenda/sítio/rancho/estância nesse campo... aqui só deixa vincular»*. Certo de novo: no botão 📦 mover, as saídas de criar fazenda só apareciam quando o cliente tinha zero fazendas.
- 🔍 Ou seja: bastava ele ter UMA fazenda cadastrada — que é o caso normal — para o painel virar só a lista, e a fazenda nova não ter por onde entrar. É o mesmo buraco que corrigi de manhã no painel da aba Documentos, nesta outra tela.
- ✅ Agora o 📦 mover tem as três saídas: escolher da lista, 🌾 ler e criar, e ➕ escrever o nome.
- 🌾 Sítio Kayaby criado na ficha da CRISTIANE DEPINE, como você pediu.
v1.17.2 · 🎯 Teste de tiro: os dois problemas eram o mesmo23/08/2026
- 🎯 Julio: *«não está fazendo leitura de data de teste de tiro considerando 1 ano da data de emissão... e não me deu opção de leitura por I.A.»*. Pareciam dois problemas, e eram um só.
- 🔍 A causa: é a categoria Comprovante de Capacidade Técnica que liga as duas coisas — é ela que faz o sistema calcular emissão + 1 ano e é ela que faz aparecer o botão 🤖 ler validade. Quando o teste de tiro caía em outra categoria, você perdia as duas de uma vez.
- 📊 Medido: 18 testes de tiro estavam na categoria errada — 11 como “Laudo”, 3 como “Comprovante”, 4 como “Outro”. Todos já foram para a categoria certa, e agora mostram o botão de ler a data.
- ✅ E o que causava nos novos: arquivo escrito com hífen (*Teste-de-tiro-pistola*) não era reconhecido. Corrigido — com hífen, espaço, underscore ou sem o “de”.
- 📁 Pastas conferidas: CRISTIANE DEPINE (14 documentos) e DANIEL AUGUSTO (15) — nenhum documento de arma ficou solto nos dois.
v1.17.1 · 🐗 A autorização do IBAMA também se lê sozinha23/08/2026
- 🐗 Achado ao conferir a pasta da CRISTIANE DEPINE: a Autorização de Controle de Espécies Exóticas Invasoras — o papel do javali, o mais comum no seu dia a dia — traz o nome da fazenda escrito no corpo, na tabela do local do manejo. Agora o sistema lê dali, sem gastar IA.
- ✅ Na ficha dela: o CAR da Fazenda Caná e a autorização de abate da mesma fazenda foram ligados — a fazenda já estava cadastrada, faltava só juntar o papel nela.
- 🛑 O que segura o corte é o código do CAR (`MT-5107941-…`): sem essa âncora, o nome da fazenda e o nome do proprietário ficariam colados, e o papel iria para a terra errada.
- 📄 E dois ficaram com você, com motivo: *CAR e Demonstrativo Lagoa Rica* e *Piquiri*. Eles são Demonstrativos do CAR, um modelo diferente que traz município e código mas não traz o nome do imóvel. Não dá para ler o que não está escrito — nesses, use o ➕ escrever o nome que entrou hoje.
v1.17.0 · 🔌 A conta de luz: o endereço é de quem MORA, não de quem emite23/08/2026
- 🔌 Julio: *«o OCR está lendo uma conta de 2º endereço como Rio de Janeiro e o endereço é EST RURAL»*. Fui ver o papel do ANDERSON: o que estava gravado era Cuiabá — que é onde fica a Energisa, impressa no cabeçalho da fatura. O endereço dele é EST RURAL, S/N · ZONA RURAL · Juara · 78575-000, mais adiante no documento.
- ✅ Corrigido no cadastro dele, com a fatura que você mandou como fonte: rua, número, bairro e CEP entraram, e a cidade passou de Cuiabá para Juara.
- 📊 E não era só ele: dos 128 endereços cadastrados, 25 tinham só a cidade (sem rua e sem CEP) — 19 deles “Cuiabá”. Quatro são endereço de acervo, que é onde as armas ficam guardadas. Vou te mandar a lista para conferirmos um a um.
- 🔒 A trava: agora o sistema recorta o bloco do titular na fatura e lê rua, número, bairro e CEP direto do texto — de graça, sem IA. O endereço da distribuidora fica de fora por construção.
- 🏙️ A cidade é o único campo que ele não chuta: no texto o nome do titular fica colado no nome da cidade, e “PORTO DOS GAÚCHOS” viraria “GAÚCHOS”. Então a cidade só entra quando bate com uma que já existe no seu cadastro. Preferi assumir o limite a inventar nome de cidade.
v1.16.99 · 🧹 A varredura parou de reclamar de arma que está em dia23/08/2026
- 🧹 Consequência direta da sua regra dos 3 anos: a varredura avisava *«arma sem validade de CRAF»* olhando só o campo da data escrita. Só que arma com CRAF do regime novo não tem data escrita — o prazo dela é a emissão mais 3 anos, que o resto do sistema já calcula.
- 📊 Medido no seu acervo: das 23 armas que apareciam nessa lista, 15 já tinham prazo calculado. Ou seja, 2 de cada 3 linhas não eram problema nenhum.
- ✅ Agora a lista mostra 8 — as que realmente não têm como saber o prazo. Essas merecem sua atenção.
- 📌 Por que isso importa mais do que parece: uma lista em que a maioria das linhas não é problema ensina a ignorar a lista inteira — inclusive as que são de verdade. Painel de conferência só vale se o que está nele precisar mesmo ser resolvido.
- 🔫 As três armas vendidas (Jailton, Walter e Kauê) ficam na ficha do vendedor como histórico, sem prazo, como você decidiu.
v1.16.98 · 📄 A data do CR não é a data da arma — e o CRAF sem data vale 3 anos23/08/2026
- 📄 Você me corrigiu e estava certo: *«você leu a data errada no CRAF MANUAL de Maria Gislene… esse campo não é a data do documento CRAF MANUAL»*. Corrigido no cadastro dela e travado no sistema.
- 🔍 A prova está no papel dela: a MARIA GISLENE tem dois CRAFs manuais, do mesmo dia e do mesmo agente, com o mesmo CR 233740. Um traz “Data de VALIDADE: 11/08/2032” e o outro não traz data nenhuma. Se a data fosse da arma, seria diferente em cada uma; sendo do CR, ela só aparece quando a delegacia resolve imprimir.
- ✅ O que mudou na ficha dela: a espingarda CBC 586 estava com validade 11/08/2032 (a do CR). Tirei essa data, e agora o sistema mostra 17/07/2029 — a emissão do CRAF (17/07/2026) mais 3 anos.
- 📏 A REGRA, agora registrada como base: CRAF MANUAL que não traz validade própria vale 3 anos da data de emissão (Decreto 11.615/2023). São modelos diferentes de cada delegacia: alguns saem com data, outros não.
- 🔒 A trava: ao ler um CRAF em PDF, o sistema agora confere a data contra o texto do próprio papel — de graça, sem IA. Se a data lida for justamente a do bloco do CR, ela é descartada, e a conta dos 3 anos volta a valer.
- ⚠️ Por que isso é pior do que parece: a data errada não só mente, ela desliga o cálculo dos 3 anos, que só roda quando não há validade gravada. Uma arma ficava com prazo 3 anos adiantado e ninguém desconfia de um documento “com data”.
- 🔢 Conferi as outras: dos 270 CRAFs do seu acervo, 8 trazem esse campo e em 7 a leitura não caiu na armadilha. Só a da Maria Gislene estava errada.
v1.16.97 · 🪪 CRAF deixa de virar CR — e nota fiscal deixa de virar CRAF23/08/2026
- 🪪 Achado ao conferir a pasta do CÁRMENO: um documento chamado *«Certificado de Registro de Arma de Fogo»* era classificado como CR — o documento do DONO — em vez de CRAF, o documento da ARMA. Os dois começam com “Certificado de Registro”; o que os separa é *“de arma de fogo”*. Corrigido.
- ⚠️ Por que isso é grave: o CR é do titular e o CRAF é da arma. Trocar um pelo outro põe a validade da arma no prazo do dono e some com o papel da aba Armas.
- 🛑 E o contrário também estava errado: o sistema tratava como CRAF qualquer arquivo que tivesse nome de arma. Simulei uma correção em massa antes de aplicar e, dos 6 candidatos, só 1 era CRAF de verdade — os outros eram nota fiscal, boletim de ocorrência, teste de tiro e um termo de transferência. Um B.O. virando CRAF criaria prazo de renovação num papel que não vence.
- ✅ Agora esses papéis não são mais confundidos, e o CRAF do CÁRMENO (ESPINGARDA ITHACA .20GA, vence 13/02/2029) foi para a categoria certa — a validade bate com a arma dele.
v1.16.96 · 🌾 Sem saída, nunca mais: o CAR se lê sozinho e a fazenda pode ser escrita à mão23/08/2026
- 📄 Você tinha toda razão: *«todo CAR traz o nome da propriedade rural ou da fazenda no corpo do documento»*. Fui ver o CAR do CARLOS FELIPE e está lá, escrito: SÍTIO ALTO LORETO · MT · Aripuanã. Agora o sistema lê isso direto do papel — sem gastar nada de IA — e liga o documento na fazenda.
- 💡 E no caso dele a fazenda já existia cadastrada: faltava só ligar o papel nela. Nenhuma leitura de IA era necessária, nem antes nem agora.
- ➕ A SAÍDA QUE FALTAVA: *«o sistema me deixou sem saída… como que eu insiro essa nova fazenda?»*. Tinha razão de novo — o painel só oferecia escolher da lista ou mandar ler. Se a fazenda não está na lista e a leitura não acha, as duas portas estavam fechadas e o papel ficava parado, com você olhando o nome da fazenda impresso na sua frente.
- ✅ Agora tem ➕ escrever o nome: você digita o nome da fazenda, o sistema cria e já vincula o documento, tudo na mesma tela. Se já existir uma com esse nome escrita de outro jeito (FAZ. × FAZENDA), ele usa a que existe em vez de criar uma cópia.
- 👁️ E quando a leitura não acha o nome, o campo de digitar abre sozinho na linha certa — em vez da mensagem antiga, que mandava você sair da tela e cadastrar em outro lugar.
v1.16.95 · 👁️ O “ver” também na hora de vincular — e as armas vendidas23/08/2026
- 👁️ Julio: *«quero um botão ver aqui quando eu tiver que vincular algum documento pra eu saber qual é a fazenda e o que fazer se precisar criar a fazenda»*. Agora tem 👁️ ver nos dois painéis de vínculo: o de fazenda e o de arma.
- 🐞 E aqui a parte constrangedora: o botão do painel de fazenda já existia no código desde sempre — só que a tela nunca recebia o link do arquivo, então a condição de exibi-lo era sempre falsa e ele nunca apareceu. Botão que existe no código e nunca na tela é pior que botão nenhum. O do painel de arma não existia; agora existe.
- 🔧 Fabricante escrito errado, corrigido: BARATHAUM → BARATHRUM e MOSSPERG → MOSSBERG.
- 🔢 Série corrigida pela GT: o cadastro dizia `NNA483010` e oito guias da mesma arma dizem `NWA4803109` — leitura ruim do OCR antigo. Os 6 CRAFs desse cliente são foto (5 com zero texto), então a leitura pelo CRAF era impossível e valeu a sua regra: *o CRAF manda, a GT reconfere*. Com a série certa, os 8 papéis voltam a casar.
- 🔫 As três armas vendidas: em IMBEL `HMA13680` (Jailton), CBC `11902` (Walter) e ROSSI `NWA4802485` (Kauê), o CRAF do vendedor foi para o arquivo e parou de contar prazo.
- ⚠️ Fiz uma coisa a mais, e ela importa: além do papel, tirei a data do CRAF da própria arma do vendedor. O prazo é calculado a partir da arma, não do documento — arquivar só o papel deixaria você sendo cobrado para renovar o CRAF de uma arma que o cliente já vendeu. A arma não foi apagada: o histórico de que ela esteve no acervo dele continua lá.
v1.16.94 · 🔧 O modelo da arma vem da GT — e o calibre parou de comer o modelo23/08/2026
- 🔧 Julio: *«essa leitura do modelo da arma é pra ser feita internamente nos dados da GT e inserida automaticamente nos campos de arma já cadastradas que estejam com modelo em branco... isso é regra»*. A regra já existia — o que falhava era a leitura, antes dela.
- 🎯 O defeito, medido: o sistema cortava o calibre no primeiro pedaço que começa com número. Só que muito modelo é numérico — CBC 8122, CBC 7022, CBC 8117, Taurus 436, Taurus 627. A linha da PF *«COMPANHIA BRASILEIRA DE | 8122 BA | 22 Long Rifle»* virava calibre “8122 BA 22 Long Rifle” e modelo vazio: o modelo inteiro ia parar dentro do calibre.
- ✅ Corrigido: agora o sistema procura primeiro um calibre reconhecível (.38, 9x19mm, 12 GA, 22 Long Rifle, 17 Hornady…) e corta ali. O que fica antes é marca + modelo. De 11 papéis sem modelo, sobraram 2.
- 📋 17 armas ganharam o modelo lido no papel: 8122 BA, 7022, G25, 436, RT627, MD2 GC, E R AMANTINO ERA 2001, EAGLE FE-914PR, BUCK MARK STD URX… Tudo do texto da GT, sem gastar IA.
- 🛑 A trava é a série: só grava quando a série do papel bate com a da arma. Papel de outra arma não encosta na ficha.
- 🔫 As duas séries repetidas foram resolvidas como você decidiu: o CRAF duplicado do WALTER saiu (dá para desfazer — o arquivo continua guardado), e no ANDRE os dois papéis ficaram na mesma arma, com o CRAF de 2033 no arquivo e sem contar prazo, por ser alteração de acervo.
v1.16.93 · 🏙️ Cidade deixa de virar fazenda — e um “ver” antes de decidir23/08/2026
- 👁️ BOTÃO “VER” NA SUBIDA DE PASTA — pedido do Julio: *«eu preciso ver documentos que tenho dúvida antes de eu clicar em Arquivo ou Ativo»*. Agora, ao lado de Arquivo e Ativo, tem 👁️ ver: abre o próprio documento numa aba. Ele não é enviado, não passa pelo sistema e não gasta IA — é o mesmo papel que você abriria na pasta do computador, só que um clique antes, sem sair da tela.
- 🏙️ “MUNICÍPIO DE ÁGUA BOA-MT” VIROU FAZENDA — corrigido. Você mandou o print da lista do ALEXANDRO com essa “fazenda”. Ela nasceu às 08:43 e você renomeou à mão para FAZENDA SANTA LUZIA às 09:11.
- 🔍 O motivo, medido: ao criar a fazenda de um documento o sistema tenta três fontes, da mais confiável para a menos — o que a IA leu no papel, depois o campo “local”, depois o nome do arquivo. As duas últimas passavam por uma conferência; a primeira entrava crua. Ou seja: justamente a fonte tida como mais confiável era a única sem verificação, e o que a IA escrevesse virava fazenda.
- ✅ Agora cidade, zona rural e endereço são recusados (“Município de…”, “Zona Rural”, “Porto dos Gaúchos/MT”, “Água Boa-MT”). E quando o município vem grudado no nome, ele sai: *FAZENDA SANTA LUZIA, Município de Água Boa-MT* → FAZENDA SANTA LUZIA.
- 🛑 Sem exagero, e isso importa: a conferência não exige a palavra “fazenda”. RACANELLI AGRO é fazenda de verdade, está no seu cadastro e não tem essa palavra — continua passando. Só se recusa o que é claramente cidade.
- 📎 Por que isso estragava mais do que parece: a mesma terra lida de dois jeitos (uma vez com a cidade colada, outra sem) virava duas fazendas — e o acervo do cliente nascia partido ao meio.
- 🏭 CRAF também padroniza a marca. A unificação de ontem valia só quando a arma vinha pela GT: horas depois, um CRAF criou uma arma nova como “AMADEO ROSSI” — a grafia recém-eliminada. Padronizar numa porta só é enxugar gelo.
- 🔤 Nome letra-a-letra também com espaço: depois do caso com underscore apareceu *P R O C U R A Ç Ã O - 2 0 2 6.pdf*. Mesma doença, outro separador — agora os dois são lidos.
v1.16.92 · 📜 Procuração deixa de cair em “Outro”23/08/2026
- 📜 Achado ao conferir a pasta do ANDERSON: a procuração dele entrou como “Outro”. A categoria Procuração existe no sistema desde sempre — o que faltava era o sistema reconhecê-la pelo nome do arquivo. Você vinha reclassificando na mão.
- 🔤 E tinha um agravante: o arquivo chegou com underscore entre CADA letra — `P_R_O_C_U_R_A_C_A_O_-_2_0_2_6`. É coisa que o WhatsApp e alguns scanners fazem ao “limpar” o nome, e nenhuma palavra sobrevive a isso. Agora o sistema junta as letras de volta antes de ler.
- ✅ 22 procurações que estavam em “Outro” já foram reclassificadas — de 341 documentos que estavam nessa categoria.
- 🛑 Sem exagero: nome normal com underscore (“Laudo_Psicologico_PF”) continua intocado. Só junta quando é claramente letra-por-letra.
v1.16.91 · 🏭 Marcas unificadas: uma fábrica, um nome23/08/2026
- 🏭 Julio: *«pode unificar»*. A mesma fabricante aparecia com nomes diferentes e espalhava o acervo pelas fichas.
- ✅ TAURUS: eram 33 “TAURUS” + 24 “FORJAS TAURUS” + 2 “Taurus” → 59 armas, um nome só.
- ✅ ROSSI: 17 + 2 “AMADEO ROSSI” → 19. BOITO: 8 + 4 “BOITO E R AMANTINO” → 12.
- ✅ Somando o CBC de antes: 113 armas deixaram de estar espalhadas em 9 grafias diferentes.
- 🛑 Sem exagero: “TAURUS ARMAS DE FOGO LTDA” e “ROSSI ITALIA” não foram arrastadas junto — há verificação para isso. Ficou o nome mais usado no seu cadastro, não o nome oficial da empresa.
v1.16.90 · 🏭 CBC vira uma marca só + guias vencidas para o arquivo23/08/2026
- 🏭 Julio: *«'COMPANHIA BRASILEIRA DE CARTUCHOS' ou 'CIA BRASILEIRA DE CARTUCHOS' quero que sempre seja lido como CBC, tanto na subida de pasta como no vínculo de armas»*. Feito.
- 🔎 E o cadastro estava mesmo partido: a mesma fabricante aparecia em três formas — 24 armas como “CBC”, 23 como “COMPANHIA” (cortada pela leitura antiga) e 2 como “CBC (COMPANHIA BRASILEIRA DE CARTUCHOS)”. Agora são 49 armas CBC, todas iguais.
- 🗄️ As guias vencidas foram para o arquivo, com o vínculo intacto, como você pediu: 27 delas. Saem dos prazos, continuam ligadas na arma.
- 🧪 12 verificações novas (1.030 no total), incluindo as que impedem exagero: “COMPANHIA PAULISTA” não vira CBC.
v1.16.89 · 🏭 A marca da arma vinha cortada da guia (e o modelo saía errado)23/08/2026
- 🏭 Julio, mandando duas GTs: *«consegue ler internamente o documento aqui a custo zero?»*. Consigo — aquelas guias são PDF do SisGCorp e têm texto dentro. Mas achei um erro na leitura.
- 🔎 O que estava errado: na guia, a Polícia Federal imprime a marca como “COMPANHIA BRASILEIRA DE”. O sistema pegava só a primeira palavra como marca e jogava o resto no modelo — virava marca “COMPANHIA” e modelo “BRASILEIRA DE PUMA”. E modelo é justamente o campo que faltava nas armas, então o erro ia direto pra ficha.
- ✅ Agora sai certo: marca “COMPANHIA BRASILEIRA DE”, modelo “PUMA”. Vale também para FORJAS TAURUS, ARMAS BOITO, SMITH & WESSON e outras de nome composto.
- 🔫 As duas armas do ALLAN já estão com o modelo preenchido (PUMA e PUMP ACTION), lidos das guias que ele mandou — custo R$ 0,00, e casando pela série, não por palpite.
- 🧪 6 verificações novas (1.018 no total), incluindo a que garante que marca de uma palavra só (TAURUS, GLOCK) continua funcionando como antes.
v1.16.88 · 🗄️ Documento que vai pro arquivo também é vinculado (e Clientes abre nos habilitados)23/08/2026
- 🗄️ Julio: *«ao invés de serem enviadas cada qual para sua página armas e vinculadas nas armas definidas, foram enviadas todas para arquivo… agora vou ter de vincular tudo»*. Achei o motivo: documento marcado como arquivo era só guardado — nem lido, nem ligado na arma ou na fazenda.
- ✅ Agora o histórico também é vinculado, pelo nome do arquivo. Ele continua no arquivo e continua não virando prazo — que é a única coisa que “arquivo” sempre deveria ter significado.
- 💸 E isso não gasta leitura de IA. O vínculo do histórico é feito pelo nome do arquivo, de graça. Se eu tivesse ligado a leitura completa nele, cada documento antigo passaria a custar — numa pasta de 47 arquivos, 14 iriam para o arquivo.
- 🟢 A tela de Clientes passa a abrir nos habilitados, a pedido dele. “Todos” e “Desabilitados” continuam a um toque, com a contagem à vista.
- 🔗 E rodei o vinculador no primeiro cliente (ALEXANDRO), para fechar: 87 documentos, 36 de arma e 36 de fazenda, nenhum solto. As 6 fazendas dele agora têm o município junto do nome.
v1.16.87 · 🎯 O calibre passa a dizer QUAL arma é (e FAZ = FAZENDA)23/08/2026
- 🎯 Julio: *«uso no nome do arquivo o tipo, a marca, o modelo e o calibre… não usamos número de série»*. O sistema olhava o modelo e ignorava o calibre — e você tem duas carabinas PUMA, uma .357 e uma .44. Ele via “PUMA” nas duas, ficava na dúvida e não ligava nenhuma.
- ✅ Agora o calibre desempata. Nos 11 documentos de arma que você subiu ontem: antes 1 era ligado sozinho, agora 9. Os 2 que faltam têm explicação: a Glock .380 está sem modelo no cadastro (preencha “G25” na ficha dela e passa a funcionar), e num deles o modelo está escrito “G-22” com hífen.
- 🛑 O calibre nunca liga sozinho — ele só desempata quando o modelo já apontou para mais de uma arma. E se ainda assim ficar em dúvida, não liga nenhuma: arma errada vinculada é pior que arma nenhuma.
- 🔤 “FAZ”, “FAZ.” e “FAZENDA” passam a ser a mesma coisa. Achei nos seus arquivos “FAZ SANTA LUZIA” (sem ponto), que o sistema não reconhecia, e “FAZENDA SÃO JOSÉ” convivendo com “FAZ. SÃO JOSÉ” — a mesma terra da Erica, que viraria duas fazendas.
- 🧪 23 verificações novas (1.012 no total), incluindo as que garantem o que NÃO pode acontecer: data no nome (“13022027”) não pode ser lida como calibre .22, e “FAZENDINHA” não pode virar “FAZENDA”.
v1.16.86 · 🔐 Caindo para a tela de login no celular, a cada poucos minutos22/08/2026
- 🔐 Julio: *«verifique o motivo do meu app despachante estar deslogando a todo tempo no celular»* — *«questões de minutos: entro, abro uma página e ao voltar no menu cai e volta pra tela de login»*, *«só no celular»*.
- 🔎 Comecei pela configuração, não pelo código — em junho esse mesmo sintoma custou 3 dias e no fim era config. Medido agora: a sessão dura 8 horas. Ou seja, cair em minutos não tinha nada a ver com tempo de sessão.
- 🎯 A medição que fechou o caso foi uma pergunta: *precisa digitar a senha de novo?* Ele respondeu que não, volta sozinho. Isso prova que a sessão está viva — o que falhava era a CONFERÊNCIA dela.
- 📵 A causa: a cada tela aberta, o sistema pergunta ao servidor se a sessão ainda vale. No computador, com internet estável, isso quase nunca falha. No celular, com o sinal oscilando, falha bem mais — e a falha mandava direto para a tela de login. Por isso só acontecia no celular.
- ✅ Agora o sistema tenta de novo antes de desistir. Um tropeço de sinal deixou de virar um susto de logout. Não afrouxou nada: continua sendo preciso conferir a sessão com sucesso para liberar — e sessão realmente inválida vai para o login na hora, sem espera.
v1.16.85 · 📱 Texto quebrando letra por letra no iPhone22/08/2026
- 📱 Julio, com dois prints do iPhone do cliente: *«todas as páginas do app do cliente estão quebrando linhas»* — e, logo depois, *«no samsung e motorola estão perfeitas»*. Essa segunda frase foi a pista.
- 🔎 A causa: o selo da situação não pode quebrar (regra de 20/08 — ele mesmo saía como “ALERT / A / FINAL”). Só que, numa linha que não quebra, quem não encolhe empurra quem encolhe: o nome do processo era espremido até 4 letras. No iPhone do cliente, com o texto do sistema ampliado, o selo fica maior ainda e não sobrava nada para o nome.
- ✅ A saída não foi mexer no selo (isso traria de volta o problema de 20/08), e sim deixar a linha quebrar: agora o selo desce inteiro para baixo e o nome fica com a largura toda. Vale para a lista de processos, para os documentos de cada processo e para a faixa do radar.
- 🤝 Por que só no iPhone: o Android e o iPhone tratam o texto ampliado de formas diferentes. Nos aparelhos do Julio (Samsung e Motorola) nunca apareceu — foi o print do cliente que mostrou.
v1.16.84 · 🍎 O ícone certo ao instalar no iPhone22/08/2026
- 🍎 Julio: *«pode corrigir»*. O ícone que o iPhone usava ao adicionar o app à tela de início era o do painel do despachante, com o nome certo mas o desenho errado.
- 🔎 Por que ninguém tinha visto: o manifesto do app do cliente já apontava para o ícone certo — só que o iOS ignora os ícones do manifesto e usa apenas o `apple-touch-icon`, que vinha do layout raiz. No Android sempre esteve certo.
- ✅ Agora `/app` tem os próprios ícones, e só dentro de `/app` — o painel continua com o dele.
v1.16.83 · ☀️🌙 Botão de tema no app do cliente (e o topo acompanhando)22/08/2026
- ☀️🌙 Julio: *«coloque o botão de escolher tela no app do cliente»*. Feito — o mesmo botão do painel, no menu do cliente: Sistema → Escuro → Claro.
- ⚠️ Precisei corrigir o topo junto, e digo por quê: o cabeçalho tinha cor escura fixa. Entregar só o botão seria entregar quebrado — o cliente escolheria “claro” e o topo continuaria escuro, com o nome do despachante em cinza-escuro por cima. Agora ele acompanha o tema (o topo perdeu o efeito de vidro; legibilidade vale mais).
- 🔧 E corrigi as duas telas do sistema que eu tinha citado, a pedido do Julio: renomear documento e mover documento tinham o mesmo descuido de cor.
- 📱 Sobre instalar no iPhone (pergunta dele): o iPhone nunca oferece isso sozinho — a Apple não tem esse aviso no Safari. Lá se instala pelo botão Compartilhar → Adicionar à Tela de Início. No Android o aviso aparece sozinho. Nada quebrado do nosso lado.
v1.16.82 · 🐞 Menu do app do cliente aparecia sem as escritas22/08/2026
- 🐞 Julio, com print do iPhone do cliente: *«a tela do roseno não mostra as escritas do menu... é um iphone entrado pelo link»*. No print dava para ver o menu aberto com os emojis visíveis e os nomes sumidos.
- 🔎 Não era do iPhone. A cor de fundo desse painel usava uma variável que nunca foi definida no design system — então ele ficava sempre no escuro fixo, enquanto o texto seguia o tema do aparelho. No modo claro o texto é quase preto: preto sobre azul-escuro não se lê. O emoji aparecia porque tem cor própria.
- ✅ Agora o painel acompanha o tema, claro ou escuro, junto com o texto — e o menu aparece inteiro em qualquer aparelho.
- 🔒 Mexi só nisso, seguindo a premissa de hoje. Encontrei o mesmo descuido em duas telas do sistema do despachante (renomear e mover documento) — não toquei: está relatado para vocês decidirem.
v1.16.81 · 🪪 O sistema passa a conferir o CPF — e marca os que estão errados22/08/2026
- 🪪 Julio, com print: *«o que houve com esse cliente que o CPF dele não dá certo»*. O cadastro do ANDRE LUIZ tinha 015.548.441-05, que não é um CPF válido — não fecha na conta do dígito verificador. Ele digitava o CPF verdadeiro no app e o sistema procurava por outro número.
- ⚠️ O buraco era nosso: o cadastro aceitava qualquer número no campo CPF. E aqui o CPF é a chave que o cliente usa para entrar no app e ainda vai impresso em documento oficial — um dígito trocado não dá erro nenhum na hora e só aparece semanas depois.
- ✅ Agora o sistema confere na hora de salvar, ao cadastrar e ao editar. Continua podendo salvar sem CPF (nem todo cliente trouxe o documento); o que não passa mais é CPF preenchido e errado.
- 🔴 E os que já estão errados ficam marcados: na ficha do cliente aparece um selo ⚠️ CPF não confere, ao lado do número, explicando que enquanto estiver assim o cliente não entra no app.
- 🔎 No cadastro do piloto são 6 casos: 2 com CPF que não fecha (ANDRE LUIZ e HENRIQUE ALFREDO) e 4 sem CPF nenhum.
- 🧪 15 verificações novas, com os dois casos reais entre elas, para a conta do dígito nunca mais sair do lugar.
v1.16.80 · 📣 Informes Clientes no menu + o aviso diz QUAL arma e pede a autorização22/08/2026
- 📣 Julio: *«crie também uma ABA no MENU do NOSSO SISTEMA, com o nome “Informes Clientes”… quero que apareça a mesma lista mais o lado técnico: para qual número foi e o que aconteceu… e que seja a mesma mensagem no nosso sistema e nos 2 aplicativos»*.
- 🆕 Menu → Informes Clientes, ao lado de Avisos (Avisos é onde se regula a régua; Informes é o que ela já mandou). Traz tudo que foi avisado, com filtro de “só o que não saiu” e o contador de enviados, sem telefone e falhas.
- 🔁 A mesma mensagem nos três lugares. O texto que sai no WhatsApp passa a ser guardado, e as três telas mostram esse mesmo texto — o do sistema, o da ficha do cliente e o do app dele. Remontar depois daria outro texto: “faltando 15 dias” vira “vencido há 3 dias” na semana seguinte, porque a contagem anda. Como isto é prova, vale o que saiu no dia.
- 🔫 O aviso agora diz QUAL arma: espécie, marca, modelo e calibre. O calibre faltava nas guias de tráfego — duas guias da mesma arma com calibres diferentes ficavam idênticas na mensagem, que é justamente a dúvida que o Julio descreveu.
- 🔒 O número de série continua fora da mensagem. Ele é o identificador único da arma e é o dado mais sensível que guardamos; modelo e calibre bastam para o cliente reconhecer o documento.
- ✅ O fecho mudou de pergunta para pedido: antes terminava em “Quer que a gente já cuide?” — que o cliente responde “depois eu vejo”. Agora diz o que ele precisa fazer e como: responder AUTORIZO. Uma palavra, sem ambiguidade, e que fica registrada na conversa como aceite.
- ⚠️ Falta um passo no banco: a coluna que guarda o texto é a migração `0126`, que ainda não foi aplicada. Até lá a tela mostra o resumo de cada aviso e avisa isso na própria página, em vez de aparecer vazia.
v1.16.79 · 📣 Informes vira a PROVA de que o cliente foi avisado22/08/2026
- 📣 Renato: *«essa página de INFORMES no App do Cliente… deveria ficar apenas os avisos que são enviados a ele por WhatsApp ou e-mail… se ele alegar que não viu a mensagem no zap, o registro nessa página dele é uma prova de que nosso serviço não falhou em avisar»* — e *«deveríamos ter essa ABA Informes dentro da página de cada cliente»*.
- 🔎 Medido antes de mexer: a página não mostrava “tudo que fazemos no sistema” — mostrava as novidades marcadas para o cliente. Só que eram 32, sem limite: ele abria e via uma parede. A percepção estava certa, o mecanismo é que era outro. E o que deveria estar lá não existia em lugar nenhum do app: os avisos realmente enviados.
- 1️⃣ No app do cliente, Informes passou a ser a lista dos avisos que ele recebeu: dia e hora do envio, qual documento e em que etapa (faltando 15 dias, no dia, depois de vencido). As novidades desceram para um bloco com as 3 últimas.
- 2️⃣ No sistema, a ficha de cada cliente ganhou a aba Informes com a mesma lista e mais o lado técnico: o número para onde foi e por que um aviso não saiu.
- ⚠️ “Sem telefone” não é prova de envio — a régua rodou, mas não havia número. Fica marcado em amarelo, separado dos enviados, para ninguém confundir um com o outro numa discussão com o cliente.
- ⏱️ A prova vale de 19/08/2026 em diante — é quando o envio automático entrou no ar. Avisado ao Renato, que respondeu: *«Começa de hoje pra frente»*. As duas telas dizem isso, para o vazio não parecer “nunca avisamos”.
v1.16.78 · 📊 A Cobertura agora diz POR ONDE COMEÇAR22/08/2026
- 📊 Julio: *«veja o que pode melhorar na página COBERTURA… se der melhore, se não der mantenha»*. Fui medir a tela com o seu dado antes de mexer — e o que apareceu explicou o que faltava nela.
- 🔎 O que a medição mostrou: dos seus 96 clientes, 84 têm alguma falta. Ou seja, o filtro “só quem tem falta” mostrava 84 de 96 — ele dizia “tem trabalho”, que você já sabia, mas não dizia por onde começar.
- 1️⃣ A lista agora vem de quem tem MAIS falta para quem tem menos (antes era ordem alfabética). Quem está pior aparece primeiro. Tem um botão para voltar ao A–Z quando você quiser procurar alguém.
- 2️⃣ Cada coluna leva o número embaixo do nome: faltam 55 em GT, 62 em Inscrição, 6 em CR. Você bate o olho e vê qual serviço vender para mais gente de uma vez.
- 3️⃣ Coluna “faltam”, com o total de itens que faltam em cada cliente — vermelho de 5 para cima, amarelo de 3, e “completo” em verde para quem não deve nada.
- 4️⃣ As 32 pastas que ainda não subiram saíram da tabela. Elas já estão listadas no bloco vermelho do topo; repetidas na tabela viravam 32 linhas de 7 ✗ que empurravam para baixo justamente quem tem pasta e falta pouco — o trabalho fino. Um botão traz elas de volta.
- 📱 E no celular a tela mudou de forma: são 11 colunas, e virar cartão daria 11 linhas de ✓/✗ por cliente. Em vez disso o telefone mostra o nome, quantos faltam e quais faltam escrito por extenso — “falta: CR · GT · CTF”. Quando o papel está no sistema mas sem data, aparece “abate (sem data)”, que é coisa diferente de não ter o papel.
v1.16.77 · 🌾 O botão “criar a fazenda deste documento” passa a ler o campo “local”22/08/2026
- 🌾 Julio, sobre os vínculos do IBAMA: *«AUTORIZADO»*. Ao medir as 7 autorizações que dependiam da decisão dele, 3 já traziam o nome da fazenda escrito — só que no campo “local”, que o botão nunca olhava: TOCA DA ONÇA, ESTÂNCIA CALIFÓRNIA e FAZENDA CAÇULA.
- ✅ Agora o botão aparece também nesses casos — a decisão manual cai de 7 para 4. Os 4 que sobram são os que o papel realmente não nomeia (Davires, Shirley, Dulcineia e Júlio César, onde só consta o município).
- 🛑 Município continua NÃO virando fazenda. Nas autorizações de entrada o “local” vem como “Porto dos Gaúchos/MT” — sem palavra de imóvel rural, não passa. Ligar na fazenda errada continua sendo pior que não ligar.
- 🐞 E o teste novo pegou um defeito antigo: a limpeza do nome apagava “de/do/da” no meio — “FAZENDA TOCA DA ONÇA” viraria “FAZENDA TOCA ONÇA” e “Sítio Boa Vista do Sul” viraria “Sítio Boa Vista Sul”. Corrigido: a ligação só sai quando fica solta na ponta.
- 🔎 Conferi as 112 fazendas já cadastradas: nenhuma foi afetada — o defeito estava no caminho que lê o nome do arquivo, e as fazendas de hoje nasceram pelo outro caminho. Correção preventiva, sem estrago a desfazer.
v1.16.76 · 📱 As telas que você mais usa no celular viraram cartão22/08/2026
- 📱 Julio: *«são mais de 3 telas que eu mais uso no celular… quero que todas essas virem cartão. Faça na sequência solicitada»*. Feito, na ordem que você deu.
- ⏰ Prazos — esta não era tabela, era lista: o nome do cliente e o “o que vence” disputavam a mesma linha e os dois ficavam espremidos. Agora a linha se abre — selo do prazo e nome em cima, e o que vence embaixo, na largura inteira.
- 💰 Orçamento — as três tabelas: a lista de orçamentos, a tabela de preços dos serviços e a prévia que o cliente recebe. O rodapé de totais (SUBTOTAL / DESCONTO / TOTAL GERAL) não mudou — ele já traz o próprio nome escrito na linha.
- 🔄 Renovação de CRAF — cada cliente do lote vira um cartão com aniversário, CRAF mais antigo, IN 330, validade do CR e campanha, um embaixo do outro.
- 📲 App do cliente — acesso, convite, se já entrou e último acesso, cada um com seu nome do lado.
- 🗑️ Lixeira — as duas: a de clientes e a de processos.
- ℹ️ Sobre & Ajuda — a página de progressão de nível: os 6 grupos representativos, o modelo do requerimento e os mínimos por nível.
- ✅ Avisos automáticos já tinha ficado pronta ontem. Legislação e Reportar/Chamados não têm tabela nenhuma — elas já se empilham sozinhas no telefone, então não havia o que converter.
- 📅 Uma eu deixei como estava de propósito: a tabelinha “mês de nascimento → renovar até”, em Sobre. São duas colunas curtas que já cabem na tela — virá-la em cartão transformaria 12 linhas em 12 blocos e daria mais rolagem, não menos.
v1.16.75 · 🔗 O botão “Consultar SINARM-CAC” volta a abrir a página de Armas da PF22/08/2026
- 🔗 Julio: *«altere no botão “Consultar SINARM-CAC” o link… por esse novo link de acesso direto na página de armas… para que assim diminua a abertura de páginas que o sistema encaminha hoje»*. Feito.
- 🔎 E ele estava certo — a PF mudou o comportamento do lado dela. Testei os dois endereços hoje: a página de Armas responde normal, e o endereço de login que estava no botão não abre mais o login: ele rebate para a página de serviços da PF. Era exatamente esse rebate que fazia abrir página a mais.
- ↩️ Isto desfaz a troca de 18/08 — e desta vez a decisão está apoiada em medição dos dois endereços, não em tentativa.
- 🔑 O que não mudou: o CPF continua indo junto no link e a extensão preenche sozinha, e o botão de copiar a senha do cofre segue igual.
v1.16.74 · 🔄 CRAF de alteração de acervo: o prazo novo passa a valer21/08/2026
- 🔄 Julio explicou o mecanismo que faltava: *«a duplicidade de CRAF vai acontecer sempre que for uma ALTERAÇÃO DE ACERVO, onde a arma era de Tiro Desportivo e foi transferida para outro acervo do mesmo cliente — no caso foi para a CAÇA. Pode ocorrer o inverso ou até ir para o Colecionador»*.
- ⚠️ O que acontecia: o CRAF reexpedido não traz validade impressa (vale 3 anos da emissão), mas a validade ANTIGA — de 10 anos — continuava gravada e vencia o cálculo. Resultado: emissão de 2026 com validade de 2033, ou seja, prazo 4 anos adiantado.
- ✅ Agora, quando chega CRAF novo sem validade no corpo, a validade velha sai e o cálculo dos 3 anos assume. A regra “a data só anda para frente” continua valendo para renovação normal — ela só não previa papel novo com prazo menor.
- 🔎 Varri as 230 armas: 18 têm mais de um CRAF, e 3 estavam com o prazo adiantado por isso. Listei no grupo para você confirmar antes de eu mexer — prazo de CRAF errado é do tipo que faz perder arma.
v1.16.73 · 👥 Filtro Habilitados × Desabilitados na lista de clientes21/08/2026
- 👥 Julio: *«agora você pode voltar aquele botão na minha página principal de clientes… porém mude os nomes para “Habilitados” e “Desabilitados”»*. Voltou, com três opções: Todos · Habilitados · Desabilitados.
- 🔢 Cada botão mostra a contagem — “Desabilitados (25)” responde antes mesmo do clique.
- 🛡️ O padrão continua sendo Todos. O botão antigo escondia quem não tinha processo em aberto, e você mandou tirar em 19/08 justamente porque decidia sozinho. Este filtra pelo estado que você controla na ficha — e só quando você clica.
- 🔎 A busca continua achando todo mundo, esteja o filtro em que estiver.
v1.16.72 · ⏸️ Cliente bloqueado também para de receber aviso de prazo21/08/2026
- ⏸️ Julio: *«os AVISOS de prazo (WhatsApp/e-mail) de cliente bloqueado deve parar de receber até serem desbloqueados novamente»*. Feito — e nos dois caminhos: o aviso de prazo e o aviso de documento novo anexado.
- 🔑 Um detalhe que muda tudo no “até serem desbloqueados”: o cliente pausado é pulado sem deixar rastro. Se ele apenas sumisse da lista, o aviso cairia no caminho de “sem telefone”, que marca a mensagem como já tratada para não repetir todo dia — e aí, ao desbloquear, aquele aviso nunca mais sairia. Agora ele volta a receber normalmente assim que voltar.
- ✅ Com isso, desabilitar um cliente pausa tudo: sem leitura de IA, sem documento novo, sem app e sem aviso.
v1.16.71 · ⏸️ Cliente bloqueado não usa mais o app21/08/2026
- ⏸️ Julio: *«DESATIVE O USO DE APP PARA QUALQUER UM QUE ESTIVER BLOQUEADO»*. Feito: desabilitar um cliente agora fecha também o app dele. Antes, desabilitar já barrava leitura de IA e documento novo — o app continuava aberto.
- 🔐 Vale para quem já está logado, não só no login. A trava ficou no ponto por onde todo o app do cliente passa, então uma sessão aberta para de funcionar na hora — não fica valendo até expirar.
- 💬 E a mensagem diz o que fazer: “Seu acesso ao app está suspenso no momento. Fale com o seu despachante para reativar” — em vez de “CPF ou senha incorretos”, que mandaria a pessoa corrigir o campo certo sem chance de acertar.
- 📊 Medido antes de mexer: você tem 25 clientes desabilitados hoje, e nenhum deles estava com o app liberado. Ou seja: ninguém foi desconectado agora — isto é trava para daqui em diante.
v1.16.70 · 🚫 A importação agora diz POR QUE recusou — e avisa antes de você perder tempo21/08/2026
- 😤 O caso: Julio subiu 5 CRs, viu o sistema processar, e *«voltei na pasta e realmente não está»*. Os arquivos foram recusados de propósito — aqueles clientes estão desabilitados, e a trava que ele mesmo pediu em 19/08 diz que cliente parado não recebe documento novo. O sistema fez certo; a tela é que não contou.
- 🗣️ O motivo agora aparece. O servidor sempre devolveu a razão (“Fulano está DESABILITADO”), e a tela só somava “N com erro”. Agora ela mostra a lista de motivos, em vermelho, no fim da importação.
- ⏸️ E avisa ANTES: na hora de conferir a pasta, cliente desabilitado ganha uma tarja — “nenhum destes arquivos será guardado” — com o caminho para resolver (habilite, importe, desabilite de novo).
- 🎨 E o título parou de mentir: com zero documentos guardados, o resultado não aparece mais em verde com um ✓ na frente.
v1.16.69 · 🙈 “Documento vencido oculto” virou aviso de verdade, não um link cinza21/08/2026
- 🙈 Julio, três vezes no mesmo dia: *«o botão esconder os vencidos está invertido»*, depois *«CR Luis está escondido pelo filtro de vencidos… onde está isso?»* e por fim *«não sei como tirá-los de onde estão de volta pra pasta»*. Três tropeços no mesmo lugar não é distração de quem usa: é a tela avisando mal.
- 📢 Agora é uma tarja, com a frase inteira: “3 documentos vencidos estão ocultos nesta lista. Eles não sumiram: continuam no cadastro” — com o botão mostrar os vencidos do lado. Antes era um link cinza, fonte 11, encostado na direita.
- 🖥️ Vale nas duas telas onde o filtro existe: Documentos e Propriedades.
- 💬 E a palavra mudou: “ocultos”, não “escondidos” — e a tela agora diz que vencido não é apagado, que era exatamente a dúvida dele.
v1.16.68 · 📜 A data escrita no CR manda — e o Julio pegou isso antes de virar prazo errado21/08/2026
- 🎯 Julio, conferindo a entrega anterior: *«CR do Walter tem data de Validade no Corpo do Documento, portanto não pode ser usada a data do rodapé»*. Ele está certo, e o caso dele prova: o CR do Walter é do modelo antigo, com VALIDADE 01/05/2030 impressa, e a data do rodapé (28/05/2020) daria 28/05/2030 — 27 dias de diferença num documento oficial.
- 📏 A regra passou a ser essa, para todos: o que está escrito no papel vale; o cálculo pela emissão só entra quando a data impressa não serve — ou seja, quando é aquele carimbo de 21/07/2026 (que a IN 322 anulou) ou quando não há data nenhuma.
- 🔔 Dois clientes voltaram a ter prazo: estavam marcados como “CR de 10 anos” e tinham a validade impressa, mas o sistema devolvia “sem prazo” e eles não apareciam em lugar nenhum — Walter (01/05/2030) e Marcos Antônio (17/07/2026, este já vencido e invisível).
- 📅 E três passaram a alarmar na data certa — a impressa, não a calculada: Alexandro (21/07/2032, não 14/02/2032), Cleriston (11/11/2030) e Dirlene (06/05/2030).
- 🧪 7 casos novos travam a regra dos dois lados, inclusive o que não pode mudar: o carimbo do corte continua não valendo, mesmo impresso.
v1.16.67 · 📜 CR sem prazo: a data estava no rodapé do próprio CR21/08/2026
- 📜 Julio: *«verifique… quanto a todos os CR que estão sem data e nos dê motivos e quais as soluções, pois todos deveriam estar com prazo ativado ou dentro das normas da IN que está no sistema»*. Fui ver um por um: de 96 clientes, 26 estavam sem prazo de CR.
- 🔎 O motivo principal (20 dos 26): a validade impressa nesses CRs é 21/07/2026 — aquela data de corte do Decreto 11.615/2023 que a IN 322 anulou. O sistema já sabia que ela não vale e pedia a data de emissão para contar os 10 anos… mas o CR do Exército não tem campo de emissão.
- 💡 E tem sim — no rodapé. A data da assinatura eletrônica (“Cuiabá/MT, 27/04/2022”) é a emissão. Conferi em 35 CRs: dia e mês batem com a validade em 100% deles; só o ano muda conforme o regime (10 anos no antigo, 3 no novo). Não é palpite, é o documento falando.
- ✅ 11 clientes voltaram a ter prazo de CR só com isso, sem custo nenhum de leitura. E daqui pra frente todo CR anexado tem a emissão lida do texto automaticamente.
- 📋 Os 15 que faltam têm motivo, e são seus: 10 não têm o PDF do CR no sistema (é subir o arquivo), 3 estão escaneados (só a IA lê) e 2 têm texto mas sem a linha de assinatura. Mando a lista nominal.
v1.16.66 · 🚪 A autorização de ENTRADA na propriedade também é lida por dentro21/08/2026
- 🚪 O sistema passou a ler a Autorização de Acesso à Propriedade. É o par da autorização de abate: nela o dono da terra autoriza o caçador a entrar. O nome da fazenda está no corpo do documento, e agora sai de lá — de graça, sem IA. Ela não tem vencimento (vale por tempo indeterminado), e o sistema respeita isso.
- 🧼 E aprendi a desconfiar do que leio. Ao testar antes de gravar, o nome da fazenda vinha sujo em vários casos: com a matrícula colada (“Fazenda Damatta Matrícula 6.143 - 67,0309ha”), com pedaço do CAR no fim, e num deles meio documento virou nome, com CPF de duas pessoas dentro. Agora o nome passa por uma peneira: corta onde começa outro campo e recusa o que não tem cara de nome de fazenda.
- 🛑 Documento que cita VÁRIAS fazendas não é vinculado a nenhuma. Quando o dono autoriza a entrada “em minhas propriedades” e lista mais de uma, escolher uma seria chute — esses ficam para você decidir.
v1.16.65 · 🔤 O sistema passou a entender fazenda com nome abreviado21/08/2026
- 🔤 “EST.” e “SIT.” agora contam como Estância e Sítio. Julio: *«são AUTORIZAÇÕES DE ABATE E ESTÃO APENAS COM NOME ABREVIADOS, PORTANTO PODE MUDAR A CATEGORIA E VINCULAR NA PROPRIEDADE»*. Antes o sistema só reconhecia a palavra escrita por extenso, e um arquivo como `COMP.ABATE FAUNA-EST.ROMERO-…` passava batido.
- ✂️ E o nome da fazenda para no primeiro tracinho. Nesse mesmo arquivo, a fazenda sairia como “Romero Ronildo Nv Band” — o nome do dono e a cidade colados na terra. Agora sai Estância Romero, que é o que está escrito.
- 🔗 11 autorizações foram ligadas à fazenda certa só com isso. Sobraram 5 sem fazenda, de 353 que havia hoje de manhã.
- 🛡️ Onde eu parei de propósito: só liguei em fazenda que já existia no seu cadastro. Um dos arquivos (“Faz.-Santo-Antonio-Celio”) criaria a fazenda “Faz. Santo” — o mesmo corte que acerta um nome decepa o outro. Esses ficam para você confirmar: terra é coisa de conferir, não de adivinhar.
v1.16.64 · 📅 O vencido que não sumia — não era o botão, era a data que faltava21/08/2026
- 🔎 Julio achou que o botão “esconder os vencidos” estava invertido. Ele mandou o caso: *«Documento_fauna_invasora_Estancia_Canella_Antonella-DSM_230125A230725.pdf … a data está no arquivo … é documento vencido»*. E ele estava certo no que via — só que a causa era outra: o sistema não sabia que aquele papel tinha vencido.
- 📅 A data estava só no nome, num formato que o sistema não lia. `230125A230725` quer dizer 23/01/25 a 23/07/25 — ano com dois dígitos. O sistema só entendia o formato de quatro (`22012026A21072026`). Sem data, o documento nunca conta como vencido: fica sempre à vista, no meio dos que estão em dia. Não era inversão, era ausência.
- ✅ Agora ele lê os dois formatos e usa a data fim como vencimento — exatamente como você pediu para a autorização de abate.
- 🛡️ O que continua sendo ignorado: seis dígitos soltos no nome (sem o “A” de período). Um número de protocolo viraria data errada, e data errada é pior que data nenhuma — ela geraria prazo e aviso ao seu cliente.
v1.16.63 · 🔧 Renomear e mover também dentro da fazenda21/08/2026
- 🔧 As mesmas ações da página Documentos, agora na página Propriedades. Julio: *«me dê as mesmas opções da página documentos também na página propriedades, pois tenho documentos lá que preciso mover para outro local»*. Cada papel dentro da fazenda ganhou ✏️ renomear (nome e categoria) e 📦 mover — para outra fazenda, para uma arma, para o Arquivo, ou tirando o vínculo.
- 🔎 O painel sabe onde o papel está de verdade: esta página passou a ler também o vínculo com a arma, então não oferece “mandar para a arma” a documento que já está numa — e oferece “tirar do Arquivo” ao que está arquivado.
v1.16.62 · 🌾 A autorização de abate passa a ser lida por dentro — e de graça21/08/2026
- 🌾 O sistema lê o corpo do documento, não o nome do arquivo. Julio: *«leia esse documento internamente na íntegra… sempre leia o campo “LOCAL DE MANEJO: PROPRIEDADE” já descrito no corpo do documento… assim como no campo “PERÍODO” seja lido pelo sistema apenas a data “FIM”… não dependa apenas de ler o nome no título do arquivo, pois a maioria pode não estar descrito no título mas sempre estará descrito no corpo»*. É exatamente o que passa a acontecer.
- 🎯 Sai a fazenda, o prazo e o CAR — exatos. Da tabela “Local(is) do manejo” vem o nome da propriedade (para juntar com os outros papéis da mesma terra) e do “Período” vem só a data FIM, que é o vencimento. O CAR e a cidade vêm junto.
- 💸 E não custa nada. A autorização do IBAMA sai do sistema deles com o texto de verdade dentro do PDF — dá para ler letra por letra, sem pedir palpite para a inteligência artificial. Testado numa amostra real do seu acervo: de 9 autorizações, 8 foram lidas assim, todas certas, R$ 0,00. A 9ª era foto escaneada e seguiu para a IA, como antes.
- 📌 Por que isso importa no seu dia: hoje 297 das 353 autorizações do sistema estão sem fazenda nenhuma — 225 delas porque entraram como arquivo morto (que não é lido). Daqui para a frente, toda autorização que chegar com texto já entra ligada na terra certa.
- 🛡️ O que o sistema NÃO vai adivinhar: nome do proprietário, endereço e matrícula ficam em branco quando lidos por texto. Nesses três campos as colunas chegam emendadas, e todo recorte que testei cortava o nome ou colava o endereço nele. Campo vazio você corrige em 5 segundos; dado oficial errado pode ir parar num processo.
v1.16.61 · 📍 O “JÁ BAIXADO” agora diz ONDE o documento está21/08/2026
- 📍 O selo parou de ser um beco sem saída. Julio: *«PODE fazer o “JÁ BAIXADO” ME dizer ONDE o documento está, na hora… Enquanto ele só disser “já existe”, esse mesmo susto volta com outro papel»*. Agora, embaixo do selo, aparece o endereço do papel: “já no cadastro · na fazenda SÍTIO CAMILA… · vencido em 21/07 · escondido pelo filtro de vencidos”.
- 🗺️ Ele diz o bloco em que o documento está na aba Documentos: na arma (com marca e modelo), na fazenda (com o nome do lote), em “Do cliente” ou no arquivo morto — o mesmo nome que você vê na tela, para você ir direto.
- 👻 E diz por que você não estava vendo: se o papel venceu, a aba esconde. Essa era a origem do susto — o sistema afirmava “já está na página” sobre um documento que a página escondia. Duas verdades sobre o mesmo papel; agora é uma só.
- 📱 O endereço aparece na própria linha, não só na dica que surge ao parar o mouse em cima — no celular ninguém vê dica.
v1.16.60 · 🪪 Documento de identificação não vence mais — e some do sistema o que fazia ele desaparecer21/08/2026
- 🔎 O caso que começou tudo. Julio: *«estou com problemas em relação ao documento CNH CAMILA… eu não achei ele em lugar nenhum… chamei no sistema pra subir de novo e ele não deixa alegando que já está na página. Pergunto: onde está esse documento?»*. Fui ao banco antes de responder: o documento sempre esteve lá. Ele tinha data de validade 16/02/2026, e a aba Documentos esconde os vencidos — some da tela sem dizer nada. Enquanto isso, a trava do importador olha a lista inteira (inclusive o escondido) e avisa “JÁ BAIXADO”. A tela e a trava discordavam, e você ficava no meio.
- 🪪 Documento de identificação não guarda mais data de vencimento — nem do cliente, nem do autorizante, nem de terceiro. Julio: *«retire datas de vencimento de qualquer CNH, RG, CPF, documento de identificação do cliente o terceiro»*. Vale para CNH, RG, CPF, título de eleitor, certidão civil, carteira funcional/de classe, CNH e identidade do autorizante e RG/CNH de terceiro. Da sua CNH interessa a emissão, não o vencimento: quando a habilitação vence é problema do detran, não do despachante.
- 🧹 Limpei o que já estava gravado: 5 documentos tinham data de vencimento guardada (3 CNH e 2 CNH de autorizante). Nenhum deles chegou a virar prazo — a trava de aviso já existia desde julho —, mas a data bastava para o papel ganhar o selo 📅 vermelho e sumir da aba.
- 🔒 E travei os caminhos de volta: upload pela ficha, importação de pasta, leitura por IA e troca de categoria. Trocar um documento para CNH agora apaga a data junto — antes ele ficaria vencido para sempre, invisível na tela.
- 🌾 A CNH da CAMILA foi para o lugar certo: categoria “CNH do Autorizante (IBAMA)” e vinculada ao SÍTIO CAMILA – LOTE 415, como Julio confirmou. Estava como CNH pessoal da Dulcineia e sem fazenda, por isso não aparecia junto do lote.
v1.16.59 · ⚖️ Quando você aponta a fazenda, vale o seu dedo — e mais telas em cartão21/08/2026
- ⚖️ O vínculo que VOCÊ faz agora ganha da categoria. Julio: *«nem toda categoria está aceitando enviar para uma fazenda… nesse caso poderia ser RG terceiro ou Doc. Identif. Autorizante»*. Medi antes: o vínculo era gravado — o documento é que sumia, porque a tela agrupava só pela categoria. O RG da autorizante ficava com a fazenda no banco e aparecia em “De terceiros”. Para quem usa, isso é “não aceitou”.
- 🧭 A regra ficou clara: a categoria diz onde o papel *deveria* estar; o vínculo diz onde ele *está*. Quando você aponta a fazenda com o dedo, você sabe mais do que a etiqueta.
- 🆔 Categoria nova: “Documento de identificação do Autorizante (RG/CPF)”. Existia só a CNH do autorizante — quando ele se identifica por RG/CPF não havia onde encaixar.
- 📱 Mais telas viram cartão no celular: Armas (catálogo e acervo), Documentos, Terceiros e o histórico de Avisos.
v1.16.58 · 📱 Processos e Financeiro viram cartão no celular21/08/2026
- 📱 No celular, cada linha vira um cartão — começando por onde você mandou: *«comece por processos e financeiro do cliente»*. Entraram a lista de Processos, a página de Cobranças e, na ficha do cliente, as abas Processos e Financeiro (com o extrato de crédito em haver).
- 🏷️ Cada dado vem com o nome dele. É isso que faz o cartão valer a pena: em vez de *«12/07/2026 · GT de Caça · 350,00»* solto, aparece Data do pedido, Serviço, Valor. Sem essa etiqueta o cartão fica pior do que a rolagem lateral que ele substitui — por isso não dá para sair marcando tabela sem marcar coluna por coluna.
- 🖥️ No computador nada muda: continua tabela, com as mesmas colunas na mesma ordem que você aprovou em 11/08.
- 🧪 Travado por teste: quem marcar a tabela e esquecer as etiquetas não passa.
v1.16.57 · 🔧 O “mover” voltou a funcionar — e a categoria foi para o “renomear”21/08/2026
- 🔧 O “📦 mover” estava quebrado e a culpa era minha. Julio: *«continua sem funcionar o MOVER documentos»*. Ontem eu pus um efeito de vidro (`backdrop-filter`) na célula da tabela — e esse efeito prende painéis que se posicionam pela tela. O painel abria fora da tela. Botão que não mostra nada é botão quebrado.
- 🛡️ Consertado em dois níveis: o vidro saiu da célula (o fundo translúcido já dava o efeito) e o painel passou a ser desenhado por fora de tudo. Assim nenhum enfeite futuro pode prendê-lo de novo — este painel já quebrou de cinco jeitos diferentes desde julho.
- 🏷️ A categoria mudou de botão, para onde você foi procurá-la. *«O RENOMEAR só permite renomear nome do arquivo e não da Categoria»* — agora o ✏️ renomear abre com nome e categoria juntos. A divisão ficou: renomear = o que o documento É · mover = onde ele VIVE (arma, fazenda, arquivo).
- ✏️ O renomear deixou de ser aquela janelinha do navegador e virou painel de verdade, com os dois campos à vista.
v1.16.56 · 🏛️ O balão virou padrão do sistema inteiro — e a palavra parou de quebrar no celular21/08/2026
- 🏛️ O balão deixou de ser exceção e virou o padrão. Julio: *«repita a mesma coisa em todas as páginas que precisarem, tanto no sistema quanto nos 2 app… vamos padronizar os Apps para que fiquem com o mesmo visual do sistema, o que arrumarmos aqui no sistema já fica determinado arrumar também nos 2 app»*.
- 📐 Por que no CSS e não tela a tela: são 78 tabelas em 50 arquivos. Marcar uma a uma resolveria hoje e garantiria que a *próxima* nascesse fora do padrão. Agora toda tabela nasce com balão — e quem precisar do formato antigo pede (`tab-linhas`).
- 📱 A palavra parou de ser partida no meio. *«Que não fique quebrando linhas de palavras ou com palavras remontadas na vertical como tem hoje nos apps»* — era isso mesmo: no celular a coluna fica estreita e a regra que eu tinha posto quebrava a palavra em qualquer letra. Agora, no telefone, só quebra a palavra que não cabe sozinha; no computador a regra antiga fica, porque é ela que impede a tabela de estourar o quadro.
- 🫧 No app do cliente, cada processo e cada documento dele também viraram balão — a lista era separada por um risco de 1px.
- 🖨️ Na impressão o balão some e volta a ser tabela: fundo por célula gasta tinta e o espaçamento desperdiça folha.
v1.16.55 · 🔁 Mover documento agora é ida E volta — inclusive trocar a categoria21/08/2026
- 🔁 O “📦 mover” virou o painel de verdade. Julio: *«esse botão mover o documento não está funcionando e ele realmente está no campo errado. Como eu posso remanejar, movimentar, mover documentos que estão em campos errados, sem ter de excluir e recolocá-los?»*.
- 🔍 Por que parecia quebrado: ele só oferecia destino para o que faltava. Documento da pessoa (CR, CNH, CTF — os do seu print) não tinha nada a oferecer, e documento já ligado, mesmo no lugar errado, também não. Nos dois casos abria mostrando só “mandar para o Arquivo”. Você estava certo: só existia o caminho de ida.
- 🔫🌾 Agora dá para trocar e para TIRAR. Cada vínculo tem a saída “— TIRAR desta arma / desta fazenda —”, e trocar de fazenda é escolher outra e clicar em ir. Sem excluir e subir de novo — o que fazia perder validade, vínculo e histórico junto.
- 🏷️ Trocar a CATEGORIA, que não existia. *«Como eu posso renomear a categoria de documentos que estão em categorias erradas?»* — agora tem, no mesmo painel. Importante: a troca não desfaz o vínculo que existe; se a categoria nova apontar para outro lugar, o painel avisa e deixa você decidir. Desligar sozinho seria adivinhar.
- 📁 Respondendo à sua última pergunta: mandar para o Arquivo mantém o vínculo com a fazenda ou a arma. Ele só sai da lista de ativos e deixa de gerar prazo — o papel continua ligado onde estava, e volta com um clique. Isso já era assim; agora está escrito na tela e travado por teste.
- 🛡️ Desligar continua sendo escolha explícita: deixar o seletor vazio não desliga nada. Só o item “TIRAR” tira — porque desligar por engano é pior do que não desligar.
v1.16.54 · 🫧 Cada documento virou um balão, com vidro e respiro20/08/2026
- 🫧 Cada documento agora é um balão, com fundo próprio, borda e espaço entre um e outro. Renato: *«precisa ter uma separação visível entre um documento e outro, para não causar falha na leitura e identificação — dê um efeito glass e deixe uma separação mínima entre os balões»*.
- 🔍 Isso explica o «texto sobreposto» que a gente vinha tratando como largura de coluna. Não era: o olho não achava onde um documento termina e o outro começa. Numa lista de 40 papéis, uma linha tracejada de 1px não separa nada — ela some.
- 🪟 Vidro leve, de propósito. O mesmo material dos cartões, mas sem a sombra forte: multiplicada por 40 linhas, ela viraria a poluição que você pediu para evitar no radar.
- 🎨 Funciona nos dois temas (claro e escuro) sem nenhuma cor fixa — o balão usa os mesmos tokens do resto do sistema.
- 📱 No celular nada muda: ali cada linha já virava um cartão com margem desde 11/08. Balão em cima disso seria cartão dentro de cartão.
v1.16.53 · ⬇️ Todo download sai com a extensão certa (e ganha o botão “ver”)20/08/2026
- ⬇️ O arquivo baixado sempre tem extensão. Julio: *«o botão baixar esse arquivo sem nome e só codificado é baixado em arquivo que não abre… todo baixar documento deve ser vinculado em baixar como extensão .pdf»*.
- 🔎 Medido antes de mexer: 1.933 documentos vivos, 38 com caminho sem extensão e 1 em que o download realmente saía sem — um CRAF que entrou pela extensão de navegador em 12/07, quando aquela porta ainda não dava nome bonito ao arquivo. O nome era um código e o caminho não tinha ponto nenhum: o Windows recebia um arquivo sem sobrenome e não sabia com o que abrir.
- 🧾 O conserto já estava na linha: todo documento guarda o tipo do arquivo (`application/pdf`). Agora ele é a segunda fonte da extensão — o caminho continua mandando quando tem, e o tipo entra quando o caminho se cala.
- 👁️ O mesmo documento ganhou o botão “ver”. Ele decidia só pelo caminho, então nesse caso sobrava um “baixar” que produzia arquivo quebrado — exatamente o que apareceu na tela.
- 🛡️ Sem chute: tipo desconhecido não vira `.pdf` forçado. Renomear um JPEG para `.pdf` seria trocar um arquivo que não abre por um que abre errado.
v1.16.52 · 🔗 “Esperando fazenda” ganhou o botão de vincular20/08/2026
- 🔗 Dá para ligar o arquivo à fazenda ali mesmo. Julio, com print: *«está faltando o botão vincular fazenda/propriedade em todos esses documentos»*. Certíssimo: as autorizações tinham o seletor, os arquivos só tinham ver/baixar — a tela nova trouxe o problema para a vista sem trazer a saída junto.
- 🌾 Cada linha tem as duas saídas: escolher a fazenda na lista, ou “ler e criar a fazenda deste documento” quando ela ainda não existe. É o mesmo painel da aba Documentos, com tudo o que ele já aprendeu — inclusive não oferecer “ligar todos na única” quando há vários papéis (com 8 papéis de 3 fazendas, 6 iriam para a terra errada).
- 👁️ Ver e baixar continuam na mesma linha — quem vai dizer de qual fazenda é o papel precisa poder abrir o papel antes de decidir.
- 📝 Texto corrigido: o painel dizia que esses documentos *«não aparecem na aba Propriedades»*. Desde ontem à noite aparecem.
v1.16.51 · 🌾 Cada fazenda com tudo o que é dela — e só os leitores no fim20/08/2026
- 🌾 A aba Propriedades virou um bloco por fazenda, com tudo dentro. Julio: *«o CAR e as Autorizações de Abate também devem entrar junto das colunas de cada propriedade a que pertencem… no final dessa página propriedades vai ficar apenas os leitores OCR»*.
- 🧩 Eram três listas paralelas na mesma aba — a tabela de fazendas, as autorizações em lista corrida e os papéis por fazenda. Quem ia mexer numa propriedade tinha de olhar em três lugares e casar na cabeça. Agora cada fazenda mostra os dados dela (CAR, matrícula, cidade, área), as autorizações com prazo e os arquivos, um embaixo do outro.
- 🪪 CTF e inscrição do IBAMA num bloco só, no fim — decisão sua: são da pessoa e valem para todas as fazendas. Repetir dentro de cada uma faria parecer que são vários CTFs diferentes.
- 📍 A Autorização de Entrada passou a ser da FAZENDA (antes caía junto do CTF). Você tem razão: ela é justamente o papel que nomeia a propriedade — é o único que identifica a fazenda sem ter validade.
- ⚠️ Bloco “Esperando fazenda”, em vermelho: papel de propriedade que não está em nenhuma. Ele não aparece na fazenda de ninguém e o prazo dele não se liga a nada. Medido hoje: das 80 autorizações que são de fazenda, 50 estão soltas — e 41 delas resolvem com um clique, porque o próprio papel traz o nome da propriedade.
- 📷 No fim da página, só as ferramentas de adicionar — leitura por OCR, outro documento da propriedade e cadastro manual da fazenda.
- 🔢 Um contador de vencidos só para a aba. Eram dois, cada um contando a sua metade: a mesma tela mostrava dois números diferentes.
v1.16.50 · 📱 O app do cliente também vem organizado — e o texto parou de se sobrepor20/08/2026
- 📱 O app do cliente ficou organizado igual ao painel. Julio: *«no App do cliente também vai estar mostrando de forma organizada, como vc já fez no sistema?»*. Era lista corrida por data de anexo — agora vem por arma, por fazenda e depois os pessoais.
- 🪞 É espelho, e só isso. Regra dele: *«cliente não liga nada em app, quem liga é o despachante no sistema… ele tem no app a opção de ver e baixar e nada mais»*. Nenhum botão de ação entrou, e o que ainda não está vinculado aparece como 📁 Outros documentos, sem alarme — o aviso vermelho é a sua lista de trabalho, não a dele.
- 👁️ Vencido não some no app do cliente (some no seu). Lá o papel é do dono: esconder o que venceu do próprio dono é o oposto de avisar. Ele vê, com o selo dizendo que venceu.
- 🪟 A coluna abriu mais ainda (de 24 para 36px de cada lado) — e a sobreposição de texto que você viu não era falta de espaço: era um CAR de 40 caracteres e um nome de arquivo de 70 que não quebravam. A célula não conseguia encolher, a tabela passava da largura do card e o texto ia por cima do vizinho. Agora quebra, e o espaço a mais virou respiro de verdade.
- 🧩 A regra de como os documentos se organizam virou peça única (`blocos-documentos.ts`), usada pelas duas telas. Duas telas com a mesma regra escrita duas vezes divergem — é só questão de tempo. De quebra, a ordem que você aprovou ganhou teste de comportamento (801 verificações).
- 🔢 Corrigido: o bloco *Esperando vínculo* mostrava a contagem duas vezes (*«(3) (3)»*).
v1.16.49 · 🪟 Colunas mais soltas em Propriedades e Documentos20/08/2026
- 🪟 O espaço entre as colunas dobrou nas abas Propriedades e Documentos. Julio: *«só deveríamos dar um espaçamento maior entre as colunas e não entre linhas… do jeito que está ainda parece estar tudo junto agrupado»*.
- 📏 A conta é literal: entre duas colunas havia 12px de cada lado (24px no total); agora são 24px de cada lado — 48px, o dobro exato.
- ↕️ A altura da linha não mudou, de propósito: era o outro lado do pedido (*«deixe as linhas como estão»*). Linha mais alta significaria menos documentos por tela — o contrário do que ele quer.
- 🔖 O selo de validade desgrudou do nome do arquivo, e o mesmo respiro vale para a lista de papéis do IBAMA, que não é tabela.
- 📱 No celular nada muda: ali a tabela vira cartão e cada coluna já ocupa a sua própria linha — em cartão não existe coluna para afastar.
v1.16.48 · 📡 Radar mais cheio: 6 nomes no ar em vez de 320/08/2026
- 📡 O radar mostra o DOBRO de nomes ao mesmo tempo. Era 1 por anel (3 no ar); agora são 6 no painel do despachante e 7 no app do cliente — sem sobreposição.
- 📐 A conta, para você conferir: cada anel é uma volta. Numa volta cabem *(circunferência ÷ largura do nome + respiro)* nomes. No círculo de 208px isso dá 1 no anel de 7 dias, 2 no de 21 e 3 no de 30. O anel de fora é maior, então cabe mais gente nele.
- 📱 O número não é fixo, e isso é de propósito: o radar do cliente estica conforme a tela (230px no telefone, até 340px no tablet). A conta usa sempre o menor tamanho — cravar um número encheria de texto sobreposto justamente o aparelho pequeno, que é onde o cliente olha.
- 🎯 Os nomes do mesmo anel saem espalhados pela volta (360° ÷ quantidade), não sorteados. Dois sorteios podem cair lado a lado e se cruzar — espalhar garante que não.
- 🛡️ Com teto de segurança: no máximo 4 por anel. Acima disso o texto é horizontal e o anel é redondo, e mesmo com ângulo sobrando os nomes começam a se cruzar.
v1.16.47 · 📑 Documentos em blocos: o que falta vincular vem primeiro20/08/2026
- 📑 A aba Documentos agora vem em blocos, do jeito que você desenhou: ⚠️ esperando vínculo no topo, depois 🔫 cada arma, depois 🌾 cada fazenda, e por fim 👤 os documentos pessoais.
- 🎯 O bloco do topo é a sua lista de trabalho: documento de arma ou de fazenda que ainda não está em nenhuma — e que, por isso, não vira prazo. Fica em vermelho, na frente de tudo, em vez de escondido no meio de trinta linhas.
- 🙈 Vencidos escondidos aqui também, com o mesmo botão de mostrar/esconder da aba Propriedades.
- 🔫 Cada arma aparece com o CRAF e a GT dela juntos; cada fazenda com o CAR, a autorização e a CNH do autorizante. Numa ficha de 31 documentos, a diferença é achar em segundos em vez de procurar.
v1.16.46 · 🗂️ Papéis do IBAMA separados por fazenda, e vencidos fora da vista20/08/2026
- 🗂️ Os papéis do IBAMA agora ficam separados POR FAZENDA. Julio: *«se estamos vinculando documentos de uma determinada fazenda, então a página precisa separar e organizar esses documentos conforme vínculos feito, senão não faz sentido vincular»*. Argumento certo — vincular sem separar não serve para nada.
- 📚 Cada fazenda ganha o seu bloco, na ordem da página, e o que é da pessoa (CTF, inscrição) fica num bloco à parte no fim. Numa ficha com 17 papéis de 3 fazendas, a diferença é enorme.
- 🙈 Documento vencido sai da vista — e volta com um clique. *«ESCONDA TODO DOCUMENTO VENCIDO, PORÉM, COM FILTRO DE PUXÁ-LOS DE VOLTA SE PRECISO FOR»*. É exatamente isso: um botão “mostrar N vencidos” no topo do card.
- 🔒 Esconder não é apagar. Nada sai do sistema: o histórico continua inteiro, porque é ele que prova o que já houve. O filtro só muda o que a tela mostra.
v1.16.45 · 🔗 O botão “ligar” não desliga mais — e CAR/CNH do autorizante vão para a fazenda20/08/2026
- 🔗 O botão “ligar” não desliga mais. Julio: *«ao clicar em ligar… simplesmente apaga a fazenda e não vincula nada»*. Era isso mesmo: o botão mandava o que estivesse no seletor — se ele estivesse em *«— sem propriedade —»*, o clique apagava o vínculo, calado. Agora, sem fazenda escolhida, ele não faz nada.
- 🗑️ E desfazer virou escolha explícita: quem já tem fazenda ganha a opção *«— TIRAR desta fazenda —»* na lista. Tirar é uma decisão, não o efeito de clicar no botão errado.
- 🌾 CAR e CNH do autorizante agora vão para a fazenda, como você pediu — a CNH de quem autoriza a caça é documento da terra, não do cliente. O comprovante do SIMAF entrou junto.
- 🪪 O CTF e a inscrição do IBAMA continuam sendo da PESSOA — eles não pertencem a nenhuma fazenda. Tentei mover a inscrição junto e o teste do sistema reprovou, lembrando de uma decisão anterior. Rede funcionando.
v1.16.44 · 🌾 Cada documento cria a SUA fazenda — não a primeira que apareceu20/08/2026
- 🌾 “Ler e criar a fazenda” agora existe em TODA linha. Julio: *«o sistema me deu opção de ler e criar fazenda em cada uma dessas autorizações e são 3 fazendas… eu li a primeira e ela apagou todas as outras leituras»*. Ele estava certo: o botão só aparecia enquanto o cliente não tinha nenhuma fazenda — bastava criar a primeira para as outras linhas perderem a opção.
- ⚠️ E o atalho “ligar todos à única fazenda” era perigoso. Com 8 papéis de três fazendas diferentes e uma só cadastrada, um clique mandaria os 8 para ela — 6 ficariam na terra errada. Agora esse atalho só aparece quando há um documento solto; com mais de um, o caminho é ler cada um.
- 🧠 A frase da tela mudou junto: ter uma fazenda cadastrada não quer dizer que os outros papéis sejam dela. Vínculo errado vira documento oficial errado.
v1.16.43 · 🔄 CTF novo substitui o antigo (mesmo com o antigo ainda válido)20/08/2026
- 🔄 CTF novo agora SUBSTITUI o antigo. Julio: *«coloquei um CTF IBAMA novo hoje e o velho ainda está contando prazo e não foi substituído pelo novo… está no radar o prazo antigo ainda»*. Ele estava certo — e o cliente chegou a receber WhatsApp de um prazo já resolvido.
- 🧠 Por que a regra de ontem não pegava: ela escondia o documento velho depois que ele vencia. Aqui o velho ainda valia (faltavam 6 dias) e mesmo assim já tinha sido substituído. São coisas diferentes: *coberto* é o vencido com substituto; *superado* é o novo tomando o lugar do que ainda vale.
- 🪪 Vale só para o CTF/CR-IBAMA, que é registro da pessoa — ninguém tem dois valendo. Autorização de abate não entra: um cliente pode ter várias vigentes ao mesmo tempo, uma por fazenda, e apagar isso sumiria com prazo de verdade.
- 📉 Efeito imediato: 8 prazos de CTF que estavam duplicados na lista deixam de contar — inclusive o do caso relatado.
v1.16.42 · 🔫 Reler um CRAF para CADASTRAR a arma, mesmo com a data já preenchida20/08/2026
- 🔫 Quando o CRAF é de uma arma que ainda não está no acervo, agora dá para relê-lo mesmo que a data dele já esteja no cadastro — porque o que falta ali não é a data, é a arma.
- 🧹 Antes esses documentos ficavam presos no painel de "documentos de arma que não estão em nenhuma arma": a releitura os pulava por já saber a data, e eles nunca saíam de lá.
v1.16.41 · 🔐 Custo de bastidor sai das telas do despachante20/08/2026
- 🔐 O sistema não fala mais de custo de leitura com você. Você contrata o FattoCAC por mensalidade — quanto a leitura automática custa nos bastidores é conta nossa, não sua, e não muda nada no que você faz.
- 🧹 O que saiu das telas: o valor em reais que aparecia antes de mandar ler uma pasta. No lugar ficou o que interessa: quantos documentos entram na leitura, que é o tamanho do trabalho.
- 🗣️ E a mensagem de indisponibilidade ficou honesta e curta: diz que a leitura está temporariamente indisponível, que não é problema do seu documento, que nada foi perdido e o que dá para fazer enquanto isso.
- 🧾 Continua tudo à mostra onde é o SEU dinheiro: cobranças, orçamento, descontos, caixa e crédito em haver seguem exatamente como estão. A regra vale só para o custo interno da Fatto.
v1.16.40 · 🗣️ A leitura de documentos avisa direito quando está indisponível20/08/2026
- 🗣️ Quando a leitura automática não estiver disponível, a mensagem passa a dizer isso com todas as letras — antes aparecia só um código técnico, que não dizia nada e ainda dava a impressão de que o problema era o seu documento.
- ✅ A mensagem agora deixa claro três coisas: que é indisponibilidade temporária, que não é problema do seu arquivo, e que nada foi perdido — o documento continua salvo e você pode preencher os campos à mão enquanto isso.
- 🔧 Diagnóstico interno melhorado junto: o motivo exato de uma recusa passa a ficar registrado para a equipe da Fatto resolver rápido, em vez de se perder.
v1.16.39 · 👁️ Falha de leitura deixa de sumir sem explicação20/08/2026
- 👁️ Quando a leitura automática falhava, o motivo exato se perdia — ficava registrada só a frase genérica, e nem o log guardava o que tinha acontecido de verdade.
- 🔎 Agora o motivo é guardado em dois lugares para a equipe da Fatto, o que encurta muito o tempo até o conserto.
- 📌 Nada muda para você no dia a dia — é instrumentação interna.
v1.16.38 · 🤖 Ler o CRAF e cadastrar a arma, no lugar onde o problema aparece20/08/2026
- 🤖 Botão novo: “ler e cadastrar a arma”, dentro do painel de documentos soltos. Para um CRAF de arma que ainda não está no acervo, ele lê o papel e cadastra a arma com série, marca e calibre — em vez de você ter que escolher uma arma parecida na lista.
- 🧭 Por que faltava: na versão anterior eu corrigi o rótulo (a tela chamava CRAF de GT) e escrevi um aviso dizendo *«use “ler a data”»*. Só que esse botão não existe nessa tela. Julio voltou com o print do painel já corrigido: *«ainda estou com mesmo problema»* — e estava certo. Conselho numa tela e ação em outra é o mesmo que conselho nenhum.
- 🎯 Agora a saída está onde o problema aparece: o CRAF da carabina do Sidney tem série NWA4802485 e a única arma no acervo dele é um revólver de série ADA891883 — arma diferente. Um clique resolve, sem forçar vínculo errado.
v1.16.37 · 🏷️ A tela chamava CRAF de GT — e empurrava para o vínculo errado20/08/2026
- 🏷️ A tela chamava CRAF de GT. Julio: *«Tem um CRAF MANUAL que está sendo lido como GT pedindo pra vincular arma… SIDNEY Pacheco Lemes»*. Conferido no banco: não houve erro de leitura — o documento está gravado como CRAF. Quem errava era o painel, que passou a cobrir CRAF em 03/08 e ficou com todos os textos escritos «GT».
- ⚖️ Por que isso não é implicância de redação: aqui se trabalha com documento legal. Quando a tela chama um papel pelo nome de outro, ela deixa de ser confiável — e o operador passa a duvidar até do que está certo.
- 🔫 E o caso do Sidney revelou coisa pior: ele tem dois CRAFs soltos (uma carabina e uma pistola) e uma arma no acervo (um revólver). A tela só oferecia «escolha a arma da lista» — que ligaria o papel de uma arma à ficha de outra. Isso é pior do que deixar solto: vira dado legal errado com cara de resolvido.
- ✅ Agora o painel avisa o caminho certo: quando o CRAF é de arma que ainda não está no acervo, use «ler a data» — o CRAF cadastra a arma sozinho, com série, marca e calibre corretos.
v1.16.36 · 🏷️ O selo do ALERTA FINAL não quebra mais no celular20/08/2026
- 🏷️ O selo do ALERTA FINAL estava quebrando no celular. Renato mandou o print: virava uma pílula estreita e alta, lendo *«ALERT / A / FINAL / · / 2»* — uma palavra por linha, e a própria palavra ALERTA partida no meio.
- 🧩 Causa: o selo dividia a largura com o texto ao lado, e o navegador espremia até ele caber em uns 40 pixels. Selo é rótulo curto: quando quebra, vira mancha ilegível em vez de informação.
- ✅ Conserto em dois pontos: nenhum selo do sistema quebra mais linha, e o do radar deixou de ser espremido pelo texto vizinho — ele tem tamanho próprio agora.
- 🧭 É a mesma família do defeito de hoje de manhã na lista de Documentos, que quebrava o nome do arquivo uma letra por linha: elemento de largura fixa espremido numa tela estreita. Nas tabelas em modo cartão o conteúdo continua podendo quebrar — lá sobra largura e quebrar é o certo.
v1.16.35 · 📏 O convite do App cabe sem o "Ler mais"20/08/2026
- 📏 O convite do App do Cliente cabe inteiro na tela agora. Julio, com print: *«diminua alguns espaços entre linhas… fazendo com que todo o texto caiba na mensagem sem ele ter que abrir o …LER MAIS…»*. Era 953 caracteres e o WhatsApp corta perto de 700 — agora são 618.
- ✂️ O que saiu foi repetição, não informação: «nosso cliente especial», «não perca tempo», «pelo celular ou computador» e as linhas em branco entre os benefícios. Link, CPF, os três benefícios e o aviso da senha continuam lá.
- 🔑 A senha segue em mensagem separada, em linha única — como você pediu, para o cliente copiar de uma vez.
- 🧪 E ficou travado: o teste agora reprova qualquer mudança que faça a mensagem passar de 700 caracteres, com folga para nome de assessoria maior. O «Ler mais» escondia justamente o link e o CPF — as duas coisas que o cliente precisa para entrar.
v1.16.34 · 📲 App do Cliente: o sistema acusava envio que nunca houve20/08/2026
- 📲 O que acontecia: ao enviar o App do Cliente pela primeira vez, o sistema avisava que *«a senha que você já mandou vai parar de funcionar»* — mesmo em cliente novo, que nunca recebeu nada. Julio: *«é a primeira vez que estou enviando… está tendo conflito na mensagem»*.
- 🔍 A tela se contradizia: no mesmo lugar apareciam *«convite ainda NÃO enviado»*, *«o cliente NUNCA entrou»* e o aviso dizendo que a senha já mandada ia parar de funcionar. Medido no caso real (CLERISTON): um único registro de acesso, criado no mesmo segundo, e nenhum convite enviado.
- 🧩 A causa: a trava olhava só *«gerou o acesso há pouco»* e nunca perguntava se alguma senha chegou ao cliente. Sem convite enviado e sem primeiro acesso, não existe senha na mão de ninguém para invalidar.
- ✅ O conserto: a confirmação só aparece quando há o que perder — convite já enviado ou cliente já entrou. Em cliente novo, o envio acontece direto.
- 🚧 Por que isso virava um beco: ele clicava, era acusado, cancelava — e nada acontecia. Na tentativa seguinte, dentro dos 5 minutos, a mesma acusação. O convite só sairia se ele esperasse o relógio.
v1.16.33 · 📮 Três mensagens por prazo — e a última avisa do risco de apreensão20/08/2026
- 📮 Regra do Julio: *«o envio de mensagens vai ser apenas 3 x ....uma 15 dias antes de vencer o prazo final e a outra, 7 dias antes de vencer e depois de vencido 5 dias»*. São esses três momentos, e só eles — para todos os tipos (CR, CRAF, GT, IBAMA).
- 🚨 A terceira mensagem fala grosso, como ele pediu: *«depois de 5 dias vencido com alerta de perigo de apreensão e de problemas»*. O texto agora diz que documento vencido pode levar à APREENSÃO da arma — em vez de perguntar educadamente se quer renovar, que é pergunta para quem ainda tem prazo.
- 📝 E fica registrado: *«se a pessoa não quiser problema é dela e fica marcado que tu mandou msg»*. Cada envio grava data, telefone e qual documento — já era assim, e agora esse registro tem valor de prova.
- ⚙️ A régua virou sua, não minha. A tela de Avisos passou a ter os três campos com o nome do que eles são (*1º aviso — dias antes*, *2º aviso — dias antes*, *3º aviso — dias depois de vencido*), cada um com liga/desliga. Os rótulos antigos diziam «90d», «60d», «30d» e já não eram verdade. Mudou de ideia? Muda na tela e vale no disparo seguinte.
- 🔎 Simulado nos 540 prazos antes de subir: amanhã saem 8 mensagens, cobrindo 32 prazos — quem tem vários documentos vencidos recebe uma mensagem com todos. E vencido há mais tempo continua fora, como decidido em 17/08.
v1.16.32 · 📪 Duas mensagens por prazo: 10 dias antes e 1 dia depois20/08/2026
- 📪 Regra do Julio, lendo o changelog da versão anterior: *«o envio de mensagens vai ser apenas 2 x ....uma 10 dias antes de vencer o prazo final e a outra 1 dia depois de vencido»*. É exatamente isso agora — duas mensagens por prazo, nunca mais que isso.
- 📉 O que muda: antes o CRAF avisava a 30 dias e os documentos a 7. Agora tudo avisa a 10 dias, e o reforço saiu de "5 a 9 dias de atraso" para 1 dia depois de vencer.
- 🔎 Simulado com os 540 prazos reais antes de subir: amanhã sairiam 4 mensagens — um CRAF que vence em 8 dias e três documentos vencidos há 2 e 3 dias. Nada de disparo em massa.
- 🛑 A trava de 17/08 continua: documento vencido há meses não vira mensagem. O reforço alcança só de 1 a 3 dias de atraso — os 3 dias existem para o aviso não se perder se o disparo falhar num dia, e a marcação garante que sai uma vez só.
- 📌 O CTF/CR do IBAMA entrou na mesma régua. Ele tinha regra própria (avisava no dia do vencimento) — não faria sentido um tipo avisar em momento diferente de todo o resto.
v1.16.31 · 🔎 A arma escrita no MOTIVO vira vínculo de verdade20/08/2026
- 🔎 A ideia foi do Julio e valeu por todas: *«no processo tem o nome da arma no campo MOTIVO e assim vc vincula a arma que estiver nesse campo… essa é a mais importante»*. Estava certo: de 281 processos sem vínculo, 260 tinham esse campo preenchido — e o que estava lá era a arma, escrita à mão.
- 🔗 +140 vínculos recuperados. A cobertura dos processos de arma foi de 13 para 224 — de 4% para 61% — sem ninguém digitar nada.
- ✍️ Ele lê texto humano, com o ruído que texto humano tem: *«GRU CAÇA JUARA CARABINA .44»* achou a Rossi Puma .44; *«Carabina Puyma .44»* achou a mesma arma apesar do erro de digitação; *«transferir rifle .22 do Beltramelo»* entendeu que rifle é carabina.
- 🛑 E ele se recusa a chutar. Se o motivo diz «CARABINA .44» e o cliente tem duas carabinas .44, fica para o operador. Arma é dado legal: vincular a errada é pior do que deixar em branco, porque cria uma certeza falsa que ninguém reconfere.
- 📋 As 141 que sobraram vieram com o porquê: 54 de clientes sem nenhuma arma cadastrada, 50 com motivo que não identifica arma, 21 sem motivo e 16 ambíguas. O relatório mostra o texto escrito em cada uma, para resolver pela lista em vez de abrir processo por processo.
v1.16.30 · 🔫 A arma no card do Kanban — e processo de arma exige arma20/08/2026
- 🔫 A arma agora aparece no card do Kanban. Julio: *«esse vínculo precisa aparecer NOME DA ARMA NO PROCESSO NO KANBAN ..POR ISSO EU NAO VINCULO... EU COLO A PUNHO... EU TENHO QUE SABER A ARMA QUE TO FAZENDO»*. Ele estava certo: o vínculo existia no banco e não aparecia em lugar nenhum onde ele trabalha. Agora está lá, e o filtro do quadro também acha por arma.
- 🔒 Não se abre mais processo de arma sem arma. Renato: *«premissa básica a partir de agora: nunca mais abrir um processo de arma sem arma vinculada»*. O campo aparece só nos serviços que são de arma (GT, CRAF, aquisição, transferência) — em IBAMA, propriedade e dossiê nem aparece, para não atrapalhar. Cliente com uma arma só já vem preenchido.
- 📊 O tamanho do buraco, medido: só 13 processos de 555 tinham arma vinculada. E em agosto foram 75 criados e ZERO vinculados — não era resíduo da importação, era o sistema: a tela nunca pediu a arma.
- 🔗 72 vínculos recuperados sozinhos, só onde é inequívoco: 45 de clientes que têm uma arma só e 27 onde o documento já anexado apontava para a arma. Cada um guarda a evidência que o justificou; o levantamento completo foi entregue em PDF, com as 281 que ainda precisam do despachante.
- ⚡ Efeito colateral bom: com o processo dizendo qual é a arma, a extensão para de adivinhar a série pela IA ao baixar a guia — que foi onde um dígito (KIW93678 × KIW93878) travou tudo ontem.
v1.16.29 · 🔁 Um aviso antes de vencer, e um reforço aos 5 dias20/08/2026
- 🔁 Regra do Julio: *«NÃO REENVIE MENSAGEM DE VENCIMENTOS PARA QUEM JÁ FOI ENVIADA ANTES DE VENCER O PRAZO. SÓ REPITA A MENSAGEM EM DOCUMENTOS COM PRAZO VENCIDO A 5 DIAS.»* É assim agora: um aviso antes do vencimento e um único reforço aos 5 dias de atraso.
- 📉 O que muda na prática: antes, o mesmo CRAF avisava três vezes (90, 60 e 30 dias). O cliente recebia a mesma cobrança de novo e de novo. Agora avisa uma vez, no primeiro marco que bater.
- ⚠️ A armadilha que quase passou: as marcações antigas no banco terminavam com o número do marco (`|30`, `|7`). Se eu só trocasse a regra, a primeira rodada não reconheceria essas marcas e reenviaria para toda a base. A checagem agora é por vencimento, não por marco — conferido contra as 8 marcações reais: zero reenvios.
- 🛑 A trava de 17/08 continua de pé: documento vencido há muito tempo não vira disparo. O reforço só alcança de 5 a 9 dias de atraso — janela fechada dos dois lados, para os 64 documentos vencidos antigos seguirem fora.
- 🧪 E agora essa decisão tem teste. A regra de quem recebe WhatsApp morava num arquivo que o teste não conseguia carregar — a decisão mais perigosa do sistema era a única sem rede. Mudou de lugar: 21 verificações cobrem cada caso, inclusive o das marcações antigas.
v1.16.28 · 📬 Um WhatsApp por cliente, com a arma identificada20/08/2026
- 📬 Um WhatsApp por cliente, um parágrafo por documento. Julio: *«TODOS OS AVISOS DO MESMO CLIENTE SAIAM EM UMA ÚNICA MENSAGEM… CADA DOCUMENTO VENCIDO UM PARÁGRAFO… E NÃO MANDE MAIS INDIVIDUALMENTE POR SERVIÇO COMO FOI ENVIADO AO SR. VILSON»*. É assim agora.
- 🔫 A arma passa a ser identificada: *tipo · marca · modelo · calibre*. Antes o aviso dizia só «Renovação · Carabina/fuzil» — e quem tem três carabinas não sabia de qual se tratava. O Vilson tem três: RUGER AMERICAN RIMFIRE .22, TAURUS PUMA 44-40 e TAURUS PUMA .357. Agora dá pra distinguir na hora, na mensagem e na página de Prazos.
- 🔒 A série continua fora da mensagem, de propósito. Ela é o número que identifica a arma em roubo e rastreio, e WhatsApp é encaminhado e printado. Tipo, marca, modelo e calibre *descrevem*; a série *identifica*. Se quiser incluir, é decisão sua — mas fica registrado o porquê de estar fora.
- 📡 O calendário público (link .ics) NÃO mudou: ele continua neutro, sem dizer marca nem modelo. A descrição da arma só entra na mensagem que vai para o dono dela e na tela do despachante logado.
- ⚠️ Cliente com um documento só recebe exatamente a mensagem de sempre — o formato de parágrafos entra a partir de dois. E o registro interno continua uma linha por prazo, para nunca reenviar amanhã o que já saiu hoje.
v1.16.27 · 🕐 Relógio de Mato Grosso e o fim das mensagens repetidas20/08/2026
- 🕐 O relógio agora é o de Mato Grosso. Julio: *«corrija o relógio do sistema com o horário de Mato Grosso e não com horário de Brasília… aqui em Mato Grosso são 7h… 8h é em Brasília»*. Ele está certo e o erro era meu: MT é UTC−4, Brasília é UTC−3. O disparo saía 08:00 de Brasília, que é 07:00 em Sinop, Juara e Porto dos Gaúchos. Agora sai 08:00 no horário de Mato Grosso.
- 🚨 Cinco WhatsApps para o mesmo cliente — corrigido. O print do Julio mostrou o VILSON recebendo cinco mensagens às 07:01: as 5 armas dele renovam o CRAF no mesmo dia, e o motor mandava uma por arma. Agora é uma mensagem só: *«seu CRAF — 5 ARMAS (CARABINA/FUZIL, REVOLVER, PISTOLA) vence em 31/08/2026»*.
- 🔍 Por que ninguém viu antes: a chave que controla "já avisei" é *cliente + tipo + data + marco* — sem a arma. As 5 tinham a mesma chave, e o banco barrava o registro repetido, não o envio. Resultado: 5 mensagens saíram e o relatório contou 1. A trava protegia o log e não protegia o telefone do cliente.
- 📊 Correção do número que informei: o relatório do dia 20/08 dizia *7 avisos*; esse era o número de linhas registradas. Na conta real saíram cerca de 12 mensagens — 5 só para o Vilson. Daqui pra frente o registro é igual ao que saiu.
- ⚠️ O que NÃO mudou (de propósito): um cliente com um prazo só continua recebendo exatamente a mesma mensagem de sempre — a junção só entra quando há mais de um.
v1.16.26 · 📱 Documentos no celular: cada arquivo vira um cartão19/08/2026
- 📱 O que estava acontecendo: no celular, a lista de Documentos quebrava o nome do arquivo uma letra por linha ("C / R / A / F / - / P / I…"), a categoria descia em coluna e um único documento ocupava a tela inteira. Os botões saíam pela lateral ("mandar pro cl…" cortado).
- 🧩 Causa: uma tabela de 3 colunas espremida em 360px. Nome de arquivo longo não tem espaço em branco onde quebrar, então o navegador quebra caractere a caractere.
- ✅ Conserto: abaixo de 620px cada documento vira um cartão — o nome como título em linha inteira, a categoria com rótulo e os botões numa faixa que quebra em linhas. Vale para a lista ativa e para a de arquivo/lixeira.
- 🧭 Detalhe que vale registrar: esse "vira cartão" já existia desde 11/08 — mas estava ligado só no app do cliente. Por isso a tela do cliente já estava certa e a do despachante não: era a mesma solução, faltando o fio.
v1.16.25 · 🔍 Um dígito: por que a GT não achava a arma sozinha19/08/2026
- 🔍 O caso, medido: a GT que a extensão baixou do SisGCorp traz a série KIW93678; a arma no acervo estava como KIW93878. Um dígito. A trava que proíbe casar arma por semelhança recusou o vínculo — e ela está certa: acervo é dado legal. O erro foi a mensagem, que dizia *«a arma não tinha série»* quando a arma tinha.
- 📄 A causa de verdade: a arma tinha sido criada lendo o CRAF escaneado — uma foto — e a IA leu 8 no lugar de 6. Já a GT que a extensão baixa não é foto: é arquivo de texto, com a série escrita nele. Estávamos pagando o modelo para adivinhar um número que estava ali, literal.
- ✅ O conserto: quando o PDF tem camada de texto de verdade — o caso de tudo que a extensão baixa do SisGCorp — o sistema passa a ler o texto em vez de mandar a figura para o modelo olhar. Exato, sem erro de dígito e sem custo de imagem. A regra já existia no motor antigo (escrita com o Julio em 02/07, endurecida em 08/07) e ficou órfã quando o motor virou Claude em 20/07: código vivo que deixou de ser executado.
- ⚠️ A CNH-e e o RG digital continuam indo como foto — eles têm texto de cabeçalho e o dado na imagem; o guarda de 08/07 segue valendo.
- 🗣️ A mensagem agora diz a verdade: *«a guia diz série X e o acervo tem a arma Y»*, com o que fazer. Continuamos não vinculando sozinhos: um caractere de diferença também pode ser outra arma de verdade — quem decide é o despachante.
- 🚨 E a segunda GT não some mais. Duas guias da mesma arma, mesma validade, estandes diferentes: a primeira, cadastrada na mão (só a data, sem número e sem destino), engolia a segunda como “repetida” — e a segunda ficava sem prazo nenhum, o oposto do que o produto promete. Agora, quando a linha antiga é cega e a leitura traz número e destino, o sistema completa aquela linha em vez de descartar a guia nova.
v1.16.24 · 📄 CRAF manual: a data impressa volta a valer mais que o cálculo19/08/2026
- 📄 Regra revista pelo Julio: *«a regra dos 3 anos é apenas para CRAF manual que não tem data de vencimento expressa em campo próprio. Existem delegacias que JÁ emitem o CRAF manual com a data expressa — quando o sistema enxergar esse campo, deve seguir a data do documento»*. É assim agora: data impressa vence; o cálculo é a rede para quem não traz data.
- ⚠️ A trava que fica de pé: nesse formato existem duas caixas de validade — a do CRAF (na linha do “Nº Registro da Arma de Fogo”) e a do CR do dono (na linha do “Nº Certificado de Registro”). O sistema usa só a primeira; se não der para distinguir com certeza, deixa em branco e cai no cálculo — porque a caixa errada faria você perder o prazo.
- 🧭 Por que estava forçado antes: em 29/07 o modelo confundia as duas caixas e gravava prazo falso, então a validade impressa foi ignorada de propósito. A revisão do Julio é melhor: agora a data do papel manda, com a regra de desempate escrita.
v1.16.23 · 🏷️ “GT 911370.26.019902” também é nome de máquina19/08/2026
- 🏷️ Julio testou e voltou: «não deu certo». O arquivo chegou como `GT 911370.26.019902.pdf` — a sigla mais o protocolo da PF, e nada além. A regra de renomear olhava “começa com letra → é do operador” e preservava. Só que isso não é nome de gente: é número com rótulo na frente.
- ✅ Agora renomeia: `GT 911370…`, `CRAF 7022`, `GUIA 911370/26`. E continua preservando `GT CAÇA REVÓLVER T436 .36-307-270326a270926` — a diferença é ter palavra depois da sigla (a arma, a finalidade), não só dígitos.
- 🐛 E havia um caractere invisível na regra. Um `backspace` tinha entrado no meio da expressão quando ela foi escrita, e por isso ela nunca casava com nada. Não dava erro, não aparecia na tela: silêncio puro. Agora há 6 verificações amarrando os dois lados.
v1.16.22 · 🏙️ A cidade vem antes da data no nome da guia19/08/2026
- 🏙️ Julio: *«quando a GT é da mesma arma e apenas de cidade distinta, o nome da cidade está dentro da guia como destino… aí já sai GT-CAÇA MANEJO-ARMA-MODELO-CIDADE-DATA VENC»*. Ajustado para essa ordem.
- 🏷️ Fica «GT · CAÇA MANEJO · ROSSI PUMA 44 MAG · PORTO DOS GAÚCHOS · 30/12/2026» — e as guias da mesma arma para fazendas diferentes ficam lado a lado na lista, agrupadas pela cidade.
v1.16.21 · 📅 O nome da guia passa a trazer a data de vencimento19/08/2026
- 📅 Julio, dizendo o formato que quer: *«o documento baixado apenas em forma de números, não sabemos de que arma é… deveria vir como nome GT-(se de tiro ou de caça)-qual arma-modelo-data vencimento»*. Feito.
- 🏷️ Agora sai «GT · CAÇA MANEJO · ROSSI PUMA 44 MAG · 30/12/2026 · PORTO DOS GAÚCHOS» — o que é, qual arma, quando vence e para onde vai, sem abrir o PDF.
- 🧭 O destino ficou no fim e não sai: duas guias da mesma arma, mesma validade e fazendas diferentes são irmãs legítimas — sem ele, os dois arquivos teriam o mesmo nome e ninguém saberia qual é qual.
v1.16.20 · 🏷️ A guia baixada pela extensão ganha nome de gente19/08/2026
- 🏷️ Julio: *«eu havia entendido que bastaria selecionar o arquivo e a extensão iria ler o nome do documento… ela baixou com dados aleatórios. Ou seja, eu continuo tendo de abrir a GT pra ver que arma é, para colocar nome no arquivo»*.
- 📉 Medido: 0 de 396 guias tinham sido renomeadas automaticamente. A regra existe desde ontem e nunca disparou — ela só aceitava trocar nome vazio, `documento.pdf`, `blob` ou código UUID. E o que a PF entrega é `SEI_146314680_Guia_de_Trafego_….pdf`, que não casava com nenhum. A regra existia para resolver exatamente esse caso e deixava ele passar.
- ✅ Agora a guia vinda da PF vira *«GT · CAÇA MANEJO · ROSSI PUMA 44 MAG · PORTO DOS GAÚCHOS»* — o que é, qual arma e para onde vai, sem abrir o PDF.
- 🔒 E o SEU nome nunca é trocado. `GT CAÇA REVÓLVER T436 .36-307-270326a270926.pdf` fica como está: ele carrega arma e período, e hoje mesmo a data dele venceu a leitura da IA no caso da guia antiga do Exército. Só nome de máquina é substituído — e há 12 verificações automáticas guardando os dois lados.
v1.16.19 · 📅 A data do prazo aparece na frente de cada documento19/08/2026
- 📅 Julio: *«coloque a data dos prazos nesses arquivos que ficam na pasta de documentos, para a nossa visão ser igual à de uma GT ou de um CRAF… subiu com datas em branco e eu não sei dizer se está lendo datas ou não. Tendo a data à frente do arquivo, mata essa charada»*. Feito: cada documento mostra 📅 a validade, e a cor diz o resto — vermelho já venceu, âmbar vence em até 30 dias.
- 📅 “sem data” aparece só onde a data importa (CRAF, CR, guia, CTF, abate, laudo, teste de tiro). Nos outros não aparece nada — seria ruído.
- ⚠️ Na Cobertura, ✗ e ⚠ passaram a ser coisas diferentes. ✗ = não há o documento. ⚠ = o documento está lá, mas no Arquivo ou sem data, então não conta prazo. Foi o caso do CTF do ROSENO: aparecia como falta, e ao tentar subir o sistema dizia que já existia — os dois certos, e o operador sem saída.
- 🧭 E a mensagem de “já existe” agora diz onde ele está (“no Arquivo”, “em Documentos”) e se está sem data — em vez de só barrar.
v1.16.18 · 🐞 Documento excluído não bloqueia mais o reenvio19/08/2026
- 🐞 Julio: *«HAROLDO MARCOLINO — fui subir a GT sem leitura, porém não contou prazo; daí eu excluí e fiz leitura por OCR, mas não aceita salvar alegando que já existe um… e não existe mais, foi deletada»*. Conferido no banco: o arquivo estava na lixeira (excluído às 16:23) e a trava de repetido o encontrava assim mesmo.
- ✅ Corrigido: a trava passou a olhar só documento vivo. Excluir e subir de novo — que é exatamente o que o sistema pede quando falta a data — voltou a funcionar.
- 🧩 Era o pior tipo de trava: o operador faz o que a tela mandou e leva um “não” apontando um documento que ele acabou de apagar.
v1.16.17 · ⏸️ Habilitar / desabilitar cliente — e a lista deixou de esconder gente19/08/2026
- ⏸️ Julio: *«para não descartar o cliente, pois ele pode estar há tempos sem pedir serviços e pode voltar a qualquer momento… crie um botão dentro de cada cliente para eu habilitar ou desabilitar temporariamente. Enquanto desabilitado, nenhuma leitura deve ser feita nos documentos dele, nem os que já subiram, e nem poderão subir novos»*. Feito — o botão está na ficha do cliente.
- 👥 A lista de Clientes mostra TODO MUNDO agora. Saíram os botões “só os ativos” e “ver todos”: quem some da sua frente é quem você pausar, e ele aparece marcado com ⏸️, não desaparece.
- 💰 Cliente pausado não consome nada: nem leitura de documento que já está lá, nem upload novo. A trava é no servidor, não só na tela.
- 🔁 Isso substitui o filtro automático que escondia quem não tinha processo em aberto. Ele decidia sozinho e sem avisar — e foi por isso que uma pasta já feita acabou sendo repetida. Agora quem decide é você, cliente a cliente.
v1.16.16 · 📋 Nova tela: Cobertura documental — quem já subiu e o que falta19/08/2026
- 📋 Julio pediu, e virou tela: *«me diga quem dos clientes já cadastrados não tem CR, CRAF, GT… e dos caçadores, quem não tem abate, entrada na propriedade, CTF e inscrição IBAMA»* — depois: *«faça disso uma tela no sistema»*. Está no menu, em Cobertura.
- 📁 No topo, o que mais dói: os clientes que não têm nenhum documento — as pastas que ainda não subiram. E dá para ver de cara que elas não seguem a ordem do alfabeto, que foi o que fez repetir cliente já feito.
- ✓✗ Uma linha por cliente com CR, arma, CRAF, GT, abate, CTF, inscrição e entrada. Quem não é caçador mostra “—” nos quatro do IBAMA, em vez de um ✗ que assusta à toa. Filtros: só quem tem falta, todos, só caçadores.
- 💸 Não gasta leitura de IA — é tudo consulta ao cadastro.
v1.16.15 · 🚫 “JÁ BAIXADO”: o arquivo repetido aparece marcado e não gasta leitura19/08/2026
- 🚫 Julio: *«crie uma trava em documentos que forem subir e já estejam no sistema… com um aviso na frente ‘JÁ BAIXADO’… o operador sabendo do motivo não vai perder tempo e não vai consumir o saldo»*. O motivo dele: *«não sei quem eu já subi ou não… achava que era da letra S em diante, mas muitos depois do S já subi. Por isso acabei repetindo o Vilson»*.
- ✅ Feito: na conferência, o arquivo que já está no cadastro daquele cliente aparece com o selo 🚫 JÁ BAIXADO e vem desmarcado — não sobe de novo e não é lido.
- ⚠️ Isso corrigiu um buraco que a própria automação de hoje abriu: desde que a pasta passou a ser lida sozinha, um arquivo repetido era lido e pago antes de o salvamento descobrir que já existia. A trava de repetido sempre existiu no gravar; o que faltava era ela aparecer antes de gastar.
v1.16.14 · 🪙 O sistema deixou de pagar para descobrir o que o cadastro já sabe19/08/2026
- 🪙 Achado investigando o relato do Julio (*«VILSON VICENTE — a IA não consegue ler a data de vencimento do CR»*): o CR dele já estava cadastrado, válido até 21/10/2031, e as 5 armas dele já tinham CRAF até 2032. Os PDFs estavam sem data, mas a data que importa já estava no lugar certo — ler aqueles arquivos não acrescentaria nada.
- 📉 Medido na fila inteira: de 289 documentos, 104 CRAF cuja arma já tem validade e 26 CR cujo cliente já tem — 45% da fila, R$ 16,90 que seriam gastos para reconfirmar o conhecido. Esses agora são pulados.
- 🧭 E por que pular em vez de copiar a data para o PDF: a arma pode estar com a validade de um CRAF mais novo; carimbar essa data num arquivo antigo faria um papel vencido parecer vigente. Pular é verdadeiro — copiar seria inventar.
v1.16.13 · 🤖 Jogou a pasta, o sistema lê sozinho19/08/2026
- 🤖 A leitura deixou de ser botão. Ao abrir a conferência da pasta, o sistema já vai lendo os documentos que têm data impressa por dentro e chegaram sem data — CRAF, CR, guia, CTF, abate, laudo e teste de tiro. Você confere a lista enquanto ele trabalha.
- 🔢 Com a conta na tela, antes: aparece quantos documentos entram na leitura, para você saber o tamanho do trabalho antes de começar. Na média da base são 3,8 por cliente.
- 🎯 Por que mudou: *«o despachante quer facilidade — pegar a pasta de todos os clientes, jogar lá dentro e que o sistema reconheça, catalogue e organize»*. Um botão só funciona para quem já sabe que ele existe; para quem acabou de assinar, era a diferença entre “joguei a pasta e ele organizou” e “joguei a pasta e não aconteceu nada”.
- ♻️ O botão continua lá para reler quando fizer sentido, e o que a leitura mostrar vencido vai para o Arquivo sozinho.
v1.16.12 · 🧭 Guia antiga do Exército: o nome do arquivo passa a vencer a leitura quando discordam19/08/2026
- 🧭 O caso que apareceu no teste da Dirlene: o arquivo `GT … 06052030.pdf` voltou da leitura com validade 06/12/2020, e o `GT … 30122026.pdf` com 27/06/2024. Julio explicou: são guias antigas, da época em que quem emitia era o Exército — *«nessa guia está especificando de outra forma a data de validade, até 06/05/2030; essa data final é a validade»*.
- 🔎 O que estava acontecendo: nessas guias o modelo acha no papel um par emissão + 180 dias que parece perfeitamente normal — e por isso passava na trava de sanidade. A data certa estava no nome do arquivo, escrito por você com o papel na mão, mas o nome ficava em terceiro lugar na fila e perdia.
- ✅ Agora, só na guia de tráfego: se a leitura e o nome do arquivo discordarem em mais de 15 dias, fica a data do nome — e a divergência aparece no aviso, nunca em silêncio. Nada muda quando os dois concordam, nem quando só um existe.
v1.16.11 · 📦 Documento que a leitura mostrou vencido vai para o Arquivo sozinho19/08/2026
- 📦 Julio: *«tive de ler o documento porque não tenho como saber se está vencido — e estava. Isso é dinheiro jogado fora»*. Metade da razão: a leitura não foi jogada fora, ela respondeu *“este papel venceu”*. O que faltava era o sistema usar a resposta em vez de deixar a linha como Ativa com data velha.
- ✅ Agora: se a data lida estiver no passado, o documento vai para o Arquivo na hora, não gera prazo e sai da fila de releitura — ninguém paga de novo para descobrir a mesma coisa. Vale na importação de pasta e na releitura em lote.
v1.16.10 · 🔁 Releitura em lote dos documentos que estão sem data19/08/2026
- 🔁 Julio: *«338 precisariam ser lidos por dentro — releia todos os que são com data e coloque nos prazos e nas pastas certas»*. Até agora só dava para reler um por um; agora existe o caminho em lote.
- 💰 Com o valor sempre à frente do gasto. Dá para pedir a contagem sem ler nada e saber o custo antes; cada rodada processa um punhado e devolve quanto custou. Nada de disparar centenas de leituras num clique.
- ✅ O que a releitura faz: acha a data dentro do papel, grava no documento, cria o prazo e liga na página certa — CRAF e guia na arma, IBAMA na fazenda.
v1.16.9 · 🔒 O botão de ler só aparece onde existe data para ler19/08/2026
- 🔒 Julio: *«podemos travar os documentos que não possuem data a serem lidos — isso já vai reduzir custo e a possibilidade de lermos data em documento que não precisa»*. Feito: o botão 🤖 só aparece em CRAF, CR, guia, CTF, autorização de abate, laudo e teste de tiro — os papéis em que a data está impressa por dentro. Em CNH, declaração, comprovante e afins ele sumiu.
- ⚠️ Isso ficou urgente por causa da mudança de hoje de manhã. Como “sem data no nome” passou a entrar como Ativo, muito mais linha ficou ativa — e o botão de ler aparecia em documento que não tem data nenhuma, convidando a gastar leitura à toa.
- 🔢 A contagem na tela agora é a real. Antes o número exibido vinha de uma estimativa antiga; passou a ser medido no uso de verdade, então o que você lê antes de mandar ler bate com o que acontece.
v1.16.8 · 📂 Documento sem data no nome não é mais “histórico” — e sair do arquivo refaz o vínculo19/08/2026
- 📂 Sem data no nome deixou de virar histórico. Julio: *«não dá pra colocar data em todos os nomes de arquivo, é inviável… sem data no nome pode sim ser documento com prazo»*. Ele tem razão, e o estrago estava medido: dos 23 documentos do Silvano, 18 entraram como Arquivo — CNH, CR, CAR, declaração de filiação e até uma autorização de abate. Nenhum é papel velho. Agora só vai para o Arquivo o que tem data vencida no nome; o resto entra como Ativo — e o botão de mandar para o histórico continua na linha, se você quiser.
- 🔗 Tirar do Arquivo (ou da lixeira) agora REFAZ o vínculo. CRAF e guia voltam para a arma, IBAMA volta para a fazenda, e o prazo nasce. Antes, tirar do arquivo mudava só a etiqueta — o motor que cria esses vínculos só rodava na entrada do documento, e quem entrou como histórico nunca passava por ele. É por isso que os 18 do Silvano voltaram para Documentos e continuaram invisíveis nas outras páginas.
- 💸 E isso não custa nada: o vínculo é refeito com a categoria e a validade que já estão gravadas — nenhuma leitura de IA é disparada. Ler de novo custaria ~R$ 0,08 por documento para redescobrir o que o banco já sabe.
- 📅 Amarelo “falta a data” aparece agora só nos documentos que têm a data impressa por dentro (CRAF, CR, guia, CTF, abate, laudo, teste de tiro). Mandar ler uma CNH ou uma declaração gastaria os mesmos R$ 0,08 para descobrir que não há data que interesse ali.
v1.16.7 · 🧾 Comprovante não é autorização — e por isso não gera prazo19/08/2026
- 🧾 Regra do Renato, direto do grupo: *«tudo que estiver escrito comprovante IBAMA leia como IBAMA/SIMAF (SEM PRAZOS)… as Autorizações de ABATE não estão sendo lidas como Autorização de Abate e possuem prazo»*. A diferença não é de palavra, é de documento: a autorização vale por um período e tem prazo; o comprovante é a prova de que o processo foi feito no SIMAF e não vence.
- ✅ Agora *«Comprovante de Abate»*, *«COMPROVANTE IBAMA»* e *«Doc. Compr. Nesc. Abate»* entram como IBAMA/SIMAF, sem prazo; *«Autorização de Controle de Espécies Exóticas Invasoras»* e *«AUT. ABATE FAUNA INVASORA»* entram como Autorização de Abate, com prazo. Antes o comprovante virava autorização e o sistema criava um vencimento que não existia — você via alerta de renovação de um papel que não renova.
- 🎯 Duas exceções que precisavam continuar de pé: *«COMPROV. INSCR. IBAMA»* segue como Inscrição (categoria própria) e *«COMPROVANTE DE CAPACIDADE TÉCNICA»* segue como teste de tiro — nenhum dos dois é SIMAF.
v1.16.6 · 📁 A pasta chega quase pronta: o sistema reconhece 7 famílias de documento que antes ignorava19/08/2026
- 📁 «Tive de selecionar item por item». Peguei os 1.848 documentos que já estão no sistema e comparei o que o leitor de nomes adivinha com o que você escolheu à mão: ele acertava 69%. Agora acerta 85% — são 236 documentos que viriam certos sem você tocar.
- 🎯 O que ele não conhecia (e agora conhece): «Autorização de Acesso à Propriedade» e «entrada propriedade rural» (75) · «COMPROV. INSCR. IBAMA» separada do CTF (51) · «Autorização de Controle de Espécies Exóticas Invasoras», que é o nome oficial da autorização de abate (50) · CAR rural, SIMCAR e recibo de inscrição (39) · «TESTE TIRO» sem o «de» e os arquivos que vêm só com «SIGMA» (70) · conta da Energisa e fatura como comprovante de endereço (44) · o nome que é só a arma, tipo «Carabina.Fuzil Rossi .38» (28) · «certificado_registro», que é como o CR sai do gov.br.
- ⚖️ A ordem das regras virou parte do conserto. «Autorização de Acesso à Propriedade para Caça de Espécie Invasoras» tem «espécie invasora» no nome — se a regra de abate viesse antes, 75 autorizações de entrada (que não têm prazo) virariam autorizações de abate (que têm). Agora propriedade vem antes de abate, e inscrição antes de CTF.
- 🤖 «E colocar prazo em muitos». Medi: dos documentos com validade no sistema, 58% não têm data nenhuma no nome — não é o leitor que falha, a informação não está lá. Só ler o documento resolve. Então agora tem um botão por pasta: «ler a data das N que faltam», que lê de uma vez só as que viram prazo e estão sem data — com o custo na tela antes de você clicar. A linha só vira Ativo se a data for encontrada de verdade.
v1.16.5 · 🔌 A tela de Avisos passa a dizer quando o WhatsApp caiu19/08/2026
- 🔌 O WhatsApp estava desconectado e ninguém sabia. A régua estreou hoje às 07h: dos 8 avisos, 1 ficou marcado como *sem telefone* e os outros 7 falharam sem deixar rastro — o aparelho tinha saído do ar. A tela mostrava tudo normal.
- 🚨 Agora a tela de Avisos pergunta o estado real da conexão toda vez que você abre, e avisa em vermelho quando o WhatsApp caiu, com o que fazer: reler o QR Code em Configurações → WhatsApp.
- ✅ Nenhum aviso se perdeu. Como a falha não é registrada como “já avisado”, os 7 voltam para a fila e saem sozinhos no próximo envio — ou na hora, no botão enviar agora, assim que o WhatsApp reconectar.
v1.16.4 · 🧹 Vencido que já foi renovado sai da lista — e os papéis do IBAMA aparecem em Propriedades19/08/2026
- 🧹 O documento vencido que já tem substituto valendo SAI da lista de prazos. Julio: *«Jailton está como vencido e eu já coloquei o documento novo… era pra estar contando prazo apenas do novo»*. Fiz a varredura geral que ele pediu: eram 29 guias vencidas ainda contando, 11 delas com guia nova valendo para a mesma arma — mais 2 autorizações do IBAMA na mesma situação. Essas 13 saem agora.
- 🛡️ E as outras 18 continuam aparecendo, de propósito — são as armas que não têm nenhuma guia valendo hoje. Esse é o alerta que salva o cliente numa abordagem, e ele não pode sumir. *(O caso do Jailton é justamente um desses: a carabina TAURUS .38 não tem guia nova no sistema. As guias novas dele são das outras quatro armas.)*
- 🔒 Nada foi apagado. A regra só esconde da lista de prazos o que já está vencido — documento vigente nunca é tocado, e tudo continua no histórico do cliente. Em 12/08 uma regra parecida, feita no banco, aposentou 37 guias válidas até 2027 e teve de ser desfeita no mesmo dia; esta não pode fazer isso, e tem 12 verificações automáticas cobrando exatamente isso.
- 🌾 A aba Propriedades agora mostra TODOS os papéis do IBAMA/SIMAF — CTF, inscrição, SIMAF, autorização de abate e de entrada, CAR e a CNH do autorizante — com os botões VER e BAIXAR ali mesmo. Antes vinha só a autorização de abate: no cadastro do Silvano havia 11 papéis dessa família e a página mostrava um.
v1.16.3 · 🔔 Régua de lembretes LIGADA — e o texto corrigido antes do primeiro envio18/08/2026
- 🔔 A régua de lembretes está LIGADA (autorização do Renato). Ela avisa o cliente por WhatsApp 30 dias antes do CR/CRAF (o corte legal de protocolo da PF) e 7 dias antes dos demais documentos — GT, IBAMA, laudos. Documento já vencido NÃO dispara, e cobrança não dispara: quem está atrasado é conversa sua, não mensagem automática.
- 🚨 Achado grave, corrigido antes de a primeira mensagem sair. O aviso de Guia de Tráfego ia sair assim: *«seu GTE · REVÓLVER TAURUS RT82 · SÉRIE ZZ0001»*. Três erros numa frase: o artigo errado, o rótulo interno no lugar do nome do documento — e o número de série da arma dentro de um WhatsApp. Agora sai *«sua GUIA DE TRÁFEGO — CAÇA · PISTOLA TAURUS G3 TORO»*: nome de gente, arma identificada (você costuma ter mais de uma) e série nunca.
- ✍️ Detalhe de acabamento: *«em 1 dias»* virou *«em 1 dia»*.
- 👀 Você vê tudo antes. A tela Avisos lista exatamente quem vai receber, qual documento e quando — e tem o botão de enviar na hora, se não quiser esperar o disparo automático das 7h.
v1.16.2 · ✅ Vínculo do orçamento corrigido no banco + botão da PF vai direto ao login18/08/2026
- ✅ A correção do orçamento está VALENDO no banco. O vínculo entre o item e o processo agora é guardado pela identidade da linha, não pela posição dela na lista. Testei o pior caso antes de liberar: inserir uma linha no topo, deslocando tudo — o item que já tinha processo manteve o processo, a linha nova entrou sem processo e a linha removida saiu. Com o código antigo, o processo teria pulado para a linha nova. Era esse o defeito que fez o serviço de R$ 120 do Alexandro sumir.
- 🔒 Item que já virou processo nunca mais é apagado ao salvar o orçamento, aconteça o que acontecer no formulário. O orçamento continua livre para editar a qualquer hora — o que é protegido é o processo.
- 🔑 O botão «Consultar SINARM-CAC» agora abre o login do gov.br já apontado para o serviço da PF, em vez da página informativa onde era preciso caçar o login (e de onde o acesso vinha travando). O seu CPF continua indo preenchido e a senha continua vindo do cofre — é o mesmo caminho de antes, com um passo a menos.
v1.16.1 · ↩️ Desfeita a trava do orçamento — o Julio estava certo, eu travei a coisa errada18/08/2026
- ↩️ O orçamento voltou a ser editável. Na versão anterior eu travei a edição do orçamento depois que ele abre processo. Estava errado. O Julio ouviu e apontou na hora: *"o que fica fechado para edição, o orçamento ou o processo? Você me disse que é o PROCESSO — a frase é dúbia"*. Era o processo. E ele explicou por que a trava atrapalha: *"é difícil ficar fazendo dois, três, quatro orçamentos e depois negociar a forma de pagamento de cada um"*. O fluxo real é um orçamento que cresce — o cliente pede 4 GTs, depois acrescenta propriedade rural, e quando vê são 20 itens com 4 processos já abertos. Trava desfeita.
- 🔒 O que passa a ser protegido é o PROCESSO, que é o certo. Item que já virou processo nunca mais é apagado ao salvar o orçamento, aconteça o que acontecer no formulário. E o vínculo entre o item e o processo passa a ser guardado pela identidade da linha, não pela posição dela na lista — que era a causa de o vínculo escorregar para outro serviço a cada edição.
- ⚠️ Isso depende de uma atualização no banco (migration 0122) que ainda não foi aplicada. Até lá, o comportamento continua o de antes — evite reordenar linhas de um orçamento que já tem processo aberto.
v1.16.0 · 🔒 Orçamento que já virou processo não se mexe mais — e a causa do serviço que sumiu18/08/2026
- 🔒 Orçamento que já abriu processo agora fica FECHADO para edição. Premissa do Renato: *"orçamento autorizado, quando abre processo, não se mexe mais. Só abrindo outro"*. Se o cliente pedir mais serviços, você cria um novo orçamento — e o que já foi aberto e cobrado fica intocado.
- 🐞 E essa trava conserta um defeito silencioso de dinheiro. Quando você editava um orçamento, o sistema regravava todos os itens e reatava o vínculo com os processos pela POSIÇÃO na lista, não pelo item em si. Bastava inserir, remover ou reordenar uma linha para o vínculo escorregar para outro serviço. Foi o que aconteceu no orçamento do Alexandro (editado 3×): o item Cadastrar Propriedade Rural, R$ 120 ficou apontando para um processo de CTF/CR-Ibama de R$ 0, cortesia — o serviço nunca virou processo próprio e a entrada de R$ 30 nunca foi cobrada. É também o *"duplicou e não sobrepôs"*: o vínculo sai do item certo e o serviço já aberto reaparece como "a abrir".
- 🔎 Varri a base inteira: esse era o único caso. Já foi corrigido, com registro na auditoria.
- 🚫 Nova opção «cancelar» nos serviços a abrir. Antes só existia *deixar de fora*, que apenas adia — o item voltava a aparecer no dia seguinte. Agora dá para cancelar de vez o que não é mais serviço real (por exemplo, o que você já tinha feito ANTES de orçar).
- 🔗 E dá para desfazer um vínculo errado sem precisar de socorro: se um item estiver amarrado ao processo errado, agora existe ação para soltá-lo — auditada, e sem apagar processo nenhum.
v1.15.7 · 🩹 A CAUSA do sistema deslogando sozinho — um soluço de rede virava logout definitivo18/08/2026
- 🩹 Achada a causa real de "o sistema está deslogando sozinho". No porteiro do sistema, TRÊS situações diferentes caíam no mesmo balde: *não tem sessão*, *a sessão é inválida* e uma falha passageira (a internet oscilou, o servidor de login demorou, ou duas abas renovaram a chave ao mesmo tempo). Nas três, o sistema apagava os cookies de acesso — ou seja, um soluço de um segundo virava logout definitivo, e você tinha que entrar tudo de novo.
- ✅ Agora falha passageira NÃO derruba mais a sessão. Se não deu para confirmar quem você é, o sistema pede o login (não dá para liberar sem conferir), mas guarda os seus cookies — na tentativa seguinte a sessão volta sozinha. Só apaga quando a sessão está comprovadamente inválida.
- 🔧 Junto disso, a janela de renovação de chave subiu de 10 para 60 segundos. Com o sistema aberto em mais de uma aba, as duas tentavam renovar quase juntas e a segunda era rejeitada. Os dois ajustes atacam o mesmo problema por lados diferentes: um deixa a corrida acontecer menos, o outro impede que ela derrube você.
v1.15.6 · 📲 Reenviar o link do app sem trocar a senha + GT já chega com nome que se entende18/08/2026
- 📲 Reenviar o link do app para o cliente — sem trocar a senha dele. Julio: *"cliente me dizendo que o app não quer entrar hoje, e o sistema não me deixa enviar de novo o link"*. Ele estava certo: não existia reenvio. O único botão era *Gerar nova senha*, que troca a senha — então reenviar custava invalidar a que o cliente já tinha. Agora existe 📲 Reenviar link (mantém a senha), que manda o endereço e as instruções de novo e diz ao cliente que a senha continua a mesma. Quem realmente perdeu a senha continua usando o outro botão.
- 🏷️ A GT já chega com um nome que você entende. Julio: *"eu estou tendo que ABRIR para ver o que é, DE QUE ARMA é e PARA QUE CIDADE é"*. O sistema já renomeava sozinho, mas colocava o protocolo e o número de série — justamente o que não ajuda a se localizar. Agora sai assim: GT · CAÇA MANEJO · ROSSI PUMA 44 MAG · PORTO DOS GAÚCHOS — o que é, qual arma e para onde vai. Se você já tiver dado um nome, o seu nome é preservado.
- 📲 Botão de mandar no WhatsApp também nos documentos da ARMA. Ele existia só na aba Documentos, mas a GT cai na arma — e era lá que faltava. Julio: *"tenho de salvar no computador também para enviar ao cliente, e isso é retrabalho salvando duas vezes o mesmo documento"*. Agora dá para mandar direto do sistema.
v1.15.5 · 🔁 O sistema deslogando sozinho + botão salvar no pagamento + novidades sem asteriscos18/08/2026
- 🔁 "O sistema já desligou sozinho três vezes desde as 7h da manhã." Achado. A sessão dura 8 horas, mas a chave de acesso se renova de hora em hora — e a janela para duas abas renovarem juntas era de 10 segundos. Com o FattoCAC aberto em mais de uma aba (Julio: *"eu tenho a aba salva"*), as duas tentavam renovar quase ao mesmo tempo, a segunda chegava com a chave já trocada e o servidor derrubava a sessão inteira. A janela passou de 10 para 60 segundos. É ajuste de configuração — vale na hora, sem precisar atualizar nada.
- 💾 Botão salvar no bloco de Pagamento do processo. Renato: *"preciso de um botão salvar específico aqui nesse campo, tá me dando dor de cabeça alterando e não mudando"*. O botão existia, mas só aparecia depois de mexer na forma de pagamento — olhando a tela parada, não havia salvar nenhum. Agora ele fica sempre visível: apagado enquanto nada mudou, aceso assim que muda. E o campo Data/pgto agora avisa que é aplicado no *Dar baixa* (ele não tem salvar próprio).
- ✍️ As novidades apareciam com asteriscos. Todo este texto é escrito com marcação de negrito, mas nenhuma das telas convertia — saía `assim`, com os asteriscos na cara, em todas as novidades desde sempre. Agora o negrito aparece como negrito, na página de Informes, no aviso de novidades, no Sobre e na página pública.
v1.15.4 · 🔗 O botão do site da PF virou link de verdade (não dá mais para ser barrado)18/08/2026
- 🔗 "O link que abre no botão o site da PF não tá funcionando." O endereço está no ar — conferi: responde normalmente e a página de Armas da PF carrega. O que podia falhar era como o botão abria: ele usava um comando de janela que o navegador trata como pop-up, e pop-up pode ser barrado (bloqueador, antivírus, política do computador). Quando isso acontece o clique simplesmente não faz nada. Agora é um link de verdade — link nunca é barrado. Vale para o botão de consultar e para o de sair do gov.br.
- ⚠️ A própria PF pede Firefox. Na página deles está escrito, com estas palavras: *"ORIENTAÇÃO: UTILIZAR SOMENTE O NAVEGADOR MOZILLA FIREFOX PARA ACESSO AO SINARM-CAC"*. Colocamos esse aviso ao lado do botão. Se o sistema da PF não abrir no Chrome, é isso — não é o FattoCAC.
v1.15.3 · 🛟 O cadastro parou de apagar o que você digitou17/08/2026
- 🛟 "Eu digito, peço pra salvar e deleta." Julio, sobre telefone, e-mail, estado civil, profissão e perfil de ocupação. Achado e corrigido. Quando você mandava ler um documento (ou puxava os dados de um cliente, no cadastro de terceiro), a tela era remontada e tudo o que você tinha digitado e ainda não salvo voltava ao que estava antes — sem erro nenhum, parecendo que o sistema apagou. Agora o que você digitou é preservado, e a leitura do documento continua preenchendo só o que está vazio.
- 📱 Não era o telefone. Ele suspeitou do "9 a mais". Fui conferir no banco: não existe validação de telefone em lugar nenhum — nem no sistema, nem no banco —, e há cadastros salvos normalmente com 11 dígitos. O dígito extra nunca foi o problema; era a remontagem da tela.
- ✍️ O que você digitou vale mais que o palpite da leitura. Se você preencheu um campo à mão e depois manda ler um documento, a leitura não sobrescreve o seu texto — ela só completa o que ficou vazio. Era assim para o que já estava salvo; agora vale também para o que você acabou de digitar.
v1.15.2 · ✍️ O texto dos lembretes ficou em português de gente (ainda NÃO está ligado)17/08/2026
- ✍️ Como o lembrete vai falar com o cliente. Renato revisou e corrigiu três coisas: o nome sai só o primeiro, com só a inicial maiúscula (o cadastro é todo em caixa alta, então saía *"Olá, CRISTIANE DEPINE!"*); o artigo concorda (*"não é seu, é sua GTE"*); e o nome do documento sai em CAIXA ALTA, legível e com a data. Antes a frase montada era *"seu gte vence em…"* — artigo errado e nome técnico.
- 🚫 Nenhuma cobrança será enviada. Renato: *"hoje não existe um prazo estipulado de cobrança. Portanto, não envie nenhuma cobrança ainda"*. As mensagens de cobrança existem e estão prontas no sistema, mas o disparo está desligado — parcela e agendamento não geram WhatsApp. O PIX ficou reservado só para cobrança em atraso: no aviso de vencimento o cliente ainda nem sabe o valor.
- 🛑 Documento já VENCIDO não dispara aviso. A autorização foi para *"os casos que restam 30 dias"* e *"7 dias anteriores ao vencimento"* — as duas olham para a frente. Sem esta trava, ligar a régua mandaria mensagem sobre documentos vencidos há mais de 300 dias. Vencido é conversa humana, não disparo automático.
- ⏰ Quando cada aviso sai: CR e CRAF a 30 dias do vencimento; todos os demais documentos (guia de tráfego, abate, laudos, comprovantes) a 7 dias. Os avisos de 90 e 60 dias ficaram desligados a pedido do Renato.
- 🔒 +22 verificações (444 → 466) só sobre o texto: o primeiro nome, o artigo certo por documento e o nome em caixa alta não podem regredir.
v1.15.1 · 👁️ No app do cliente: VER e BAIXAR viraram dois botões separados17/08/2026
- 👁️ App do cliente → Documentos e Processos: VER e BAIXAR separados. Renato: *"eu não consigo ver o documento antes de resolver baixar ou não ele... ele tá fazendo download direto. Tá muito junto as duas possibilidades"*. Era um link único cuja URL já vinha com o download forçado — qualquer toque baixava. Agora são duas ações: Ver à esquerda (abre na aba) e Baixar à direita (salva com o nome e a extensão certos), com folga entre elas. Word e Excel continuam só com Baixar: o navegador não exibe esses tipos, e botão que não faz nada é pior que botão nenhum.
- 📅 Agenda no celular: o card de Configurações já traz o passo a passo. No Android, calendário assinado por link precisa ser ligado no app: Google Agenda → ☰ → Configurações → sua conta → marcar FattoCAC — Prazos. O feed foi medido hoje: responde 200 com 114 eventos — do nosso lado está tudo certo.
v1.15.0 · 🩺 A tela de Configurações voltou + mutirão de correções (dinheiro, prazos e acesso)17/08/2026
- 🔧 A tela de Configurações travava ("Essa tela travou") — resolvido. Julio: *"entro com e-mail e senha, vou em configurações e cai nessa página"*. Acontecia no celular e no computador, e só com quem já tinha instalado o app ou cujo navegador já tinha liberado a instalação — por isso parecia aleatório. Era um erro de programação no cartão de instalar o aplicativo. Nenhum dado foi perdido em nenhum momento.
- 🔐 Apagar um modelo de documento podia apagar arquivo de OUTRO despachante. A função recebia o caminho do arquivo vindo da própria tela e apagava sem conferir de quem era. Agora só apaga o que é seu. Era a falha mais séria encontrada no diagnóstico de hoje — e a única capaz de destruir arquivo.
- 🔒 Permissão de funcionário agora vale em TODAS as telas do painel. Antes só a lista de clientes respeitava a permissão: quem tivesse o acesso retirado ainda abria a ficha individual (com CPF, endereço, acervo e o Cofre) digitando o endereço. Eram 44 das 71 telas sem a trava, incluindo WhatsApp e importação de senhas. A trava passou a ser uma só, no lugar por onde todo acesso passa — tela nova já nasce protegida.
- 💵 O desconto dado na baixa não entrava no caixa. Cobrança de R$ 600 recebida por R$ 590 aparecia certa na linha, mas o total do mês continuava somando R$ 600 — e é esse total que vai para a declaração do MEI. Agora "Recebido", "Arrecadado" e os relatórios de faturamento somam o que realmente entrou.
- 💸 Reabrir um processo com desconto negociado descontava de novo. O valor guardado já vem com os descontos aplicados, e a tela tratava esse valor como se fosse o cheio: mexer no desconto ou no clube encolhia o processo a cada edição. Corrigido — o valor original é reconstruído ao abrir.
- 💰 Colar "R$ 1.500,00" criava cobrança de R$ 0,00, sem aviso nenhum. A leitura de valor digitado passou a ser única em todo o sistema e aceita os formatos do dia a dia. +28 verificações só para isso.
- ⏰ Um documento novo apagava o prazo de outro documento legítimo. Ao anexar um Comprovante de Capacidade Técnica, o sistema encerrava todos os anteriores da mesma categoria — mas esse comprovante é um por grupo de arma, e o cliente tem vários válidos ao mesmo tempo. O prazo do outro sumia. Agora só aposenta documento que é comprovadamente um por pessoa: na dúvida, o prazo fica.
- 🛰️ O painel ficava em branco quando só havia prazos VENCIDOS — sem radar, sem lista e sem sequer dizer "nada no radar". O cenário mais urgente era justamente o que desaparecia. Corrigido no painel e no app do cliente.
- 🌾 Documentos do IBAMA parados esperando fazenda. Julio: *"no CTF IBAMA e na INSCRIÇÃO IBAMA não existe nome de propriedade"*. Estavam classificados como documentos de fazenda, e o único botão oferecido era "criar a fazenda deste documento" — que nunca poderia funcionar. Agora o CTF é tratado como documento da pessoa (que é o que ele é) e aparece como tarja no topo da aba Propriedades, com o vencimento, valendo para todas as fazendas.
- 🌾 A Autorização de Abate agora aproveita o nome da fazenda que está no nome do arquivo ("Autorização de Abate - fazenda Caná - …") quando a leitura do documento não consegue extrair. Conservador: só cria fazenda quando há palavra de imóvel rural, para nunca vincular na terra errada.
- 👥 O convite de equipe não funcionava. Quem era convidado clicava no link e caía numa tela de login muda, sem caminho, mesmo já estando vinculado. Agora o convite leva direto para a tela de definir a senha e entrega no painel.
- 🧩 A extensão do navegador ignorava as permissões de módulo — a checagem existia no código mas nunca valia, porque a extensão entra por um caminho diferente do site. Agora vale.
- 📅 Guia de tráfego com validade DEDUZIDA (quando o documento não traz a data e o sistema calcula emissão + 180 dias) passa a ficar marcada como deduzida e avisa na importação. Prazo adivinhado não pode ter a mesma cara de prazo lido do papel.
- 🧾 Ainda: baixa recusada por falta de saldo deixou de sair calada (o botão dizia "Pago!" e nada acontecia); o aviso de desconto do orçamento não some mais quando o rateio foi parcial; e a varredura parou de acusar processo de cliente que está na lixeira.
- 🔒 +28 verificações automáticas (412 → 440) cobrindo o dinheiro digitado, o nome da fazenda no arquivo e a classificação dos documentos do IBAMA.
v1.14.9 · 🚪 O "Sair" agora sai de verdade + link de ativação do despachante corrigido16/08/2026
- 🚪 O "Sair" não deslogava. Era só um link para a tela de login: a sessão continuava válida e bastava voltar para o endereço do painel para estar dentro de novo. Num sistema que guarda endereço, coordenadas e acervo de arma dos seus clientes, isso é segurança, não conforto — pense no computador compartilhado no balcão. Agora o botão encerra a sessão de verdade (no servidor, não só no navegador) e zera o relógio das 8 horas. Vale para o painel e para a área administrativa.
- 🎟️ O link de ativação de um despachante novo levava para a área errada — caía no login por CPF, que é o do cliente, e a pessoa achava que a ativação tinha falhado. Agora existe um ponto de pouso próprio que abre a sessão e entrega direto no painel.
- 🔧 E o motivo real de esse link não funcionar: o Supabase só aceitava redirecionamento para o endereço ANTIGO (`fattocac.vercel.app`). O domínio oficial nunca foi liberado lá — configuração de antes de o domínio existir. Isso afetava também a troca de senha e o convite de equipe, que silenciosamente jogavam a pessoa no endereço velho. Liberado o domínio oficial e corrigido o endereço padrão.
- 🔒 +9 verificações (403 → 412): o "Sair" não pode voltar a ser link, tem de revogar a sessão e zerar o relógio; e o link de ativação não pode voltar a apontar para a área do cliente.
v1.14.8 · 🚪 Painel e app do cliente agora convivem no mesmo navegador16/08/2026
- 🚪 Resolvido: entrar no app do cliente não derruba mais o seu painel (e vice-versa). Julio: *"se ele acessa o clientes não consegue acessar o despachante, e vice-versa"*. A causa era estrutural — os dois guardavam a sessão no mesmo lugar do navegador, então um substituía o outro, e parecia "senha errada". Agora cada área tem o seu cofre de sessão e os dois convivem. Não precisa mais de janela anônima.
- 🧨 Escolha de risco, dita na cara: só o app do cliente mudou de cofre; o painel ficou onde estava. Se eu tivesse errado alguma detecção, o pior caso do lado do despachante seria o comportamento de antes — o lado que sustenta o produto não regride. Por isso os clientes precisam entrar uma vez de novo, e você não.
- 🔎 A mudança passou por revisão adversarial antes de subir (4 análises independentes + céticos tentando derrubar cada achado, 20 apontamentos, metade descartada). Três defeitos reais foram corrigidos antes do deploy: o sair do app do cliente esticava o limite de 8h do painel; a biblioteca reaproveitava o cofre errado em silêncio; e o token renovado podia não chegar à página, causando deslogão aleatório. +10 verificações (393 → 403) para nenhum deles voltar.
v1.14.7 · 🚪 "Entrei no app do cliente e agora não entro no painel" — agora a tela explica15/08/2026
- 🚪 O login do painel devolvia um formulário mudo quando o navegador estava com a conta do CLIENTE — e isso parece "senha errada", mas não é. O app do cliente já explicava isso desde 11/08; o painel não. Agora os dois lados dizem a mesma coisa, mostram qual conta está ocupando o navegador e oferecem o botão de sair.
- ⚠️ Isto NÃO resolve a causa, e é honesto dizer: painel e app do cliente usam o mesmo cookie de sessão (mesmo projeto Supabase), então entrar num derruba o outro — não dá para ter os dois logados no mesmo navegador. Enquanto a causa não for atacada, quem precisa dos dois ao mesmo tempo (o despachante testando a visão do cliente) deve abrir um deles em janela anônima ou em outro navegador. A correção de verdade (cookie separado por área) está desenhada e aguarda decisão — mexe na autenticação de todo mundo.
v1.14.6 · 🔗 O link que vai pro cliente agora leva à porta de entrada do app15/08/2026
- 🔗 O link do WhatsApp levava a uma página que não instala nada — achado do Julio: *"quando manda o link pro cliente tá indo /app/instalar, tem que mudar lá"*. Ele está certo: aquela vitrine perdeu o botão e o passo a passo na v1.14.2, então a mensagem prometia *"baixe o aplicativo (passo a passo)"* e entregava uma tela só com "acesse o sistema". Agora os dois passos apontam para a porta de entrada do app, que é onde o navegador oferece a instalação. Mesma mudança no botão Copiar link do app da ficha do cliente.
- ✏️ Única alteração na redação do Julio (o resto segue verbatim): o passo 1 virou *"Abra o aplicativo aqui"* e o passo 2 virou *"Se o celular oferecer Instalar, toque em instalar — o ícone fica na sua tela"*. Se ele preferir outra frase, é trocar.
- 🏠 Configurações mostrava o endereço ERRADO do portal do cliente (`/portal`, que hoje é o painel do despachante) — resto da troca de endereços da manhã. Quem lesse ali copiava o endereço errado. Corrigido para `/app`.
- 🔒 4 verificações novas (389 → 393) travando os três: o link do cliente não pode voltar a apontar para a vitrine, tem de ser a porta de entrada, e o endereço em Configurações tem de ser o do cliente.
v1.14.5 · 📲 ACHADO: era a porta de entrada do app desviando para o login15/08/2026
- 🎯 A causa, enfim — e foi o Renato quem entregou: *"só aparece depois de logado, aí que tá o erro"*. Ele viu o celular oferecer um atalho (com a insígnia do navegador no canto) em vez do aplicativo. Medido: para quem não está logado, `/app` responde 307 (desvia pro login), enquanto o site de referência que instala 100% responde 200 para qualquer visitante. O navegador confere essa porta de entrada antes de gerar o app instalado; se ela desvia, ele desiste e faz o atalho. Depois de logar, `/app` responde 200 — e aí instalava certo. Exatamente o sintoma.
- 🔑 A porta de entrada do app passou a ser uma página pública (a de login, que já manda quem está logado direto pro app). Agora ela responde 200 para todo mundo, logado ou não — que é o que o navegador precisa ver. +3 verificações (389), inclusive uma que amarra a porta de entrada à lista de páginas públicas: se alguém tornar essa rota privada de novo, o teste reprova.
v1.14.4 · 📲 Identidade do app dentro da área dele (2ª tentativa do conserto do instalar)15/08/2026
- 🔧 A identidade que criei na 1.14.3 estava FORA da área do app. Comparando campo a campo com o `hunter.cbwinehunter.com.br` (que instala 100% no aparelho do Renato): ele nem declara identidade — e quando não declara, ela vale o endereço inicial, que está sempre dentro da área. Passei as duas para dentro (`/app?cliente` e `/portal?despachante`), mantendo a correção da colisão da 1.14.3. +2 verificações (387).
v1.14.3 · 📲 O "instalar" não aparecia: os dois apps estavam com a mesma identidade15/08/2026
- 🐞 "O instalar não aparece" — achado e corrigido. Todo app tem uma identidade para o navegador (o campo `id` do manifesto). Na troca de endereços de hoje de manhã eu inverti endereço, nome e ícone dos dois apps, mas deixei a identidade colada no caminho: o app do CLIENTE (que foi para `/app`) herdou a identidade `/app`, que era do painel — e o painel está instalado. O Chrome identifica app instalado por essa identidade: viu `/app` já registrado, concluiu *"já está instalado"* e nunca ofereceu instalar. Mesmo sintoma de 11/08, causa diferente.
- 🔑 Cada app ganhou identidade própria e nova (`cac-cliente` e `cac-despachante`), que nunca foi usada — então o navegador enxerga dois apps novos, sem colidir com nada que já esteja instalado no aparelho. Trocar de endereço não pode mais trocar a identidade: 2 verificações novas no teste travam a reincidência (385 no total).
v1.14.2 · 📲 O convite de instalar saiu — agora é o instalador nativo do próprio navegador15/08/2026
- 📲 A faixa de instalar (as duas versões) saiu de vez — Renato: *"eu não quero uma faixa de instalar... instalação PURA do pwa"*, com o `hunter.cbwinehunter.com.br` como referência: lá não existe NENHUM código de instalação, só manifesto e ícones corretos, e o Chrome mostra o convite dele mesmo, no topo, sozinho. Removido: o componente `ConvidarInstalar`, o CSS da faixa e o script que capturava `beforeinstallprompt` na raiz.
- 🧭 Sem UI própria de instalação em nenhuma das duas áreas (`/app` do cliente e `/portal` do despachante) — o manifesto de cada um (já corrigido em 15/08) é o que basta para o Chrome oferecer o instalador nativo dele. O botão de instalar dentro do painel (Config e barra superior) continua — não é a faixa questionada, é um botão fixo que o despachante aciona quando quiser.
v1.14.1 · 📲 O convite de instalar ficou simples de vez — faixa no topo, um botão15/08/2026
- 📲 Segunda rodada do convite de instalar — a versão de ontem ainda tinha texto e ficava discreta no rodapé. Agora é uma faixa no topo, aparece assim que a página carrega, com um botão só. Sem descrição, sem "agora não" chamativo — só o ✕ pra fechar.
- 🧹 A vitrine pública (`/app/instalar`) emagreceu. Saiu a lista de 4 benefícios e o card separado de "instale o app" — a faixa do topo já cuida disso. Ficou só a marca e o botão de entrar.
v1.14.0 · 📲 Os dois apps trocaram de endereço + convite de instalar que aparece sozinho15/08/2026
- 🔁 Os dois apps trocaram de endereço. O app do cliente passou a ser `fattocac.com.br/app` (era `/portal`) e o seu painel passou a ser `fattocac.com.br/portal` (era `/app`). O motivo: o app que o cliente instala no celular merece o endereço mais curto e óbvio — é o que ele digita e o que você manda no WhatsApp.
- ⚠️ Se você tinha o painel instalado como aplicativo, apague o ícone e instale de novo. O atalho antigo aponta para o endereço velho. Isso vale uma vez só.
- 📲 O convite de instalar agora aparece sozinho, como no app do Wine Hunter: uma barra discreta no rodapé, com o ícone e o nome do app, e um botão que instala de verdade num toque. Antes era um botão passivo escondido no meio de uma página — quem não rolava até lá concluía que não dava para instalar. No iPhone, onde a Apple não permite instalar por botão, o mesmo convite mostra os 2 toques do Safari.
- 🧹 Saiu o “service worker” — uma peça técnica que só existia porque se acreditava que o navegador exigia para oferecer a instalação. Não exige (conferido no nosso outro produto, onde a instalação funciona 100%). Menos peça, menos coisa para quebrar; quem já tinha, o sistema remove sozinho.
- ✅ 9 verificações novas (374 → 383) travando a arquitetura dos dois apps: cada área com o seu manifesto, ícones distintos, escopos distintos, e a raiz proibida de declarar manifesto (foi o que quebrou a instalação em 11/08).
v1.13.3 · 🧯 Tela de erro amigável (a tela travada de hoje ganhou explicação e botão de recarregar)14/08/2026
- 🧯 A tela “Application error: a client-side exception has occurred” que o Julio pegou hoje em Configurações não vai mais aparecer assim. O sistema nunca teve uma tela de erro própria — quando algo travava do lado do navegador, aparecia a tela genérica e assustadora do Next.js. Agora aparece uma mensagem normal, em português, com um botão “🔄 Recarregar a página”. A causa mais provável do caso de hoje: 3 atualizações do sistema saíram seguidas enquanto a aba dele estava aberta, e o navegador ficou com uma versão antiga do JavaScript carregada — um recarregamento resolve.
v1.13.2 · 🔑 O “sem sessão” da extensão: achada a causa (a sessão morria em 30 min) · extensão v0.8.314/08/2026
- 🔑 A causa do “sem sessão” que o Julio pegou três dias seguidos: a sessão do FattoCAC era derrubada pelo servidor após 30 MINUTOS sem ninguém tocar numa página do sistema. Isso tinha sido configurado em 18/06 por segurança. Só que o fluxo real é: ele loga, vai trabalhar dentro do site da PF e fica horas lá — a aba do FattoCAC fica parada, e aos 30 minutos o servidor encerra a sessão. Aí a extensão não conseguia mais enviar nada. E a tela continuava parecendo logada porque o desenho da página tinha sido carregado antes (o navegador mostra a imagem velha). Corrigido: o tempo de inatividade subiu para 8 horas, igual ao limite absoluto de sessão que já existia — ou seja, dá para trabalhar o dia inteiro na PF sem a extensão cair.
- 🍪 Login em janela anônima agora funciona (extensão v0.8.3). A extensão abre janela anônima por conta própria (recurso pedido em 15/07), mas não conseguia ler o login feito nela — e dizia “sem sessão” com o operador logado na frente dela. Agora ela procura o login em todas as janelas, inclusive anônimas.
- 🐞 Cookie duplicado não derruba mais a extensão. Quando a mesma sessão ficava gravada em dois endereços (com e sem `www`), a extensão colava o dado duplicado, não conseguia ler e concluía “sem sessão” — de forma permanente, até alguém limpar o navegador.
- 💬 A mensagem passou a dizer a verdade. Antes era sempre “faça login” — inclusive para quem já estava logado, o que fazia o operador repetir o mesmo passo sem sair do lugar. Agora ela diz o que realmente aconteceu: sessão vencida pede F5 na aba do FattoCAC; sessão não encontrada explica o que abrir; janela anônima explica a permissão que falta.
- 🩺 Diagnóstico de 1 clique. Quando o teste de conexão falha, o popup da extensão passa a mostrar (e copiar para você colar no WhatsApp) o que ela encontrou em cada endereço — sem expor senha nem token, só o motivo. É o que faltava para não precisar mais adivinhar.
v1.13.1 · 🌾 Autorização de abate: 4 fazendas do Alexandro sumiam ao subir junto · prazo vencendo aparece na lista de Clientes14/08/2026
- 🌾 Achado no cliente Alexandro Alves dos Santos: das 5 renovações de Autorização de Abate que ele subiu (uma por fazenda — Aguapé, São José, Vovó Sirley, Racanelli Agro, Arco Íris), só a de Aguapé virou registro. As outras 4 foram descartadas em silêncio como "duplicata" — o sistema comparava só cliente+validade, e as 5 tinham a MESMA validade (mesmo período de manejo). Autorização de abate é por FAZENDA: agora o duplicado exige a mesma fazenda também, não só a mesma data. As 4 antigas continuavam "vencidas" na lista por isso — não existia a irmã nova para aposentá-las. Julio: re-suba os 4 documentos que faltaram (São José, Vovó Sirley, Racanelli Agro, Arco Íris) — agora cada um vira seu próprio registro e aposenta o antigo sozinho.
- ⏰ Clientes: quem tem prazo vencendo aparece na lista mesmo "inativo". Julio: *"parou de contar prazo daqueles que não me pediram serviço"*. O radar de prazos nunca dependeu do filtro "só ativos" — mas a lista de Clientes, sim. Agora quem tem CRAF/GT/CR/IBAMA vencendo em até 30 dias aparece na lista com um selo ⏰ (dias), mesmo sem processo em andamento.
v1.13.0 · 🧾 Forma de pagamento também no orçamento · extensão reordenada (v0.8.2)14/08/2026
- 🧾 Julio: “esse campo de FORMA DE PGTO precisa entrar também no orçamento, não só no recibo”. O campo já existia na tela, mas só vivia para alimentar o botão “Gerar recibo” — agora é dado do próprio orçamento: fica salvo, sai no documento em tela e no PDF do orçamento também.
- 🔵 Extensão (v0.8.2) — os 4 passos ficaram do mesmo jeito, na ordem certa. Julio: “as pessoas clicam direto em Baixar e enviar sem preencher nada”. Agora “Cliente e documento” vem primeiro (aberto, não escondido atrás de uma seta), “Baixar e enviar” é o passo 2, os botões de contexto (anexos/andamento) vêm depois, e “quando algo der errado” ficou por último — os quatro na mesma cor e tamanho. Um aviso ao vivo (✅/⬜ cliente · documento) mostra o que falta sem travar o botão: o preenchimento automático de cliente/categoria continua funcionando igual.
v1.12.4 · 📋 Ordem de conferência na ficha + a data com ano 82026 que bagunçava a lista12/08/2026
- 🔎 Julio: “tem GT lá em cima e GT lá embaixo? qual é a ordem cronológica… fica difícil contar as GT, autorizações”. Eram duas causas, as duas achadas e corrigidas.
- 📅 A primeira era uma data com ano 82026. Alguém digitou errado, o banco aceitou (o campo é de data, e 82026 é um ano válido para ele), e aí duas coisas ruins: a tela escrevia “Invalid Date”, e como 82026 é maior que qualquer ano de verdade, aquelas 4 GTs pulavam para o topo de toda lista ordenada por data. Varri a base inteira: 14 processos com ano 0001, 0206, 20026, 20269, 62026, 72026 ou 82026. Todos corrigidos — cada um pela data que já estava num campo vizinho da mesma linha; os que não tinham de onde tirar ficaram em branco, para você preencher, em vez de eu inventar.
- 🔒 E agora não entra mais: data fora de 1900–2100 é recusada na hora de salvar, em todos os campos de data do processo. Se ainda existir alguma no banco, a tela mostra ⚠ com a data crua em vez de “Invalid Date” — dá para ver o que está gravado e corrigir.
- 📋 A segunda era a ordem. Linhas do mesmo dia vinham na ordem que o banco quisesse, mudando a cada F5 — impossível contar. Agora a ficha e o Financeiro por processo saem em ordem de serviço (A→Z), do mais recente para o mais antigo: todas as GTs juntas, todas as autorizações juntas. A ordem está escrita no cabeçalho da tabela, para você não precisar adivinhar.
- ✅ 8 verificações novas (366 → 374).
v1.12.3 · 💸 Processo na lixeira não cobra mais: o valor sai junto do financeiro12/08/2026
- 💸 Renato: “apagou os processos repetidos do Carlos mas os valores permanecem no financeiro… lá é pra ficar apenas 1.900”. Estava certo. Apagar o processo mexia só no processo — a cobrança dele continuava de pé. E o total do cliente sai da cobrança, não do processo: os 12 processos vivos somavam R$1.900 e a ficha mostrava R$2.950, porque as 6 cobranças dos apagados seguiam como pagas.
- ✅ Agora a cobrança vai junto. Mandou o processo para a lixeira, a cobrança dele é cancelada e sai de todas as contas. Restaurou o processo, ela volta — como pendente, nunca como paga: quem dá baixa é o Financeiro, olhando o dinheiro que entrou de verdade. Cancelamento que você fez na mão continua de pé; o sistema não mexe nele.
- 🧹 Limpei o que já estava torto: o Carlos Felipe fechou em R$1.900 exatos, e as 2 cobranças das GTs do Alexandro apagadas hoje saíram da conta.
- 🔎 E achei mais, de exclusões antigas: ainda há R$1.025 em 9 cobranças presas em processos que já estavam na lixeira — Emílio (R$400), Dirceu (R$250), João Victor (R$150), Iago (R$100), Valdir (R$75) e Iury (R$50). Não mexi: são exclusões que não vieram desta limpeza, e dinheiro de cliente só se mexe com o seu OK.
v1.12.2 · 📋 GTE de Transferência nativa: origem no terceiro, e a “arma aleatória” explicada12/08/2026
- 🔎 A “arma aleatória” não era aleatória — e não era bug de seleção. Abri o seu modelo `Solicitacao de GTE manual - Transferencia entre CAC.docx` e li os campos dele: existem campos de mala-direta só para nome, CR, telefone, CPF, RG, órgão, UF e o endereço do cliente. O LOCAL DE ORIGEM está digitado à mão dentro do Word (“Avenida Rio Grande do Sul, Nº 667, Setor S, centro, CEP 78.575-000, Juara-MT”) — e a linha da arma também: “Pistola · Imbel · MD-2 · .380 Automatic · HMA13680 · 1858190”. Aquela é a arma de exemplo de quem montou o modelo. Não existe campo de arma nesse arquivo, então a arma que você escolhe na tela nunca teve por onde entrar.
- 📋 Por isso a GTE de Transferência virou modelo do sistema (menu Documentos → modelos, sem Word). Nela o sistema manda nos três pontos: LOCAL DE ORIGEM = endereço do terceiro (de onde a arma sai), LOCAL DE DESTINO = endereço do cliente (para onde vai) e a tabela de produtos controlados vinda da arma selecionada. Sem terceiro escolhido a origem não inventa nem cai no endereço do cliente — ela diz que falta escolher, porque GTE com origem errada autoriza um transporte que não é o que vai acontecer.
- 🐞 E havia um bug de verdade, nos modelos .docx que usam a arma do terceiro: os campos `terceiro_*_arma` liam as colunas antigas do cadastro do terceiro (de quando ele só podia ter uma arma). Desde que o terceiro passou a ter várias, o documento continuava imprimindo a primeira arma que aquele terceiro teve, ignorando a sua escolha. Agora a arma selecionada manda, campo a campo, e o cadastro antigo só cobre o que faltar.
- 📄 A lista de documentos que geram prazo agora está completa na nota da v1.12.0 — faltava citar o CTF/CR-IBAMA, que tem prazo sim (obrigado, Renato).
v1.12.1 · 🔫 A ARMA DO TERCEIRO no documento · raias em português · a chave que aposentou guia demais12/08/2026
- 🔫 O Termo de Doação saía com a arma toda em branco — resolvido. A tela de gerar documento dentro do cliente só lia as armas do cliente. Só que num termo de doação a arma é do doador, que é o terceiro: o caso mais importante do modelo era justamente o único que a lista não atendia. Agora as armas do terceiro aparecem no seletor, com o nome do dono em cada uma — porque num documento com duas partes, “Taurus 838” sem dono não diz de quem é.
- 🎯 E se só existe uma arma, ela já vem escolhida (com aviso na tela, para não ser mágica silenciosa). Antes, quem abria o modelo pelo cliente não passava por seletor nenhum e o documento saía vazio sem dizer por quê. Com duas ou mais, o sistema não adivinha — avisa que falta escolher.
- ⚠️ “Eu, , brasileiro(a)…” — aquela primeira linha furada acontecia quando o doador não tinha sido escolhido. Agora a tela avisa em amarelo que o documento começa por ele.
- 🔩 Sentido das raias agora é DIREITA ou ESQUERDA, nos dois cadastros (arma do cliente e arma de terceiro). “Dextrógiro (direita)” obrigava a ler duas palavras para entender uma. O que o sistema grava continua igual — é o que o documento da PF espera.
- 🩹 Corrigi um erro meu do mesmo dia. A limpeza automática da v1.12.0 usava “mesma arma + mesma finalidade” para decidir que uma guia substituiu a outra — e guia de tráfego é por destino. Ela aposentou 37 guias e 15 autorizações, entre elas guias válidas até 16/01/2027 para Nova Bandeirantes, Brasnorte e Porto dos Gaúchos, porque existia outra da mesma arma vencendo em 17/01 para Tabaporã. Desfeito no mesmo dia e refeito com a chave certa: guia só é substituída pelo mesmo destino, e autorização de abate só pela mesma fazenda. Na dúvida, não aposenta — prazo a mais é ruído, prazo a menos é arma sem guia numa abordagem.
- ✅ 11 verificações novas (350 → 361), incluindo o caso real das guias de Brasnorte e Tabaporã.
v1.12.0 · 🔁 DOCUMENTO NOVO APOSENTA O VELHO: o prazo renovado sai sozinho da fila12/08/2026
- 🔁 Sua pergunta de hoje (14:48): “anexei o documento novo, dá pro sistema ver que é o mesmo do prazo e tirar da página?” — agora dá. Ao anexar o documento renovado, a data nova entra no cadastro e o prazo velho sai sozinho da página de Prazos.
- 📄 A lista completa do que vale para isso (Renato pediu para não faltar nenhum): CRAF · CR · guias de tráfego (GTE, tiro treino, tiro competição, caça manejo, caça treino) · CTF/CR-IBAMA · Autorização de Abate · laudo psicológico · comprovante de capacidade técnica · laudo em geral. Estes são os documentos de procedimento, que têm validade e por isso viram prazo. Não entram — e continuam não entrando — os de identificação (RG, CPF, CNH), os auxiliares (certidões, declaração de filiação a clube, comprovantes, nota fiscal, procuração, CAR, ocupação lícita) e a Autorização de Entrada em propriedade, que não tem validade.
- 🧭 Por que não acontecia antes: o prazo aqui não é uma linha guardada — ele é calculado na hora a partir da data do cadastro. E o motor de anexo só preenchia campo vazio (regra escrita para o cadastro inicial, com medo do OCR sobrescrever o que você digitou). Numa renovação isso é o avesso: o documento novo entrava, o arquivo era guardado, e a data velha continuava mandando.
- ➡️ A regra nova, em uma frase: a data só anda para a frente. Papel mais antigo reanexado não retrocede o cadastro. Isso não é preciosismo — foi medido: na importação dos 88, 6 das 7 armas com CRAF vencido tinham documento anexado depois do vencimento, e era tudo papel velho. Sem essa trava, a importação teria apagado renovação boa.
- 🗃️ Guia e autorização não são sobrescritas, são aposentadas. A nova nasce ao lado da velha, e a velha sai da fila de prazos sem sair do sistema — ela é histórico do acervo e pode ser pedida numa fiscalização.
- 🧹 Limpeza do que já estava preso: medido em produção hoje — 11 autorizações do IBAMA e 8 lembretes já tinham substituto e continuavam alarmando; 2 clientes (Zacareli e Fábio) estão com o CR do cadastro atrás do documento anexado, e se resolvem reanexando o CR.
- 📲 O aviso da pasta ao cliente já está escrito (pedido do Renato, 14:49): a mensagem diz qual folha trocar, qual imprimir e qual tirar da pasta. Falta ligá-la ao disparo do WhatsApp — vem junto com a tela da pasta.
- ✅ 30 verificações novas (314 → 344), incluindo a que impede alguém de reintroduzir o “preenche só se vazio” e a que impede aposentar a guia da outra arma do mesmo dono.
v1.11.0 · 🗂️ A PASTA DA FISCALIZAÇÃO: a regra de quem entra (e a ancoragem que faltava)12/08/2026
- 🗂️ Começou a pasta para abordagem da PF. A regra de seleção está pronta e testada: entra só o que vale hoje — sem documento vencido, sem GT vencida, sem CRAF de arma que saiu do acervo.
- 🎯 Achei a ancoragem que você perguntou: é o vínculo do documento com a arma. CRAF e GT só entram se apontarem para uma arma ainda no acervo. Documento de arma solto — aquele que já mostrava o selo “fora da arma” — não entra: não há como provar de qual arma ele é. É por isso que a montagem trazia quase nada: o que ficou de fora foi tudo o que não tem essa âncora.
- 📋 A ordem é a que o fiscal pede: identificação → registro de CAC → CRAF das armas → guias de tráfego → autorizações e propriedade → laudos. Categoria nova que ninguém mapeou ainda entra assim mesmo, no fim — melhor um documento a mais do que descobrir a falta na abordagem.
- 🔔 A comparação do “sua pasta mudou” também está pronta: o sistema separa o que é imprimir novo, o que é substituir folha e — o mais importante — o que precisa ser retirado da pasta por não valer mais. Folha vencida esquecida lá dentro é justamente o que não pode chegar à mão do fiscal.
- ⏳ Falta a tela e o PDF — vêm no próximo passo, já em cima desta regra. 21 verificações novas (293 → 314) travam cada exclusão, uma a uma.
v1.10.9 · 💵 Desconto no recebimento: agora dá para lançar quanto ENTROU de verdade12/08/2026
- 💵 Campo “Recebi (R$)” na baixa da cobrança. Deixe em branco quando o cliente pagar o valor cheio — é o caso normal. Se ele pagar menos, digite quanto entrou: a diferença fica registrada como desconto na baixa, e o valor combinado do processo não é tocado.
- 🧾 A cobrança passa a mostrar as duas informações quando houve abatimento: *“recebi R$ 590,00 · desconto R$ 10,00”*. Quando recebeu cheio, nada aparece — sem poluir as centenas de cobranças normais.
- 🚫 Recebido maior que o cobrado é recusado, com explicação: isso não é desconto, é pagamento a maior, e o caminho dele é o crédito em haver.
- 🔒 O que muda no seu caixa: antes, para bater um recebimento menor, era preciso editar o valor do processo — e o histórico perdia a diferença entre “cobrei menos” e “dei desconto na hora”. Agora as duas coisas ficam separadas e visíveis.
- 📌 As 385 baixas antigas foram marcadas como recebidas pelo valor cheio — que é o que elas foram, já que até hoje não havia como registrar diferença.
v1.10.8 · 💵 Base do VALOR RECEBIDO e do desconto na baixa (falta a tela)12/08/2026
- 💵 Você perguntou se existia desconto no recebimento — não existia. Conferi: a cobrança só guardava o valor lançado. Quem recebia R$ 1.290 numa cobrança de R$ 1.300 só tinha uma saída: editar o valor do processo — e aí sumia a diferença entre “cobrei 1.290” e “cobrei 1.300 e dei 10 na hora”.
- 🧱 A base está pronta: a cobrança passa a ter valor recebido, e o desconto da baixa é calculado pelo próprio banco (lançado − recebido). Calculado, e não digitado, de propósito: se fosse gravado pelo sistema, um dia haveria um valor que não fecha com a conta — e duas verdades.
- 🔒 O valor combinado continua intocado. É a regra desde 09/08: o que foi contratado não se reescreve. O que varia passa a caber em campo próprio.
- ⏳ Falta a tela da baixa (o campo para digitar quanto entrou) e a linha nos relatórios. Vem no próximo passo — a migração está pronta, aguardando liberação para aplicar.
v1.10.7 · 🎯 Os dois apps agora aparecem lado a lado, com o ícone de cada um12/08/2026
- 🎯 “Instalou o do logo azul e não o amarelo, clientes.” Investigado: não era erro de rota. Aquele botão instala o painel — é o que ele faz por desenho. O defeito era de comunicação: o card dizia “instalar o FattoCAC” como se houvesse um só, e quem tem dois produtos na cabeça clica no primeiro que vê.
- 🖼️ Agora os dois aparecem lado a lado, com o ícone de cada um antes de instalar: o azul é o seu (o painel, login por e-mail) e o âmbar é o do cliente (login por CPF). Ninguém confunde duas imagens; todo mundo confunde dois textos.
- 🔗 E o card do cliente leva direto para a página dele — a mesma que você manda no WhatsApp. Para instalar o app do cliente no seu próprio celular, é por lá, não pelo card do painel.
v1.10.6 · 🧊 A logo nova agora aparece em TODO lugar — site, painel e app12/08/2026
- 🧊 Você estava certo: a logo principal não tinha mudado. Eu só havia refeito os ícones do celular — a marca que aparece dentro do sistema (topbar, tela de login, menu do app do cliente, site) vinha de outro lugar e continuava a antiga, ainda com o ponto vermelho que você mesmo baniu.
- ✅ Atualizada em todos os pontos, no mesmo padrão do FattoCAC Clientes: cubo com volume e metal azul, e o miolo em ciano — vermelho nunca mais na marca. O desenho e as medidas são os mesmos, então nada saiu do lugar nas telas.
- 🔵 O ponto vermelho também saiu da marca do site.
v1.10.5 · 🖼️ Agora dá para subir a SUA logo — em Configurações12/08/2026
- 🖼️ Faltava a tela para subir a logo — e a falha era nossa. A logo sempre foi usada no papel timbrado do orçamento e do recibo, mas não havia onde enviá-la: a da Top Guns foi colocada no servidor à mão, pela equipe. Funcionava para quem nós configurávamos e era impossível para quem se cadastrasse sozinho.
- ✅ Em Configurações → “Logo da sua assessoria”: envie, veja a prévia, troque ou remova. Ela passa a sair no orçamento, no recibo e na página do app que você manda para o cliente — uma logo só, nos três lugares.
- 💡 PNG com fundo transparente fica melhor no timbrado; ~600 px de largura basta. SVG não serve — o PDF não desenha vetor e a logo sairia em branco no documento do cliente.
v1.10.4 · 🧊 O CUBO da Fatto voltou para a logo + 🛍️ a página do app do cliente virou vitrine12/08/2026
- 🧊 O cubo voltou — e o erro foi meu. Você pediu uma atualização da logo e eu troquei a marca: o hexágono (o cubo da Fatto, que é a marca-chefe) tinha sumido. Agora ele é o protagonista do ícone, com o metal e o volume que a atualização pedia, e o alvo voltou para dentro dele, como no desenho original.
- 🛍️ A página do app do cliente foi refeita como vitrine. É a primeira coisa que o cliente vê do produto, antes de qualquer senha — então deixou de ser um manual e passou a ter ordem de leitura: quem é (as duas marcas) → o que ele ganha (4 linhas, não um parágrafo) → entrar → instalar.
- 🎯 Botão grande “Acesse o sistema aqui”, e o “Instale o app” logo abaixo, em card próprio. Entrar vem antes de instalar de propósito: quem chega quer ver o que é, não assumir compromisso.
- 🤝 A marca do despachante ao lado da FattoCAC. Basta acrescentar `?d=<id do despachante>` ao link — aí aparecem as duas. (Ainda com monograma: o sistema não tem upload de logo do despachante; quando tiver, o lugar já está reservado.)
- 📸 Instagram @fattocac no rodapé da página.
v1.10.3 · 📲 O botão de instalar agora aparece SEMPRE — nos dois apps12/08/2026
- 📲 O botão sumia quando o navegador não oferecia a instalação automática. Conferi em produção: está tudo certo do nosso lado — o endereço do app, o arquivo de serviço, os ícones, o aviso na página. Mas quem decide oferecer o atalho de um toque é o navegador, com critérios próprios que mudam de aparelho para aparelho e de versão para versão.
- ✅ Enquanto ele não oferecia, você não via botão nenhum — e concluía, com razão, que não existia. Agora o botão está sempre lá, nos dois apps: quando o navegador permite, ele instala direto; quando não permite, abre o caminho daquele aparelho em dois toques — não os oito passos de antes.
- 🖥️ E o caminho do computador entrou junto: o ícone de instalar fica na barra de endereço, algo que quase ninguém sabe procurar.
v1.10.2 · 📄 O dossiê voltou a trazer TODOS os documentos + 📲 botão de instalar também no painel12/08/2026
- 📄 “Baixar tudo” trazia só dois documentos — era o relógio, não um filtro. Conferi: o cadastro tem 41 documentos que deveriam entrar, todos com arquivo válido, em 11 categorias. Nada estava sendo filtrado. O que acontecia é que o sistema buscava os arquivos um por um, e 41 buscas em fila estouravam o tempo da operação: o PDF era cortado no meio do caminho.
- 🔎 E por que sempre os comprovantes? Porque os documentos entram do mais recente para o mais antigo — então o pedaço que dava tempo de montar era justamente o dos últimos anexados. Não era o sistema escolhendo comprovantes; era o tempo acabando antes de chegar no resto.
- ⚡ Agora os arquivos são buscados em paralelo, em grupos de 8, e o tempo permitido para a operação subiu. Um dossiê de 40 documentos que antes não terminava agora sai inteiro — e vale para o dossiê do painel e o do app do cliente, que tinham o mesmo problema.
- 📲 Botão de instalar no painel. Você notou certo: não aparecia porque nunca existiu — o botão só tinha sido posto na página do app do cliente. Agora está em Configurações, e some sozinho para quem já instalou.
v1.10.1 · 📱 O acervo parou de escapar da tela no celular12/08/2026
- 📱 Acervo alinhado à tela. As colunas do acervo (calibre, nº de série, CRAF, validade) carregavam uma trava de “não quebrar linha”, feita para a tabela larga do computador. No celular, onde cada linha vira um cartão, essa trava faz o oposto: o texto não pode quebrar e empurra o cartão para fora da tela. Agora, em modo cartão, o valor quebra e acompanha a largura.
v1.10.0 · 🛰️ O radar aparece no app do cliente mesmo sem nada vencendo + 📱 os cards pararam de sair da tela11/08/2026
- 🛰️ O radar não aparecia no app do cliente — e a culpa era minha. Conferi os dois cadastros de teste: nenhum dos dois tem prazo nos próximos 30 dias. Eu tinha escondido o radar quando não há nada, justamente o contrário do que foi pedido: *“mesmo que não tenha nada vencido, o radar fica girando pra ele”*. Agora ele aparece sempre: quando está tudo em dia, gira vazio e mostra “✓ nada vencendo nos próximos 30 dias”.
- 📱 Os cards saíam da tela no celular — achado o motivo. Havia uma regra antiga obrigando toda tabela a ter 520 pixels de largura no celular. Ela também valia para as tabelas que viram cartão — então o cartão nascia com 520px dentro de uma tela de 360 e vazava, arrastando o card inteiro junto.
- 📐 Responsividade tratada na raiz, não escondida. Os números grandes (R$ 12.345,67) agora encolhem junto com a tela em vez de rasgar o cartão; palavras longas sem espaço (protocolo, e-mail, nome de arquivo) quebram sozinhas; e o funil do pipeline, que tem 7 colunas, rola só ele — sem levar o card junto.
- 📏 A folga lateral acompanha a tela: no celular o card encosta na borda com a mesma margem da página, sem aquele “degrau” entre o card e a lateral.
v1.9.99 · 📲 Agora o botão de instalar aparece de verdade — a página do cliente anunciava o app errado11/08/2026
- 📲 “O botão de instalar não aparece, mesmo desinstalando e reinstalando.” E não ia aparecer mesmo: o problema não era a instalação anterior. A página do app do cliente estava anunciando o app do despachante — como o painel já estava instalado no aparelho, o navegador concluía “esse app já está instalado” e nunca oferecia o convite.
- 🧩 Por quê: havia um manifesto “de sistema” que se impunha em todas as páginas, inclusive nas do portal, apagando o do cliente. Agora cada app declara o seu, e os dois têm identidade e território próprios: FattoCAC manda em `/app`, FattoCAC Clientes manda em `/portal`.
- ⏱️ Segundo motivo, corrigido junto: o convite do navegador chega muito cedo, antes da tela terminar de carregar, e não se repete. Quem só começava a escutar depois já tinha perdido. Agora ele é capturado no primeiro instante da página e guardado até você tocar no botão.
- 🧪 10 verificações novas (275 → 285) impedem a volta do problema: os dois manifestos precisam ter endereço, identidade, território, nome e ícone distintos, e o manifesto “de sistema” não pode ressurgir.
v1.9.98 · 📲 Botão que INSTALA o app (um toque) + 🚫 fora o vermelho da logo + 🔎 a mensagem de login parou de mentir11/08/2026
- 📲 Botão que instala de verdade. A página de instalação era um manual de oito passos somados (iPhone e Android lado a lado) pedindo que o cliente caçasse o menu de três pontinhos. Agora é um botão: o navegador abre a caixa nativa e instala. No iPhone, onde a Apple não permite instalar por botão, aparecem só os dois toques do Safari — nunca os dois manuais juntos.
- 🎨 Página de instalação refeita, mostrando o ícone real do app (o mesmo que vai ficar na tela do celular), o nome e o que ele resolve. Quem já instalou vê “pronto, já está instalado” em vez de instruções repetidas.
- 🚫 Fora o vermelho da logo. No mundo do CAC vermelho é indeferimento, apreensão, documento vencido — a marca não pode carregar essa cor. O ponto central do app do despachante ficou ciano; o do cliente segue âmbar. O vermelho continua onde ele realmente significa isso: prazo vencido e inadimplência, dentro do sistema.
- 🔎 A mensagem de erro do login parou de mentir. Ela dizia “CPF/e-mail ou senha incorretos” e fazia todo mundo mexer no CPF — inclusive quando o cadastro estava perfeito e o que falhava era a senha. Agora são duas mensagens distintas: sem cadastro manda falar com o despachante; senha errada lembra que ela veio na 2ª mensagem do WhatsApp, sugere o 👁️ e avisa que dá para pedir outra.
v1.9.97 · 🚨 O app do cliente virou APP PRÓPRIO (era ele que “pedia @”) + 🎨 logos novas + 👁️ ver a senha11/08/2026
- 🚨 “Logava por CPF e agora pede @” — achado e resolvido. Existia um manifesto só no sistema inteiro, apontando para o painel. Quem instalava o app pelo portal levava para a tela do celular um ícone que abria a área do despachante — que pede e-mail. Não era o login do cliente que tinha mudado: era o atalho, que nunca apontou para ele.
- 📲 Agora são dois apps de verdade: FattoCAC (despachante, abre em `/app`) e FattoCAC Clientes (cliente, abre em `/portal`, entra com CPF). Cada um com nome, cor e ícone próprios.
- ⚠️ Quem já instalou precisa reinstalar: apague o ícone antigo do celular e instale de novo pela página do portal. O celular guarda o atalho de quando a instalação foi feita — por isso o antigo continua abrindo no lugar errado.
- 🎨 Logos novas, metalizadas e com o nome escrito. Anéis com brilho e volume, ponto central aceso — vermelho no app do despachante, âmbar no do cliente —, e “FattoCAC” legível em vez do desenho apagado de antes.
- 👁️ Botão de ver a senha no login do painel e no do cliente. A senha do cliente é gerada pelo sistema e chega por WhatsApp, com maiúscula, número e símbolo — digitar isso às cegas no celular erra, e o erro que aparecia (“usuário ou senha inválidos”) não distinguia senha errada de falta de acesso.
- 🚪 E quando o navegador está com a outra conta, o app agora diz isso em vez de devolver para um formulário mudo: painel e app do cliente usam contas diferentes e o navegador só guarda uma por vez. A tela mostra quem está conectado, oferece sair, e sugere a janela anônima para usar os dois ao mesmo tempo.
v1.9.96 · 🔁 As colunas do radar voltaram a girar (o revezamento estava travado)11/08/2026
- 🔁 Consertado o “travou o revezamento”. As duas listas ao lado do radar pararam de subir linha a linha. E o mais estranho: elas estavam girando — o relógio interno andava certinho a cada 2,6 segundos. O que não mudava era a tela.
- 🔎 Por quê: cada linha era identificada por “cliente + documento + dias”. Só que o Emílio tem sete prazos idênticos — mesmo cliente, mesmo CRAF, mesmos 21 dias vencidos. Para o navegador, sete linhas com a mesma identidade: ao avançar uma posição, ele reaproveitava as mesmas linhas e nada se mexia. Girava sem sair do lugar.
- ✅ Agora cada prazo carrega uma identidade própria (a arma, a guia, o lembrete de origem), então linhas repetidas são realmente diferentes entre si e o revezamento aparece — inclusive quando o cliente tem várias armas vencendo no mesmo dia, que é justamente quando você mais precisa ver.
- 🧪 A conta do rodízio virou 15 verificações automáticas (a bateria foi de 260 para 275), incluindo uma que reprova a volta das identidades repetidas.
v1.9.95 · 📲 O RADAR chegou no app do cliente — e o app inteiro foi revisado para o celular11/08/2026
- 🛰️ O radar agora abre o app do cliente. Ele vê os próprios prazos girando nos três anéis (7 / 21 / 30 dias) assim que entra. No círculo aparece o tipo do documento — CRAF, GT, autorização — e não o nome dele, que ali seria redundante.
- 🔫 Embaixo do radar, qual arma. A lista rola mostrando o documento e a arma com o modelo — porque “pistola” não diz nada para quem tem quatro: é preciso saber que é a Glock que está vencendo, e não a Imbel. São 5 linhas por vez, para a tela caber inteira no telefone.
- 📱 As tabelas viram cartões no celular. Acervo, cobranças, prazos e documentos deixaram de exigir rolagem lateral: no telefone cada linha vira um cartão com o nome de cada campo do lado. Antes, a validade do CRAF — o dado mais importante — só aparecia arrastando a tela para o lado.
- 💰 “Quanto eu devo?” em uma olhada. As cobranças agora começam pelo total em aberto, em número grande, com quantas são e quando vence a próxima. Se não há nada em aberto, ele lê “você está em dia” — que também é uma resposta.
- 📂 Processos entram filtrados por “em andamento”. Quem tem 30 processos via os concluídos enterrarem o que ainda está correndo. Um toque mostra todos; nada foi escondido.
- 📲 O convite para instalar o app passou a aparecer no fim da página. A página de instalação já existia, mas só chegava nela quem recebesse o link — agora quem abre pelo navegador encontra sozinho (e quem já instalou não vê o convite).
v1.9.94 · 🧾 Ler NOTA FISCAL da arma do terceiro + 🔎 seletor de arma com busca (e os terceiros nele) + 🧭 ALERTA FINAL na linha do título11/08/2026
- 🧾 A nota fiscal agora vira cadastro de arma. Na ficha do terceiro, ao lado de “Ler CRAF”, entrou “Ler nota fiscal”. Quando o terceiro é quem vendeu ou doou, muitas vezes o que existe em mãos é a nota — e não o CRAF (que às vezes nem saiu). O sistema lê a descrição do produto e preenche marca, modelo, calibre, nº de série, cano e o que mais a nota trouxer. Ele nunca confunde o número da nota com o registro da arma, e o que não estiver escrito ele deixa em branco em vez de inventar.
- 🔎 Seletor de arma do gerador de documentos, refeito. Estava impossível de usar: a lista vinha na ordem de cadastro, tudo num bloco só, com o nome do dono no fim de cada linha. Agora tem campo de busca (por arma, série ou nome do dono), a lista vem em ordem alfabética do dono e separada em três blocos: deste cliente, TERCEIROS e outros clientes.
- 👤 As armas dos TERCEIROS entraram nessa lista — e vêm antes dos outros clientes. Faltava justamente o caso mais importante: no Termo de Doação a arma é do doador, que é terceiro. Sem isso, o documento que mais precisa da lista era o único que ela não atendia.
- 🧭 “ALERTA FINAL” subiu para a linha do título, centralizado — como você pediu.
- 🔤 “Direita/esquerda” no sentido das raias também na arma do terceiro. A arma do cliente já dizia assim; essa tela tinha ficado para trás.
v1.9.93 · 📘 Manual em dia com tudo que mudou + 🔍 o botão de diagnóstico saiu da frente (extensão v0.8.1)11/08/2026
- 📘 O manual estava ensinando uma coisa que não existe mais. Ele dizia que, no orçamento, o serviço já aberto *“aparece ali para você LIGAR em vez de criar de novo”* — e essa opção foi removida hoje, justamente por ter escrito por cima de processos encerrados. Corrigido, e com a regra nova explicada: orçamento aceito sempre abre processo novo; se já abriu à mão, é *deixar de fora*.
- 📘 Manual ganhou o que faltava: como funciona o radar e as duas listas ao lado · desconto na linha + abatimento no fechamento (com o exemplo real: 12 GTs de R$ 60 com R$ 120 de abatimento viram 12 de R$ 50) · várias armas por terceiro e como ligar o terceiro ao processo · o documento vindo preenchido · o valor travado do processo e onde ver quem mexeu · o botão Atualizar andamento da extensão.
- 🔍 O botão “Mapear esta tela” saiu da frente na extensão. Ele não serve ao dia a dia — só quando a PF muda o site e a extensão para de reconhecer a tela. Agora fica guardado em “quando algo der errado”, com a explicação de que ele não envia nada sozinho e não mexe em nada na PF.
- ℹ️ Por que ele continua existindo: foi esse botão que resolveu o impasse de agosto, mostrando que o sistema novo da PF não entrega os dados como o antigo entregava. A PF está reconstruindo o portal ao longo do 2º semestre — quando quebrar, é por ele que se descobre o porquê sem precisar de alguém técnico na sua frente.
v1.9.92 · 💸 O desconto do fechamento agora desce para os processos + 📐 orçamento em uma folha + 👤 documento já vem com o terceiro11/08/2026
- 💸 O rateio do desconto final não estava chegando nos processos — e você viu na hora. No caso do Emílio: 12 GTs de R$ 75, com os 15% do clube e mais R$ 3,75 de abatimento em cada linha (R$ 60,00), e depois R$ 120,00 de desconto no fechamento para saírem a R$ 50,00. Os processos nasceram a R$ 60,00. Corrigido, e os 12 do Emílio já estão a R$ 50,00 — a soma bate exata com os R$ 600,00 do orçamento.
- 🔎 A causa: eu tinha escrito uma regra que dizia *“se já tem desconto na linha, o desconto do total já foi dividido”*. São duas coisas diferentes e podem existir juntas — o abatimento da linha, e o abatimento que você dá no fim, olhando o total. Agora os dois valem sempre, e essa conta virou teste automático.
- 📐 Orçamento em uma folha. As margens estavam apertando o texto num espaço de 15 cm, então cada serviço quebrava em 3 linhas e o orçamento saía em mais de uma página. Agora são ~18 cm de texto, com mais respiro entre as linhas — cada serviço cabe em uma linha só.
- 🧹 A coluna “Qtd” saiu da prévia e do PDF. Ela já tinha saído da tela de montagem e ficou sobrando nos dois, sempre imprimindo “1”. As três páginas voltaram a ser idênticas.
- 👤 O documento já vem com o terceiro. Antes ele saía em branco porque a outra parte só entrava se você clicasse no nome dela na tela de gerar. Agora, gerando a partir do processo, o terceiro vai junto; e nos modelos abertos pela ficha do cliente, se houver um único terceiro nos processos dele, já vem escolhido (com um selo dizendo que veio de lá). Havendo mais de um, o sistema não adivinha — preencher com a pessoa errada é pior que deixar em branco.
v1.9.91 · 🚫 Orçamento nunca mais escreve por cima de processo existente + 🔫 várias armas por terceiro + 🧭 radar em 3 colunas11/08/2026
- 🚨 O ORÇAMENTO NÃO LIGA MAIS A PROCESSO EXISTENTE. Você estava certo, e era grave: ao abrir os serviços do orçamento do Alexandro hoje às 12:21, 7 processos que já existiam foram sobrescritos — e 2 deles estavam ENCERRADOS e PAGOS desde 16/06, com o valor caindo de R$ 63,75 para R$ 57,35. Já desfiz: os 7 voltaram ao valor original e foram soltos do orçamento. Nada foi apagado, e ficou registro no histórico de cada um.
- ✅ Agora só existem duas opções: ➕ *abrir um processo novo* (o normal) e ⏭ *deixar de fora por enquanto*. A opção de “ligar ao que já existe” sumiu da tela e também do servidor — mesmo uma tela velha aberta em outra aba não consegue mais fazer isso.
- ⚠️ O processo parecido continua aparecendo — mas só como AVISO, dizendo desde quando ele existe. É comum ter parecido: o mesmo serviço se repete a cada semestre. Se for repetição, você escolhe *deixar de fora*; se é renovação, deixa abrir novo.
- 🔫 Várias armas por terceiro. Antes cabia uma só: cadastrar a segunda arma do mesmo terceiro apagava a primeira, sem avisar. Agora a ficha do terceiro tem a lista de armas, com *adicionar*, *editar* e *excluir* — e cada uma continua podendo ser preenchida pela leitura do CRAF. As armas que já existiam foram preservadas.
- 🧭 Radar em três colunas: à esquerda o que vence em até 7 dias (com os vencidos), o radar no meio, e à direita os de 8 a 30 dias — cada coluna rolando até 10 nomes, como painel de aeroporto.
- 🐞 Os nomes tinham parado. Quando havia um único prazo num anel, o nome acendia e apagava para sempre aos 2,6 segundos. Corrigido: agora ele pisca sozinho e continua ali.
- 🔤 Textos mais curtos nas colunas: sumiu a repetição (“CRAF · CRAF · …”), sumiu a explicação em letra miúda e o nome do serviço perdeu o parêntese comprido. E o número saiu de cima do anel — “19 · 7d” dava para ler como “19 dias até 7 dias”; agora a contagem vai no título da coluna, escrita por extenso.
v1.9.90 · 🛰️ Radar redesenhado (um nome por anel) + 👤 o processo agora guarda o TERCEIRO11/08/2026
- 🛰️ Radar do jeito que você desenhou. Antes ele jogava 14 nomes de uma vez e, como você tem vários prazos do mesmo cliente, saíam seis “EMÍLIO” um em cima do outro — ilegível. Agora é um nome por anel de cada vez: o primeiro do anel de 7 dias, o primeiro do de 21 e o primeiro do de 30, revezando na ordem de vencimento. O nome ficou bem maior e vem com os dias embaixo.
- 📏 O radar cresceu e acompanha o tamanho da tela do operador — em monitor grande ele fica grande, no notebook encolhe sozinho.
- 📐 O quadro não pula mais. A lista ao lado gira dentro de uma altura fixa: cada item ocupa uma linha só, então o bloco não estica nem encolhe a cada troca e o resto da tela fica parado no lugar.
- 🎯 Cada anel mostra quantos prazos tem naquela faixa (ex.: “7d · 12”), e a posição do nome no anel muda a cada rodada — não precisa ser no sentido do relógio.
- 👤 TERCEIRO no processo (o que você reclamou hoje). Você estava certo: não salvava em lugar nenhum. O campo existia no banco desde o começo, mas nenhuma tela gravava — conferi e eram 0 de 527 processos com terceiro. Agora o processo tem o campo Terceiro, do lado de Origem/Destino/Tipo: escolhe da lista, cadastra um novo ali mesmo, e abre a ficha dele com um clique.
v1.9.89 · 🛰️ O radar voltou a aparecer no painel11/08/2026
- 🛰️ Conserto do radar. O painel dizia “Nada no radar” mesmo com 432 prazos contados logo acima, na mesma tela. Não era falta de dado nem cache: era um erro meu ao montar os três anéis — o limite de 30 dias tinha ficado guardado no lugar errado do código e, na hora de escolher quem entra no radar, o sistema comparava com um valor vazio. Resultado: todo mundo ficava de fora, em silêncio, sem dar erro.
- 🎯 Agora o radar mostra de novo os prazos dos próximos 30 dias nos três anéis (até 7 · até 21 · até 30) e a lista rolante ao lado, com os vencidos incluídos.
- 🧪 E virou teste, para não voltar: a bateria de verificações agora reprova qualquer tentativa de guardar esse limite no lugar errado. Foi por isso que ela subiu de 241 para 244 conferências.
v1.9.88 · 📋 Extensão v0.8.0 — agora ela LÊ A TABELA da tela (o diagnóstico do Julio resolveu)11/08/2026
- 🕵️ O diagnóstico que você mandou matou a charada. As consultas daquela tela mostraram que o sistema NOVO da PF (`sisgcorp-cliente-web-externo`) não conversa por onde eu estava escutando — ele usa uma tecnologia (Vaadin) em que os dados não passam por um endereço que dê para ler. Não era filtro errado desta vez: a lista que eu procurava não existe ali.
- 📋 Então a extensão passou a ler a própria tabela da tela — a mesma que você está vendo, na sua sessão. Ela acha as colunas pelo nome do cabeçalho (Nr Protocolo, Situação do Processo, Situação da GRU, Serviço), então se a PF trocar a ordem das colunas continua funcionando.
- ✅ Na prática: abra Listar Processo, clique na busca 🔍 para a tabela aparecer, e o botão 🔄 Atualizar andamento acende sozinho com o número de processos que ele enxergou. Um clique e ele diz o que mudou — número do processo, de que situação para qual.
- 🔁 O botão se atualiza sozinho enquanto o painel está aberto: quando a tabela carrega ou você troca de página, ele acompanha.
- 🩺 E se mesmo assim ele não reconhecer a coluna da situação, ele mostra os nomes das colunas que achou — em vez de dizer “nada mudou”, que seria mentira.
v1.9.87 · 🛰️ Radar com três anéis (7 · 21 · 30 dias) e a lista girando ao lado11/08/2026
- 🎯 Agora cada anel quer dizer alguma coisa, como você pediu: o círculo do meio são os de até 7 dias, o segundo anel os de até 21 dias e o de fora os de até 30 dias. Cada anel tem a marca escrita (7d · 21d · 30d), então dá para ler o perigo pela distância do centro, sem precisar do nome.
- 📃 E o espaço vazio ao lado virou o painel que gira: a lista dos clientes por prazo passa sozinha — o de cima sai, os outros sobem e um novo entra por baixo, a cada 2,6 segundos. Não para enquanto a tela estiver aberta.
- 🔴 Os vencidos entram nessa lista (com a marca vermelha e há quantos dias venceram), mesmo não aparecendo no círculo. No texto dá para distinguir “vencido há 316 dias” de “vence em 30”; no radar, os dois no mesmo laranja apagariam a diferença.
- 🧭 A ordem é por prazo, não sorteada. O que gira é a vez de aparecer — quem está mais perto de vencer continua vindo primeiro. Uma lista de prazos em ordem aleatória seria bonita e inútil.
- 🧹 A lista parada que ficava ali saiu: o painel novo mostra o mesmo e mais, sem repetir a mesma informação duas vezes lado a lado.
v1.9.86 · 🔧 Extensão v0.7.1 — o botão de andamento não aparecia (eu filtrava demais)11/08/2026
- 🐞 “NÃO DEU” — de novo era eu. O botão não aparecia e o Mapear dizia “não vi nenhuma consulta nesta tela” com a lista carregada na sua frente. Motivo: eu tinha escrito no código suposições sobre como a PF nomeia as coisas (o endereço da lista e o nome do campo da situação). Como as suposições estavam erradas, o sistema descartava a lista inteira e ficava calado.
- 🔓 Afrouxei os três filtros: agora entra qualquer consulta do site da PF, qualquer lista que tenha cara de lista de processos, e basta o item ter número de protocolo para valer. Quem decide o que serve é a hora de usar, não a hora de coletar.
- 🩺 E se ainda assim ele não reconhecer a situação, ele te diz — em vez de dizer “nada mudou” (que seria mentira por omissão). Vai aparecer: *“Achei os 9 processos, mas não reconheci o campo da SITUAÇÃO”* junto com a lista dos campos que vieram, já copiada para você colar para o Renato. Com essa lista eu acerto de primeira.
- 🧭 Passo a passo: atualize para a v0.7.1, feche e reabra a aba do SINARM (importante), entre em Listar Processo, clique na busca 🔍 e então no botão do painel.
v1.9.85 · 🔄 ATUALIZAR ANDAMENTO: um clique confere todos os processos do cliente na PF11/08/2026
- 🔄 O que você pediu está pronto (extensão v0.7.0). Na tela Lista de Processos do SINARM, depois que a lista carregar, aparece no painel: “🔄 Atualizar andamento destes N processos”. Um clique confere todos os processos daquele cliente de uma vez e traz para o FattoCAC o que a PF está dizendo.
- 📣 E ele sempre diz o que aconteceu — era o seu pedido: *“mostra um dado do que mudou ou não, para não parecer que não fez nada”*. Se mudou, lista número do processo → do que era para o que virou: `911370.26.009268 — Deferido → Deferido · GRU: Paga`. Se não mudou nada, ele diz com todas as letras: *“Conferi 9 processos: nenhum mudou desde a última vez”*.
- 🔎 E avisa o que a PF tem e você ainda não lançou: *“3 processos da PF ainda não estão no FattoCAC”*. Isso não é erro — é lista de trabalho.
- 🧭 Como usar: entre no SINARM com o cliente (como sempre), vá em Listar Processo, clique na busca 🔍 (ou em Todos) para a lista aparecer, e então clique no botão. Um cliente por vez — mas todos os processos dele num clique só.
- 🔒 O que sai da PF: apenas número do protocolo, situação, situação da GRU e nome do serviço. Nenhum dado pessoal do cliente viaja, e nada é feito sem você clicar.
v1.9.84 · 🔧 Extensão v0.6.3 — o botão que “não fazia nada” + o travamento (os dois eram meus)11/08/2026
- 🐞 “Cliquei e não fez nada” — era defeito meu, não uso errado. O botão chamava uma função que não existia no código da extensão; ele quebrava por dentro e não mostrava mensagem nenhuma. Corrigido na v0.6.3: agora sempre aparece uma resposta, e o resultado sai num campo visível que você pode selecionar e copiar, além de ir para o Ctrl+V.
- 🐌 O Chrome travando também pode ter sido eu. A versão anterior lia todas as consultas da página para montar o diagnóstico — numa tela pesada como a da PF, isso dobra o trabalho do navegador. Agora ele lê uma vez por tipo de consulta e para. *Diagnóstico não pode custar mais caro do que aquilo que ele diagnostica.*
- 🧭 E o passo a passo, sem mistério: 1) na tela Lista de Processos, clique na lupa 🔍 de busca (ou no botão Todos) para a lista carregar; 2) só então clique em 🔍 Mapear esta tela; 3) copie o texto que aparecer. Se você clicar em Mapear antes de a lista carregar, não há o que mapear — e agora ele te diz isso.
- 🙋 O campo “Cliente” do painel não tem nada a ver com isso. Ele serve para dizer em qual cliente do FattoCAC o documento será guardado. Para o diagnóstico, pode deixar como estiver.
v1.9.83 · 💸 O desconto do Alexandro chegou nos processos · botão do diagnóstico visível (v0.6.2)11/08/2026
- 💸 Achei um buraco olhando os seus 17 processos: eles somavam R$ 1.445,00 e deveriam somar R$ 1.300,00 — os R$ 145 de desconto ficaram no orçamento e não desceram. Motivo: o desconto estava no total, e o sistema só levava o desconto por linha. Já corrigi os 17 (soma exata de R$ 1.300,00) e o sistema não repete mais: se houver desconto no total, ele é dividido na hora de abrir — e o quadro avisa antes.
- 📊 E eles nasceram no lugar errado: os 8 processos novos caíram em Prospecção, que não conta no caixa. Serviço que veio de orçamento aceito já é trabalho contratado, então agora nasce em Iniciado. Os 8 já foram movidos.
- 👀 Sobre “nada novo apareceu na 6.1”: o botão estava lá, mas invisível — texto escuro em fundo escuro (erro meu). Na v0.6.2 ele aparece: 🔍 Mapear esta tela (diagnóstico), logo abaixo do “Baixar e enviar”.
- ✅ O resto funcionou: o quadro abriu os 17 serviços — 8 novos e 9 ligados aos que você já tinha aberto na mão, sem duplicar nenhum.
v1.9.82 · 🔍 Extensão v0.6.1 — o botão que descobre se dá para atualizar o andamento sozinho11/08/2026
- 🔍 Julio, preciso de 2 minutos seus (e um favor): atualize a extensão para a v0.6.1, entre no portal da PF como você sempre faz, abra a lista de processos de um cliente e clique no botão novo do painel: “🔍 Mapear esta tela (diagnóstico)”. Ele copia o resultado para a área de transferência — é só colar no WhatsApp para o Renato.
- 🎯 Para que serve: o Renato perguntou se dá para atualizar o andamento de todos os clientes de uma vez ou se é um a um. A resposta depende do que o portal da PF entrega em cada tela — e isso não se adivinha, se vê. Esse botão me mostra quais listas a tela pediu, quantos registros vieram e quais informações cada uma traz.
- 🔒 O que ele copia — e o que NÃO copia: vai só o *endereço* da lista, a *quantidade* de registros e os *nomes* dos campos. Nenhum valor: nenhum nome de cliente, nenhum CPF, nenhum protocolo. Pode colar sem medo. E nada é enviado para servidor nenhum — fica no seu computador até você colar.
- 💡 Faça em duas telas, se puder: uma na lista de processos e outra dentro de um processo aberto. Com as duas eu consigo dizer, com certeza, se o “atualizar tudo” é possível e como ele vai funcionar.
v1.9.81 · 📐 Processos do cliente na sua ordem — e saindo em linha no papel11/08/2026
- 📐 Colunas na sequência que você pediu: Data do pedido · Serviço/motivo · Data do protocolo · Protocolo · Data de finalização · Situação · Prazo · Valor · Pagamento. É a linha do tempo do processo, da esquerda para a direita — a mesma lógica da tela do processo.
- 🆕 Três colunas que não existiam aqui: Data do protocolo, Protocolo e Data de finalização. Antes você tinha que abrir cada processo para ver o número do protocolo; agora está tudo na mesma linha.
- 🖨️ E imprime em linha, como você pediu. Na tela cada processo tem caixinha de situação e de motivo; no papel isso viraria três linhas por processo. Na impressão os campos viram texto puro, um processo por linha, na mesma ordem — e a folha sai deitada, porque são 9 colunas.
- 📅 A lista agora vem ordenada pela data do pedido (mais recente primeiro), que é a primeira coluna — a ordem que se lê.
v1.9.80 · 📘 Manual com o CAMINHO CERTO · campos do processo na ordem que você pediu11/08/2026
- 📘 O manual agora abre dizendo por onde começar — sua sugestão de hoje cedo. A primeira seção se chama “Por onde começar (leia primeiro)” e manda, em letras claras: COMECE PELO ORÇAMENTO, não abra os processos um a um. Traz a ordem completa de um atendimento novo, do cadastro do cliente até a baixa do pagamento.
- 🧭 E explica o porquê, que é o que faz a pessoa seguir: tempo (17 serviços num clique), dinheiro (o desconto fica gravado em cada serviço, senão o caixa não bate) e registro (fica provado quanto foi combinado). Também diz quando não usar orçamento — no serviço avulso.
- 📐 Campos do processo reordenados como você pediu: depois do vínculo do endereço vem Previsão de início; abaixo, Data do pedido e Data do protocolo; e por último Protocolo e Data de finalização. É a ordem do tempo do processo — o que se espera, o que já aconteceu, o que fecha.
- 🔄 O manual é regerado a cada versão e sai sempre com o número da versão do dia — é o mesmo arquivo que você baixa em Sobre & Ajuda.
v1.9.79 · 🚦 O botão de abrir os serviços agora se explica (culpa nossa)11/08/2026
- 🙋 Você não errou — o nome do botão estava errado. O “🧮 distribuir entre os serviços” só divide desconto; ele nunca abriu processo nenhum. Como o nome dava a entender outra coisa, você clicou nele esperando os 17 serviços e concluiu, com razão, que não tinha funcionado. Agora ele se chama “🧮 dividir esse desconto entre as linhas” e avisa na tela quanto foi dividido em quantas linhas.
- 🏭 O botão que abre os serviços é outro, no quadro azul no fim da página: “🏭 Abrir N processos”. Num orçamento de 17 itens esse quadro fica longe, então agora aparece um aviso logo no topo — *“17 serviços deste orçamento ainda não foram abertos”* — que leva direto até ele.
- 🚦 Placar sempre à vista, como você pediu: o quadro mostra ✓ quantos já abriram e ⏳ quantos faltam. Quando todos estiverem abertos, ele fica verde e travado, sem botão para clicar — e volta a liberar sozinho se você incluir um serviço novo no orçamento.
- 📌 Confirmamos no banco: os 17 serviços do Alexandro continuam sem abrir, e nenhum processo foi criado. Nada foi duplicado nem perdido — é só clicar no botão certo agora.
v1.9.78 · ✅ Encerrar vários processos de uma vez · 🌾 ligar os documentos da fazenda num clique11/08/2026
- ✅ O que você pediu no dia 09: *"coloque campo de seleção em todos os processos… e deixe um editar para colocar o andamento processual correto de uma só vez… deixe editar aberto no campo de data de finalização também… tudo na mesma página"*. Está na tela Finalizados: marque os processos e mude a situação e/ou a data de finalização de todos de uma vez.
- 🎯 Com os atalhos do seu caso: *marcar os “Entregue ao cliente”* e *marcar os sem data* — que eram exatamente os dois filtros do Emílio. E os que estão sem data aparecem em laranja na lista, para você achar de longe.
- 🛡️ Só mexe no que você escolher: valor e pagamento não são tocados. Cada troca de situação entra no histórico do processo, uma a uma — dá para saber depois o que mudou e quando.
- 🌾 E o mistério do “fora da fazenda”: você tinha razão em estranhar. São dois registros diferentes — o prazo (a autorização) vai para a fazenda, mas o arquivo fica solto, e é ele que dispara o aviso. Por isso o documento aparecia certo na aba Propriedades e errado em Documentos.
- 🖱️ Quando o cliente tem uma fazenda só, virou um clique: o botão agora diz “Ligar os N à FAZENDA TAL” e resolve todos de uma vez. Não há o que escolher quando só existe uma.
v1.9.77 · 🏭 Abrir todos os serviços do orçamento de uma vez (sem duplicar)11/08/2026
- 🏭 O botão que você pediu está no orçamento salvo: *"eu abro só o orçamento e, depois que o cliente pagar, com um botão eu jogo esse orçamento para abrir o serviço"*. Cada serviço vira um processo próprio no quadro — com a data de hoje e o valor já combinado, incluindo o abatimento. Chega de abrir 17 na mão.
- 🛡️ E ele não duplica o que você já abriu. Conferimos o orçamento do Alexandro: 16 dos 17 serviços já existiam como processo. Um botão desatento criaria 16 repetidos. Agora, para cada serviço, o sistema mostra o que já existe e você escolhe: abrir novo, ligar ao que já está lá ou deixar de fora.
- 🔍 Você confere antes, e por um bom motivo: você tem seis GTs de R$ 63,75 que só se diferenciam pela arma e pelo município. O sistema mostra o texto dos dois lados — o do orçamento e o do processo — para você conferir. Ele nunca decide sozinho quando há dúvida; na dúvida, ele sugere abrir novo (que dá pra apagar) em vez de ligar no errado (que ninguém percebe).
- 💸 Ligar também acerta o valor: os processos que você já tinha aberto estão com o preço cheio do clube, sem o abatimento. Ao ligar ao orçamento, eles recebem o valor combinado — é onde estavam sobrando aqueles R$ 145.
- 🔒 Serviço já aberto não abre de novo, nem se você clicar duas vezes ou deixar a página aberta em duas abas.
v1.9.76 · 💸 Desconto por serviço no orçamento (sua ideia) — a Qtd saiu da frente11/08/2026
- 💸 Sua ideia entrou: *"no lugar de QUANTIDADE (que sempre vai ser 1) poderia colocar o DESCONTO/ABATIMENTO INDIVIDUAL — daí o sistema não precisaria fazer rateio nenhum"*. É isso: cada linha do orçamento agora tem 💸 Desc. (R$). Você digita o abatimento e o valor da linha cai na hora. R$ 63,75 menos R$ 13,75 e sai R$ 50 redondo, como você quer.
- 📏 Conferimos antes de mexer: das 112 linhas de orçamento já feitas, 110 tinham quantidade 1. As outras 2 não se perderam — a quantidade continua existindo e aparece sozinha quando for diferente de 1.
- 🧮 E se você quiser dar o desconto no total, continua podendo: digita o valor ao lado do "+ Adicionar serviço" e clica em 🧮 distribuir entre os serviços. O sistema preenche o abatimento de cada linha proporcionalmente — e aí você ajusta o que quiser. A soma sempre fecha exata com o que você combinou, sem sobrar centavo.
- 🎯 Por que isso importa: agora o desconto nasce por serviço, então quando o processo for aberto ele já vem com o valor certo. É o que fecha o buraco que você achou ontem — o chorinho não fica mais só no orçamento.
v1.9.75 · 💸 O "chorinho" agora existe no processo (e fica registrado)10/08/2026
- 💸 Você estava certo: *"no processo não tem campo desconto que eu dei ao cliente na hora do orçamento e isso vai dar diferença de caixa"*. Agora tem: 💸 Desconto negociado (R$), logo acima do Valor. Você digita o abatimento e o valor cai na hora — o desconto do clube continua vindo antes, por cima do preço de tabela.
- 🐞 E tinha um defeito escondido: na tela de abrir processo o campo existia desde 07/08, mas o valor digitado nunca era gravado. Ele só servia para a conta da hora e sumia. Agora fica registrado quanto foi abatido em cada processo — dá para saber depois quanto de desconto você concedeu, e para quem.
- 🔢 Sobre a sua pergunta (*"como é que o sistema vai saber o que ratear?"*): a resposta é ele ler o seu orçamento. O banco já está preparado — cada processo agora sabe de qual orçamento nasceu. Falta a tela que gera os processos do orçamento de uma vez, já dividindo o chorinho entre eles. É a próxima entrega.
- 🧮 A conta do rateio já está pronta e conferida: o desconto do total é dividido entre os serviços na proporção do valor de cada um, e a sobra de centavos vai no maior — a soma fecha exata com o que você combinou. No seu exemplo (R$ 145 sobre R$ 1.445), nenhum centavo se perde.
- 📊 Medimos o tamanho do problema: 67% dos seus orçamentos têm mais de um serviço (um tem 37), e 298 dos 384 recebimentos já cobrem vários serviços de uma vez. O chorinho só deixou visível uma diferença que já existia.
v1.9.74 · 📅 Orçamento e recibo saem com a DATA no nome do arquivo10/08/2026
- 📅 Como você pediu: o arquivo agora sai como `10082026 - Orcamento-Alexandro-Alves-dos-Santos.pdf`, em vez de `orcamento-alexandro-alves-dos-santos.pdf`. O recibo segue o mesmo padrão: `10082026 - Recibo-...`.
- 🗂️ A data vem no mesmo formato da sua pasta de comprovantes (`14072026-100-IAGO...`), então orçamento, recibo e comprovante ordenam juntos por data no seu computador.
- ✍️ O nome sai com as iniciais maiúsculas e as partículas minúsculas (`Jose-da-Silva-e-Souza`), sem acento e sem os caracteres que o Windows recusa em nome de arquivo — arquivo que não salva é pior que nome feio.
- 🔒 Já valendo no banco: o valor bruto do orçamento (corrigido na versão anterior) passou a ser gravado de verdade. Mexer no preço de um serviço lá em Catálogos não altera mais nenhum orçamento já salvo.
v1.9.73 · 🧾 ORÇAMENTO: o Valor Bruto voltou a ser o preço de tabela10/08/2026
- 🧾 Corrigido o que você pegou às 15:01: no documento do orçamento, a coluna Valor Bruto estava saindo com o mesmo número do valor já descontado — R$ 63,75 e R$ 63,75, quando o certo é R$ 75,00 e R$ 63,75. Agora o bruto é o preço de tabela do serviço e o líquido é o com desconto, do jeito que você quer que o cliente enxergue.
- 🔍 Por que só acontecia depois de salvar (você matou o caso com essa observação: *"estava mostrando certinho… mudou quando eu salvei o documento"*): o sistema nunca guardava o valor bruto, só o com desconto. Ao reabrir o orçamento, o descontado virava a base e o "de R$ 200,00 por R$ 170,00" sumia. A tela continuava certa porque ela busca o preço na tabela na hora — por isso um print certo e outro errado, no mesmo orçamento.
- 💾 Você apontou a correção certa: *"vai ter de ser inserido aqui no formulário e não somente na hora de gerar o documento"*. É isso — o bruto passa a ser gravado junto com a linha. Os orçamentos que você já salvou também saem certos: quando não há bruto guardado, o sistema usa o preço da tabela.
- 🛡️ O que NÃO mudou, de propósito: quando você digita um preço seu (65,00 numa GT de tabela 75,00), é o seu valor que vale. O sistema não recalcula pelo catálogo — esse erro já aconteceu em 29/07 e está travado por teste.
v1.9.72 · 🛰️ Radar foi para a tela inicial · e o “mover documento” que não aparecia10/08/2026
- 🛰️ O radar mudou de lugar, como você pediu: *"ficou top… mas ficou muito carregada a página, mude para a página principal"*. Agora ele vive na tela inicial, dentro do quadro grande de Vencimentos próximos — e maior do que era. A lista continua do lado direito, porque ela mostra os vencidos, que o radar não mostra.
- 🏠 Sobre "que essa tela sempre seja a inicial": ela já é. Toda vez que você entra no sistema, o FattoCAC abre nessa tela. Se você tinha guardado um atalho direto para Processos no navegador, é o atalho que está te levando para lá — entre por `fattocac.com.br` e você cai sempre no painel.
- 📦 "Não encontrei como jogar isso nas propriedades" — achei os dois motivos, e os dois eram defeito nosso. Primeiro: o botão 📦 mover estava lá, mas o painel dele abria escondido atrás da borda da tabela de documentos. Você clicava e não acontecia nada visível. Agora ele abre por cima de tudo, e para cima quando a linha está no pé da tela.
- 🌾 Segundo motivo — e é exatamente o que você descreveu (*"as GT deu certo, mas esses outros não aparece como apareceu nas GT"*): no quadro verde de documentos de propriedade, quando o cliente não tinha nenhuma fazenda cadastrada, a lista dos documentos simplesmente não era exibida — só o texto explicando. E esse é o caso mais comum: dos 23 clientes com documento de fazenda solto, 21 não têm fazenda nenhuma. Agora a lista aparece sempre, e cada documento traz o botão 🌾 ler o documento e criar a fazenda.
- 🔎 Esse mesmo defeito já mudou de roupa quatro vezes (o aviso num lugar e a saída em outro). Das três primeiras, o botão estava longe do aviso; desta vez o botão estava certo e era a resposta que ficava fora de vista.
v1.9.71 · 🛰️ RADAR DO ALERTA FINAL na tela de Processos10/08/2026
- 🛰️ Sua ideia virou tela: *"não consegue botar aquele radar rodando… que mostre primeiro nome do cliente, daí apaga, mostra outro… como se fosse um Alerta Vermelho"*. Está na página de Processos, logo abaixo da busca por protocolo. O feixe gira e cada nome acende quando o radar passa por cima dele, igual ao de verdade.
- 🎯 Do jeito que você desenhou: os nomes giram no sentido horário, na ordem de vencimento (o mais urgente primeiro), e quanto mais perto do centro, menos tempo resta — quem vence hoje fica coladinho no meio, quem tem 7 dias fica na borda. Na laranja do ALERTA FINAL, como você pediu (*"não precisa ser em vermelho"*).
- 🔊 O bipe do radar existe, mas você liga. Tem um botão 🔇/🔊 no canto. Fica desligado por padrão — som que começa sozinho toda vez que você abre a tela cansa no terceiro dia. Ligando, dá um bipe curto a cada nome que o feixe cruza.
- 👆 Cada nome é um atalho: clicou, abre a ficha daquele cliente na aba Prazos. Ao lado do radar tem a mesma lista em texto, com quantos dias faltam — para conferir sem esperar o giro.
- 🎯 Por que ficou na tela de Processos, e não na de Prazos: o problema que você contou foi *"eu esqueci hj de olhar a página PRAZOS… e tenho um monte vencendo hj"*. Um alerta dentro da página que você esqueceu de abrir não serviria de nada. Ele mora onde você passa o dia.
- 🙈 Se quiser silêncio visual, o botão ▲ esconder encolhe o radar; e quem tem o sistema configurado para menos animação vê os nomes todos acesos e parados, sem o giro.
v1.9.70 · 🧮 O caixa passa a dar UM número só — painel, Cobranças e relatórios batem10/08/2026
- 🧮 "Essa matemática do sistema tá bugando minha cabeça": você mandou três telas do mesmo dia com três respostas para *quanto entrou em agosto* — R$ 6.765 no painel, R$ 6.050 em Cobranças e R$ 5.750 no relatório do MEI. As três contas agora usam o mesmo código. Onde antes cada tela fazia sua conta, hoje existe uma regra só.
- 🔮 Você achou sozinho e estava certo: *"essa aba prospecção tem valores nela PENDENTES… por isso não tá batendo"*. Eram exatamente R$ 4.420 em 17 serviços de prospecção entrando no seu "a receber" — dinheiro que ninguém te deve ainda, porque o serviço nem começou. O painel somava; a tela de Cobranças não. Agora a prospecção tem cartão próprio, no painel e em Cobranças, sempre separada do caixa.
- 📅 O mês agora é o do dinheiro, não o do clique. Quando você dá baixa hoje num valor recebido em maio, ele vai para maio. O painel estava jogando tudo no mês da baixa — era isso que fazia seu caixa "estar certo de manhã e a mais de tarde": ontem você deu baixa em 6 recebimentos de maio, junho e julho (R$ 715), e o painel contou todos em agosto.
- 🔮 "Tira esse número de cobranças 429 e coloca PROSPECÇÃO no lugar": feito. Naquele canto agora aparece o total de prospecção com a contagem — e quando houver cobrança atrasada, o vermelho tem prioridade (dívida vencida é mais urgente que valor previsto).
- 🐞 Um erro de digitação que estava escondendo R$ 100: a cobrança do Iago Acioli estava com a data de recebimento 82026-07-01 (um 8 a mais no ano). Ela sumia de todo relatório por mês e por ano. Corrigido para 01/07/2026 — e o campo de data agora não aceita mais ano fora de 2000–2100, nem no navegador nem no servidor.
- 📊 Seus números conferidos hoje: a receber R$ 950 (era R$ 5.370 com a prospecção junto) · prospecção R$ 4.420 à parte · recebido em agosto R$ 6.415 · julho R$ 12.310 (subiu R$ 100 com a correção do Iago) · total de 2026 R$ 50.385.
v1.9.69 · 🔒 O valor do processo agora é TRAVADO no que foi combinado09/08/2026
- 🔒 O que você pediu hoje está feito: *"trava no pedido inicial do processo… abriu processo com aquele valor, não altera automaticamente não, nem se subir a tabela; só quem altera valor é o usuário"*. A partir de agora o valor combinado fica congelado no processo. Mexer no preço do serviço lá em Catálogos não muda mais nada em processo nenhum — nem nos que já foram pagos, nem nos que estão a receber.
- ⏳ Lançamento de serviço antigo agora avisa. Quando você abre um processo com data de pedido de mais de 30 dias atrás, o sistema mostra: *"este pedido é de 04/05/2026 (97 dias atrás). O valor acima é o preço de HOJE. Confirme quanto foi combinado na época"*. Se o combinado foi outro, é só digitar. Era por aqui que entrava a maior parte do problema — encontramos 16 processos lançados assim, um deles 271 dias depois do pedido.
- 🚫 Trocar o serviço não mexe mais no valor. Antes, corrigir o serviço de um processo já fechado reescrevia o valor com o preço de hoje, calado. Agora o valor fica onde está e aparece uma sugestão: *"o valor não foi alterado — na tabela de hoje esse serviço está R$ 500 [usar R$ 500]"*. Quem decide é você.
- 🧾 Agora fica registrado quanto foi combinado. O processo guarda o valor fechado na abertura e, se alguém mudar depois, o sistema grava quem mudou, quando, de quanto para quanto. Na tela do processo aparece *"Combinado na abertura: R$ 250,00 — o valor atual está acima disso em R$ 200,00"*. Isso é o que responde, meses depois, quanto foi acertado com o cliente.
- ✅ Conferimos os 497 processos do sistema: não houve alteração em massa — 341 dos 413 com valor estão com o valor original preservado, diferente da tabela de hoje. O que existia eram três portas por onde o preço novo entrava. As três estão fechadas.
v1.9.68 · 📎 A extensão passa a baixar os ANEXOS do processo no SINARM (extensão v0.6.0)07/08/2026
- 📎 O que você pediu hoje de manhã está pronto: *"nem sempre o cliente consegue o documento e a gente tem o recurso de entrar aqui e pegar… porém, se apenas clicarmos em cima do link o SisGCorp não entende que queremos ver ou baixar"*. Agora, com o processo aberto na PF, aparece no painel o botão "📎 Baixar os ANEXOS do processo (N)" — ele traz todos os documentos daquela seção "Anexar Documentos" e manda cada um para a pasta do cliente no FattoCAC.
- 🎯 Pega o que você citou: CNH, antecedentes criminais, capacidade técnica, declarações — e a Autorização de Aquisição de novo PCE. Vem um por um, com o nome do arquivo que está lá, e o sistema classifica cada um pelo nome, como já faz nos outros envios.
- 🔎 Como foi achado: lendo o código do próprio SisGCorp (o site da PF entrega os arquivos do sistema sem login), do mesmo jeito que resolvemos a Guia de Tráfego em 30/07. Nada de tentativa e erro na sua tela.
- 🔒 E continua sem mandar sua senha/token da PF para lugar nenhum — o download acontece no seu navegador, com a sua sessão, e só o arquivo vai para o FattoCAC. (A extensão concorrente manda o token da sua sessão da PF para o servidor deles.)
- ⚠️ Para usar: atualize a extensão para a v0.6.0 (baixe em Configurações → Extensão e recarregue em `chrome://extensions`). Abra o processo na PF, deixe a seção Anexar Documentos carregar, escolha o cliente no painel e clique no botão. Se um anexo falhar, os outros continuam e o painel diz qual não veio.
v1.9.67 · 🚫 Desistência sem virar cortesia · 📆 data do pedido e 💸 desconto na abertura · 💾 salvar só o valor07/08/2026
- 🚫 Desistência agora tem lugar certo. Você me contou o caso: R$ 500 para fazer as 18 armas, o cliente desistiu, e para salvar você teve que marcar cortesia — *"mas não é uma cortesia também"*. Agora tem o botão "🚫 desistiu" no pagamento: a cobrança sai do A receber, o valor continua registrado no processo (aparece "R$ 500,00 não cobrado") e não entra como cortesia nem como pago. E tem volta: "↩ voltar a cobrar".
- 🧾 Não criei "Desistência" nas formas de pagamento — você tinha perguntado se era por ali. Forma de pagamento é *como você recebeu*, e aqui não se recebeu nada: colocar na lista sujaria todos os relatórios que somam por forma.
- 🔒 E consertei o que faria isso não durar: uma cobrança cancelada voltava sozinha na edição seguinte do processo (o sistema tratava "só tem cancelada" como "não tem nenhuma" e criava outra). Cancelou, fica cancelado.
- 📆 Data do pedido na abertura do processo, já preenchida com hoje — como você tinha pedido. O campo existia só lá dentro do processo, então nascia vazio e ninguém voltava para preencher.
- 💸 Campo de desconto na abertura do processo. É o que faltou quando você baixou de R$ 500 para R$ 350 para não perder o cliente. Ele é somado ao desconto do perfil (o dos 15% do clube continua funcionando) e a tela mostra o de-para: *de R$ 500,00 por R$ 350,00*.
- 💾 Botão "salvar valor" no processo. Você mexia embaixo, alterava o pagamento em cima e só um salvava. Agora o valor tem gravação própria e você não sai da página — dá para salvar o valor, continuar mexendo no resto e salvar o resto no botão de baixo.
v1.9.66 · 💰 "Os campos ficam malucos" no financeiro — achado e corrigido + DESISTIU agora é vermelho07/08/2026
- 💰 O bug do financeiro era real, e era uma corrida de tela. Você trocava a forma de pagamento de uma linha (permuta → PIX) e o sistema gravava na hora e recarregava a página inteira — no meio da sua edição das outras linhas. Resultado exatamente como você descreveu: *"tem uns que salvam, outros voltam a ficar sem dar baixa mesmo depois que salvou"*. Na sua ficha há mais de dez linhas "a receber" ao mesmo tempo, então isso aparecia toda vez.
- ✅ Agora a tela não se mexe sozinha. A forma que você escolhe fica firme onde está, e apareceu um "✓ salvar forma" só quando há mudança pendente — para deixar a forma gravada sem dar baixa, como você pediu lá em 30/06. O "Dar baixa" leva exatamente a forma que está na tela. Dinheiro não pode depender de quem carregou primeiro.
- 🔴 "DESISTIU" agora aparece em vermelho, junto com INDEFERIDO e CANCELADO. Você tinha razão: azul é cor de processo andando, e no seu print o card DESISTIU estava azul bem ao lado de um INDEFERIDO vermelho.
v1.9.65 · 👥 A lista de clientes agora mostra só os ATIVOS — e quem some volta sozinho no próximo serviço07/08/2026
- 👥 A tela de Clientes abre com quem está ativo. Ativo = tem processo em andamento ou algo a receber. Hoje isso deixa 50 dos 87 na tela: os outros 37 não têm processo aberto nem valor pendente.
- ↩️ Ninguém precisa "reativar" ninguém. Quem saiu volta sozinho assim que você abrir um processo novo para ele — o estado vem do trabalho, não de uma marcação manual que alguém teria de lembrar de tirar.
- 🔎 A busca continua achando todo mundo, ativo ou não. E tem o botão "ver todos" ao lado do título, com o número completo — esconder sem dizer que escondeu foi o que atrapalhou você na procura por protocolo, e não vamos repetir.
- 🆕 Cliente recém-cadastrado não some. Quem ainda não tem nenhum processo continua aparecendo: ele acabou de entrar, não está parado.
- ⚖️ Mesma régua da tela de Processos: "encerrado" aqui é o mesmo que lá — finalizado e quitado. Quem está em "Entregue ao cliente" e ainda não pagou continua ativo, porque é dinheiro na fila.
v1.9.64 · 🎯 Não foi erro seu: o sistema trocava CR por CRAF sozinho — e o botão de mover agora está na linha07/08/2026
- 🎯 Julio, você disse "pode ter sido erro meu mesmo". Não foi. Seu vídeo mostra o defeito: você escolhe CR, clica para ler a data, e o sistema troca a categoria para CRAF calado. Fui no código e é exatamente isso — a sugestão da leitura sobrescrevia a sua escolha, sem avisar. Como os nomes são quase iguais (Certificado de Registro × Certificado de Registro de Arma de Fogo), a IA confunde, e a escolha dela ganhava da sua.
- 🔗 E era essa a origem das 4 "armas fantasma" de ontem. O CR virava CRAF, e CRAF cria arma. Ontem eu tapei o buraco do lado da arma; hoje a causa está resolvida na raiz.
- ✅ Agora quem escolhe manda. Se você marcou a categoria, a leitura não troca — ela mostra ao lado: *"🤖 a leitura acha que é CRAF"*, com um botão "usar essa" se você concordar. Vale nos dois lugares: no Enviar documento da ficha e no wizard de importar pasta. Quando você não escolheu nada, ela continua preenchendo sozinha, como antes.
- 📦 O botão de mover documento agora está NA LINHA do documento — onde você foi procurar. Ele existia, mas num painel no topo da aba; é a terceira vez que isso te custa tempo, então desceu para o lugar certo. Em cada documento tem "📦 mover": manda para a arma, para a fazenda ou para o Arquivo (histórico).
- 📁 Mandar para o Arquivo depois do upload não existia — só dava para marcar na hora de subir. Agora dá, e volta também: tirar do Arquivo devolve o documento para os ativos. Nada é apagado.
- 🌾 O beco sem saída da fazenda acabou. O painel só mostrava a lista quando o cliente já tinha fazenda cadastrada — e mandava você anexar a Autorização de Abate/Entrada, que já estava anexada. Medido: 93 documentos de fazenda soltos em 23 clientes, e em 21 deles o sistema não oferecia saída nenhuma (só existem 4 fazendas cadastradas no sistema todo). Agora, quando não há fazenda, aparece "🌾 ler o documento e criar a fazenda": ele relê o arquivo guardado e cria a fazenda com o nome, CAR, matrícula e endereço que estão escritos ali.
v1.9.63 · 👻 Tem arma no acervo que não existe — quatro CRs viraram arma, e o sistema não faz mais isso06/08/2026
- 👻 Achei quatro “armas” no acervo que não são armas. Elas não têm marca, nem modelo, nem número de série — e o documento pendurado em cada uma se chama, literalmente, “CR Fulano.pdf”. O que aconteceu: na importação das pastas (02 e 03/08) um CR do cliente foi marcado como se fosse CRAF, e o sistema criou uma arma a partir dele. São os clientes GABRIEL, LUSINEIDE, MARINES e RICARDO — no caso do Gabriel, essa é a única arma dele no sistema.
- ⚠️ Por que isso importa mais do que parece: arma que não existe aumenta o acervo do cliente, entra na contagem dos grupos da progressão de nível de atirador e cria um prazo de renovação falso. E a data de vencimento dela é a validade do CR do dono, não de arma nenhuma.
- 🛑 O sistema não cria mais arma sem saber que arma é. Antes bastava o número do registro do documento para nascer uma arma — e número de registro é do papel, não da arma. Agora precisa de série, marca ou modelo: sem isso o arquivo é guardado normalmente em Documentos e o sistema avisa na hora (“confira se este arquivo é mesmo um CRAF — se for um CR, troque o tipo”), em vez de inventar uma linha no acervo.
- 🔎 As quatro que já estão lá aparecem na Varredura de prazos, com o nome do cliente e o que fazer: conferir o documento, apagar a arma e trocar o tipo do arquivo para CR — aí a validade vai para o cadastro do cliente, que é onde ela vale. Não apago sozinho: acervo é dado legal, e apagar por dedução seria repetir o erro que criou o problema.
- 🧾 De quebra, a Varredura parou de dar o conselho errado. Esses quatro casos apareciam como “CRAF com a data do CR — confira a data e preencha a emissão”, e ali não há data a corrigir: há uma linha a apagar. Agora são dois avisos diferentes. O aviso antigo continua, e hoje ele aponta um caso de verdade (FABIO, carabina COMPANHIA sér. LUB4440032).
v1.9.62 · 🔎 Achar o processo pelo PROTOCOLO — cole o número do e-mail da PF e descubra de quem é06/08/2026
- 🔎 Seu caso de hoje: a Federal pediu complementação citando só o protocolo, num e-mail fora do processo — e por ali não dava para saber nem quem era o cliente. Agora tem o campo "Achar pelo protocolo" no topo da página Processos: cola o número e ele diz o cliente, o serviço e onde o processo está.
- 🧾 Você suspeitou que não achou porque faltava o protocolo no registro. Fui conferir e era outra coisa (a falta de protocolo explica só uma parte): o filtro da página procurava por cliente, serviço, motivo e situação — protocolo não estava na lista. Ou seja, mesmo nos 207 processos que TÊM o protocolo preenchido, ele nunca acharia. Isso foi corrigido: o filtro do quadro agora também acha por protocolo.
- 📂 E tinha um segundo motivo, invisível: o quadro esconde os processos finalizados e quitados (eles vão para a página Finalizados) — e 41 processos com protocolo estão fora do quadro. Justamente onde cai um pedido de complementação de algo já protocolado. O localizador novo procura em tudo: em andamento, finalizados e até na lixeira.
- 📌 Procura também nas Guias de Tráfego e nas autorizações do IBAMA — o número da guia é o protocolo do processo dela.
- ✍️ Pode colar do jeito que vier: com pontos, com hífen, ou só um pedaço do número. O sistema compara só os algarismos.
- 🤷 E quando não achar, ele explica em vez de dizer só "nada encontrado": avisa que provavelmente o protocolo não chegou a ser digitado naquele processo e mostra quantos estão nessa situação — para você preencher e a próxima busca funcionar.
v1.9.61 · 🔒 Checkup de segurança: teste de isolamento entre despachantes + a Demo virou descartável05/08/2026
- 🔒 Testei o isolamento de dados de verdade, não no papel. Simulei um usuário de um despachante tentando ler e gravar nos dados de outro: não conseguiu nada — nem clientes, nem armas, nem documentos, nem o cofre de senhas. Um visitante sem login também não enxerga absolutamente nada.
- 🧪 E o teste foi feito para poder falhar. Antes de aprovar, conferi que os dados realmente existiam do outro lado e que a sessão de teste estava mesmo logada. Teste de segurança que não pode falhar dá confiança sem base — esse pode.
- 🧹 A Demo agora é descartável, de propósito. Em junho um interessado importou uma planilha com dados reais dentro da Demo, e aquilo ficou lá depois que ele saiu. O isolamento não tinha falhado — o problema é que o dado *sobreviveu*. Agora tudo que alguém digita na Demo é apagado automaticamente; ficam só os 6 clientes fictícios da vitrine.
- 🛡️ Com trava contra engano: um despachante de verdade não pode ser marcado como Demo (testei — o sistema recusa e explica o motivo). E, sem o marco da vitrine configurado, a limpeza não apaga nada, em vez de apagar tudo.
- ✅ Também conferido: nenhuma tabela sem proteção de acesso (são 56), pasta de documentos privada, e nenhuma função do banco com brecha de configuração.
v1.9.60 · 📲 Mandar o documento pro cliente pelo WhatsApp (um a um, de propósito)05/08/2026
- 📲 Botão "mandar pro cliente" em cada documento. Manda o arquivo mesmo pelo WhatsApp, para o número do cadastro, com uma linha dizendo o que é e lembrando de guardar na pasta física.
- 🛑 Por que é um de cada vez, e não automático. Você levantou o risco de "5 notificações de uma vez" — fui medir e é bem pior: teve dia de entrar 125 documentos de um único cliente (26/07), e em 15 dias houve 53 vezes em que um cliente recebeu mais de 5 documentos no mesmo dia. Disparo automático faria o cliente bloquear o número — que é o mesmo que manda os avisos de prazo. Então você escolhe o que vale a pena mandar.
- ✓ O sistema lembra o que já mandou. Documento já enviado mostra "✓ enviado"; para mandar de novo, ele pergunta antes. É o mesmo cuidado do convite do app — evitar o reenvio por dúvida.
- 📵 Cliente sem telefone no cadastro aparece como "sem telefone" em vez de dar erro na hora do envio.
- 🧩 Extensão: os controles agora ficam aqui dentro. Quando o FattoCAC é usado como aplicativo instalado, o Chrome não mostra o ícone 🧩 — e não há como abrir as opções da extensão. Agora, em Configurações, aparecem os mesmos controles (ligar/desligar, endereço) e a versão instalada, com aviso quando estiver desatualizada. Requer atualizar a extensão para a v0.5.3 (baixe em Configurações).
- ℹ️ E, no aplicativo instalado, o sistema explica o que muda: mandar GT e CRAF da tela da PF continua funcionando igual — aquilo acontece na aba da Polícia Federal, que é aba comum do Chrome.
v1.9.59 · 🌾 A Autorização de ENTRADA passou a cadastrar a fazenda sozinha (e o documento vai pra ela)05/08/2026
- 🌾 Um buraco grande, achado medindo: você tem 77 Autorizações de Entrada guardadas e NENHUMA virou registro. Como essa autorização não tem validade, o sistema a tratava como "documento que não gera prazo" e parava antes de ler — e o nome da fazenda, que está escrito nela, se perdia. Estava certo quanto ao prazo e errado quanto à propriedade.
- ✅ Agora a Entrada é lida e cria a fazenda sozinha (ou liga na que já existe, quando a de Abate já criou). Continua sem gerar prazo nenhum — ela serve para dizer qual é a propriedade, e o sistema fala isso com todas as letras em vez de dar erro.
- 🔗 E vale para as outras também: abate e CTF passam a nascer já ligados à fazenda. Antes: das 58 autorizações de abate, só 1 estava ligada a uma propriedade — o resto dependia de você clicar em "🌾 criar a fazenda deste documento", uma por uma.
- 📁 Documento de fazenda fora do lugar agora tem botão. Igual ao dos CRAFs e GTs: painel "🌾 Documentos de PROPRIEDADE fora de qualquer fazenda" na aba Documentos, que acha a fazenda pelo nome do arquivo e, no que não achar, você escolhe. O selo "⚠️ fora da fazenda" aparece na lista e na página Documentos geral.
- 📸 GT em FOTO com prazo. A guia manual costuma escrever "válido por 180 dias a partir de ___" em vez da data final. Em PDF o sistema já lia essa frase; na foto, não havia como. Agora a leitura entende a frase na imagem — e quem soma os dias continua sendo o sistema, com o teto de 180, para não nascer prazo torto.
v1.9.58 · ✏️ O documento agora PERGUNTA o que só você sabe (esposa, sobrinho, empregado…)05/08/2026
- ✏️ Seu pedido: poder mudar o texto do documento. Ex.: a declaração de terceiro precisa dizer se a pessoa é esposa, sobrinho ou empregado — e isso o sistema não tem como adivinhar.
- ✅ Agora, quando o modelo tem uma lacuna, a tela de gerar mostra o quadro "✏️ Complete o texto deste documento" com um campinho para cada uma. Você digita, gera, e o texto sai pronto.
- 🛠️ Como criar a lacuna num modelo: no Word, escreva `{{vinculo}}` (ou `{{o_que_for}}`) onde entra a palavra variável e suba o modelo. O sistema descobre sozinho e passa a perguntar. Sem programador no meio.
- 🔒 O que já é do cadastro continua sendo do cadastro: nome, CPF, CR, endereço, dados da arma e do terceiro não podem ser trocados por digitação na hora de gerar — evita sair documento com um nome que não é o do cliente.
- ⬜ Lacuna deixada em branco sai como ____ no documento, para preencher à mão — em vez de sair uma palavra errada.
v1.9.57 · 🔗 O botão de "mandar pra arma" agora está na MESMA tela do aviso05/08/2026
- 🔗 Julio, você estava certo — o botão existia, mas não onde você olhou. O aviso "⚠️ fora da arma" aparecia na aba Documentos do cliente, e o painel que resolve estava na aba Armas. Você viu a marca, não achou o botão e achou que a novidade ainda não tinha chegado. Ela tinha; estava na aba errada.
- ✅ Agora o painel "⚠️ Documentos de ARMA que não estão em nenhuma arma" aparece no topo da aba Documentos também — do lado de onde o aviso aparece. Ele tenta achar a arma pelo nome do arquivo (sem gastar leitura de IA) e, para o que não achar sozinho, você escolhe a arma na listinha.
- 🔎 E na página Documentos (a geral, de todos os clientes) o selo "⚠️ fora da arma" passou a aparecer também — e agora ele é clicável: leva direto ao painel do cliente certo.
- 📊 Quanto tem hoje: 51 documentos de arma soltos, de 17 clientes (18 GTE, 13 de caça-manejo, 12 de tiro-treino e 8 CRAF). Cada GT solta é um prazo que não existe — vale passar o botão nelas.
v1.9.56 · 💬 Fim da mensagem de erro em inglês — agora o sistema diz o que houve e o que fazer05/08/2026
- 💬 Aquele erro esquisito ao guardar documento de terceiro. Aparecia uma frase em inglês, do tipo *"An unexpected response was received from the server"*. Não dava para fazer nada com aquilo escrito na tela.
- 🔎 O que era, na verdade: você tinha sido deslogado no meio do envio. O sistema desconecta sozinho depois de 8 horas, por segurança — e o envio que estava em andamento morria nessa hora, mostrando o recado técnico do programa em vez do motivo.
- ✅ Agora a tela diz em português: "sua sessão expirou e você foi deslogado no meio do envio", explica que nada do que já estava salvo se perdeu e mostra o link Entrar de novo ali mesmo.
- 🌐 Outros casos também ganharam frase própria: internet que caiu no meio, arquivo grande demais e operação que demorou e foi cortada. Quando for algo que eu não conheço, a tela fala em português e mantém o texto técnico entre colchetes — é o que o Renato precisa para achar o problema pelo seu print.
- 📄 Vale nas telas de documento do terceiro, cadastro de cliente por OCR, importar planilha (as duas) e recebedores.
v1.9.55 · 🛑 Arma duplicada: o sistema para e pergunta em vez de cadastrar a mesma arma duas vezes05/08/2026
- 🛑 Aconteceu no dia 02/08 e agora tem trava. A IA leu a série LSL4346961 e no seu acervo estava LSL434961 — um caractere de diferença. Como o sistema só sabia comparar série *idêntica*, ele cadastrou uma arma nova: duas armas no acervo para o mesmo CRAF (as duas vencendo em 25/06/2028). Você apagou a duplicata 5 minutos depois.
- ✅ Agora, quando a arma lida parece uma que já existe, o sistema para e pergunta: *"esta arma já pode estar cadastrada — é a mesma?"*, com dois botões: usar a que já existe ou criar nova mesmo assim. Nada é gravado antes de você responder.
- 🔎 O que ele considera parecido: série com 1 caractere de diferença (o erro clássico de leitura), série com 2 caracteres de diferença quando o CRAF vence no mesmo dia ou é o mesmo modelo, e o mesmo nº SIGMA. O número do registro não conta — ele é coletivo, várias armas do acervo têm o mesmo.
- 🤖 No caminho automático (extensão, anexo, importar pasta) não tem ninguém na tela para responder — então o sistema não cria e não junta nada. Ele avisa e deixa o CRAF em Documentos com o selo "⚠️ fora da arma", para você conferir a série e mandar para a arma certa em 1 clique.
- 🔒 E ele nunca troca a série que está no cadastro — mesmo quando você confirma que é a mesma arma. A série certa pode ser a sua, não a que a IA leu.
v1.9.54 · 📄 O CR anexado passa a contar prazo sozinho — e a data de emissão para de se perder05/08/2026
- 📄 CR anexado pela página Documentos (ou pela extensão) agora é lido como CR. Até hoje ele passava pelo leitor genérico, o mesmo de qualquer papel — e esse leitor não entende de CR: ele não pega a data de emissão e exige uma validade impressa.
- 🚨 Quem pagava por isso era o CR novo. O CR emitido depois do Decreto 11.615/2023 não traz validade impressa — quem manda é a emissão + 3 anos. Como a emissão era jogada fora, esse CR entrava sem prazo nenhum: não aparecia em Prazos, não gerava aviso, não ia para o app do cliente. É o mesmo silêncio que as armas tiveram até a correção de 03/08.
- ✅ Agora o sistema grava número, emissão e validade do CR na ficha do cliente (só o que estiver vazio — o que você digitou nunca é sobrescrito) e calcula o vencimento pela regra certa: emissão + 3 anos no CR novo, emissão + 10 anos no CR antigo (IN 322).
- 🔎 E ele diz de onde tirou a data: "validade impressa", "emissão + 3 anos" ou "emissão + 10 anos". Data calculada sem avisar que foi calculada é armadilha — foi o que corrigimos no CRAF na semana passada.
- ⚠️ Quando não dá para calcular, ele fala. CR do regime antigo cuja data impressa é 21/07/2026 (aquela data não é vencimento, é o corte do decreto): o sistema avisa que falta a data de emissão na ficha, em vez de dizer "não consegui ler" — que era o que aparecia antes.
v1.9.53 · 🔧 Achei o “erro ao enviar mensagem” — era um botão meu que só sabia falhar04/08/2026
- 🔧 O erro que você viu era meu. Ontem eu subi o controle de “quem já recebeu o convite”, mas ele depende de uma mudança no banco que não foi aplicada. Resultado: o botão “✓ já enviei o convite” devolvia erro a cada clique, e o selo dizia “convite ainda NÃO enviado” para todos os clientes, sempre — mesmo os que você já havia convidado. E era justamente isso que te fazia clicar em “Gerar e enviar” de novo, o que troca a senha.
- ✅ Agora, enquanto a mudança do banco não entrar, a tela se cala em vez de chutar: não afirma “não enviado” (ela não sabe) e não mostra o botão que não funciona. Aparece só um aviso discreto de que o registro está desligado.
- 🚨 E achei o pior caso do produto, que estava escondido. O convite diz *“sua SENHA vai na próxima mensagem”*. Se essa 2ª mensagem falhasse, o sistema ignorava a falha e mostrava “✅ Convite enviado!”. O cliente ficava esperando uma senha que nunca chegou, cobrava você, e você reenviava — trocando a senha. Agora esse caso tem aviso próprio: “⚠️ O convite FOI, mas a senha NÃO”, com a instrução de mandar só a senha pelo botão 2️⃣ e não gerar o acesso de novo.
- 📌 Ainda vale o recado de antes: os clientes que receberam mais de uma mensagem devem usar a ÚLTIMA.
v1.9.52 · 🛑 O cliente estava recebendo DUAS mensagens com senhas diferentes — só a última funcionava04/08/2026
- 🛑 Você estava certo, e o problema era pior do que parecia. Fui ver o registro do sistema: nos últimos 3 dias houve 22 ativações de acesso para apenas 13 clientes. Sete clientes tiveram o acesso gerado mais de uma vez — cinco deles com 6 segundos entre uma e outra (duplo clique), e dois com três ativações em cerca de um minuto.
- 🔑 Por que isso é grave: cada vez que o acesso é gerado, a senha muda. Então o cliente recebia duas mensagens com senhas diferentes e só a última funcionava — quem tentasse a primeira ficava trancado fora e ligava para você. Não era só mensagem repetida.
- ✅ Travado em três lugares: (1) no servidor — se você gerou o acesso desse cliente há menos de 5 minutos, ele pergunta antes de trocar a senha, avisando que a anterior para de funcionar; (2) no botão — trava de clique duplo que age na hora, sem esperar a tela; (3) no tempo de espera do WhatsApp, que subiu de 12 para 25 segundos.
- ⚠️ E o aviso de erro parou de te empurrar para o erro. Antes ele dizia “mande você mesmo”, e ao ver erro você clicava de novo em “Gerar e enviar” — que troca a senha. Agora ele diz o que é verdade: a mensagem pode ter ido (o erro pode ser só a confirmação que demorou), então confira o seu WhatsApp primeiro; se chegou, clique em “✓ já enviei”; se não chegou, copie e mande, porque a senha na tela continua válida.
- 📌 O que fazer com os 7 clientes que já receberam duas mensagens: avise que vale a ÚLTIMA que chegou. Se algum não conseguir entrar, gere o acesso uma vez e mande uma vez só — agora o sistema não deixa passar duas sem você confirmar.
v1.9.51 · 🔎 A Varredura aponta os CRAFs que pegaram a data do CR — achei 4 no seu sistema03/08/2026
- 🔎 Fui procurar quantos casos daquele problema existem de verdade, e achei 4. A suspeita da versão anterior tem uma assinatura detectável: quando a validade do CRAF da arma é exatamente igual à validade do CR do dono, quase certamente a leitura pegou o documento errado. São 4 armas, de 4 clientes diferentes — uma delas com 21/07/2026, que é justamente a data-carimbo dos CRs antigos.
- 📋 Elas agora aparecem em Prazos → 🔎 Varredura, com gravidade alta e o que fazer escrito: confira a data no papel; se o CRAF não traz validade impressa, apague o campo e preencha a EMISSÃO — o sistema conta os 3 anos sozinho e mostra a data como calculada.
- ✋ Não corrigi sozinho de propósito. A data certa está no papel, e prazo de arma é dado legal — o sistema aponta, você decide. Trocar 4 datas por conta própria seria o mesmo tipo de chute que causou o problema.
v1.9.50 · 🤖 O “lida pela IA” não mente mais — e o CRAF na importação usa o leitor certo03/08/2026
- 🎯 Na importação de pasta, o botão de ler o CRAF estava usando o leitor GENÉRICO, mesmo quando você já tinha dito que o documento é um CRAF. Isso explica os *“3 CRAF MANUAL do mesmo cliente sem ler data mesmo ao usar a I.A.”*. Agora, categoria conhecida = leitor certo.
- ⚠️ E tem uma coisa que você precisa conferir. Os dois leitores se contradizem: o do CRAF sabe que a data impressa no CRAF manual novo da PF é a validade do SEU CR, não a da arma, e por isso deixa em branco; o genérico manda pegar *“a data mais distante no futuro”*. Ou seja: naquele cliente em que 1 de 2 CRAF manuais “leu a validade”, é bem possível que a data lida seja a do CR do proprietário, não a do CRAF. Vale reconferir esses casos — data errada é pior que data faltando.
- 🧮 CRAF manual sem validade agora aparece com a data calculada (emissão + 3 anos) já na tela de importação, em verde. A emissão sempre vinha da IA e a tela estava jogando fora — era a outra metade do problema.
- 🤖 O selo “lida pela IA” parou de mentir. Ele aparecia sobre campo de data VAZIO — era literalmente o seu print, e foi o que fez você concluir que o sistema tinha lido. Agora são três selos diferentes: 🤖 lida pela IA (veio do documento) · 🧮 calculada (o sistema contou) · 🤖 a IA não achou data em vermelho (ela rodou e não achou nada — preencha à mão, senão não vira prazo).
v1.9.49 · 🌾 A fazenda nasce do documento — 33 já estão escritas dentro das suas autorizações03/08/2026
- 🌾 Você estava certo e eu tinha invertido o fluxo. Na versão anterior eu escrevi “cadastre a propriedade primeiro”, e você corrigiu: *“não tem como cadastrar propriedade primeiro… o nome da propriedade vem descrito na Autorização de Abate… é lá que determina qual propriedade é”*. Corrigido: agora é o documento que cria a fazenda.
- 🖱️ Em cada autorização apareceu o botão “🌾 criar a fazenda deste documento”. Ela nasce com o nome, o CAR, a matrícula, o endereço e o proprietário que a IA já tinha lido ali — esses dados estavam presos dentro da autorização e não viravam cadastro.
- 🔢 O tamanho disso no seu sistema: você tem 3 fazendas cadastradas hoje. Dentro das autorizações há 33 fazendas diferentes já escritas, em 41 autorizações esperando o vínculo. São 41 cliques.
- 🔗 E não vai duplicar fazenda. Como você explicou, as duas autorizações (abate e entrada) sempre trazem o mesmo nome de propriedade, *“pois para que saia uma é preciso mostrar a outra”*. Então quando o nome bate com uma fazenda que já existe, o sistema liga na mesma, em vez de criar outra igual.
- 📋 A aba também passou a dizer a regra por escrito: só a Autorização de Abate e o CTF têm prazo; a Autorização de Entrada não tem validade — ela serve para identificar a propriedade.
- 🔻 O que ainda não está pronto: a Autorização de Entrada ainda não gera a linha na aba Propriedades sozinha (hoje ela fica só em Documentos, porque o sistema a classifica como “sem prazo” — o que é verdade para o prazo, mas ela também identifica a fazenda). É o próximo.
v1.9.48 · 🌾 Autorização do IBAMA agora se liga à FAZENDA — e a aba explica o que é Arquivo03/08/2026
- 🔎 Antes de mexer eu fui conferir no banco, e o resultado foi diferente do que parecia. Você disse (02/08) que *“as autorizações de abate não veio nenhuma pra cá, está ficando só lá”*. As autorizações estão sendo criadas: são 67 no sistema (45 de abate + 22 de CTF/inscrição), a mais recente hoje. O roteamento funciona.
- 🔗 O que faltava era o vínculo com a fazenda. Das 45 de abate, só 1 estava ligada a uma propriedade — e não existia caminho nenhum para ligar depois: o formulário só oferece a fazenda quando você cadastra à mão, e o que vem do OCR/importação nasce solto. Era isso que dava a sensação de “não veio pra cá”. Agora cada autorização tem um seletor de fazenda com o botão “ligar”, e deixar em “sem propriedade” desvincula sem apagar nada.
- 📋 E a aba passou a explicar a regra do Arquivo, que é a outra metade da história: dos 164 documentos de abate, 97 estão marcados Arquivo (vencidos/histórico) e por isso não geram autorização nem prazo — está certo assim. O que você marca Ativo vira autorização automaticamente.
- ⚠️ Um detalhe importante: o cliente do seu print tinha “Propriedades (0)”. Sem fazenda cadastrada não há a que ligar — cadastre a propriedade primeiro (é o que o SIMAF/IBAMA exige) e o seletor aparece.
v1.9.47 · ⚠️ O CRAF solto em Documentos agora AVISA — e tem botão para mandar para a arma03/08/2026
- ⚠️ O documento fora do lugar agora avisa. Na lista de Documentos do cliente, todo CRAF ou GT que não está ligado a nenhuma arma ganha a marca “⚠️ fora da arma”. Era exatamente a sua queixa de 02/08: *“não tem marcação nenhuma de data, nem nenhum alerta… vai passar batido”*.
- 🔗 E o botão que resolve. O painel que já existia para GT agora cobre o CRAF também — virou “Documentos de ARMA que não estão em nenhuma arma”, na aba Armas. Um clique em “Mandar para a arma certa” e o sistema acha a arma pelo nome do arquivo, sem gastar leitura de IA. O que ele não achar sozinho, você escolhe a arma numa lista.
- 🎯 Feito como você decidiu hoje: avisar, não bloquear. Bloquear a inserção travaria você no meio do lote quando a categoria vem errada do nome do arquivo — melhor deixar salvar e mostrar o que ficou pendente.
- 🟣 Cada linha do painel diz se é CRAF ou GT, porque o que acontece é diferente: a GT vira prazo na hora; o CRAF é só ligado à arma, e o prazo dele sai dos campos de emissão/validade da arma — se estiverem vazios, a arma avisa.
- 📌 O que ainda não está pronto: mandar autorização de abate, CTF e inscrição do IBAMA para a aba Propriedade. O sistema já sabe que esses pertencem a Propriedade, mas o botão para movê-los ainda não existe — é o próximo.
v1.9.46 · 📐 As duas regras que você mandou: CR de 3 anos e GT manual de 180 dias03/08/2026
- 📅 GT manual sem data de validade agora conta 180 dias (6 meses) da emissão. É a sua regra de hoje: *“o máximo de prazo de GT manual é 180 dias… geralmente é a contar da data da emissão”*. A ordem que o sistema segue é: 1º a data impressa na guia; 2º a frase *“válido por N dias a partir da data ___”* (quando a delegacia escreve assim); 3º só então emissão + 180. Nunca soma mais que 180.
- 🧮 E a tela diz que a data foi calculada, em verde, explicando de onde ela veio — para você conferir antes de salvar. Data preenchida sem aviso é pior que campo vazio: você salvaria confiando.
- 📄 CR emitido depois do Decreto 11.615/2023 sem validade impressa agora conta 3 anos da emissão — a mesma regra do CRAF, como você confirmou (*“tanto de novos CR ou CRAF… contam sempre a partir da EMISSÃO DO DOCUMENTO”*). Honestidade: conferi seus 93 clientes e nenhum está nessa situação hoje (84 têm a validade impressa, 9 estão sem data nenhuma). Isso é prevenção — passa a valer conforme você for preenchendo a data de emissão dos CRs novos.
- 🛡️ E a trava continua: CR do regime antigo (Decreto 9.846/2019) segue valendo 10 anos, não 3. Somar 3 anos nele marcaria como vencido um CR válido — foi exatamente o caso do RUBENS, e não vai voltar.
- 🧪 As duas regras entraram no teste automático: 70 verificações agora.
v1.9.45 · 🎁 O texto novo do convite do app + 📮 quem já recebeu e quem já entrou03/08/2026
- 🎁 O convite do app agora é o SEU texto, o do “PRESENTE ESPECIAL PARA VOCÊ”, palavra por palavra — com o nome da sua assessoria e o CPF do cliente entrando sozinhos. Você estava certo em 02/08 quando disse que tinha ido a frase velha: o texto novo nunca havia chegado ao sistema. Peço desculpa: eu tinha concluído que não havia pedido de texto novo, porque não achei rastro dele em lugar nenhum.
- 1️⃣2️⃣ Agora existe uma única mensagem, e a senha vai sempre na segunda. Antes havia duas redações diferentes (uma com a senha no meio do parágrafo) e cada botão usava uma — era daí que saía “frase velha”. Os botões ficaram numerados: 1️⃣ Copiar a mensagem e 2️⃣ Copiar só a senha. Manda nessa ordem e o cliente copia a senha inteira sem pescar do meio do texto.
- 📮 NOVO: “App do cliente” no menu — a lista de quem já recebeu o convite e quem já entrou. Você está convidando ~88 clientes; agora dá para ver de uma vez, sem abrir ficha por ficha.
- 🔎 São três coisas diferentes, e a lista separa: falta enviar (o acesso existe, o cliente nunca recebeu) · enviado e nunca entrou (recebeu e não usou — é aqui que vale cobrar) · já está usando. Ativar o acesso não é convidar, e convidar não é usar.
- ✓ Botão “já enviei o convite”: quando você copia a mensagem e manda pelo seu zap, o sistema não tem como saber. Clique nesse botão e o cliente entra na conta dos convidados — sem gerar senha nova (antes, para registrar um envio antigo você teria de trocar a senha que o cliente já usa).
- 📅 O sistema passou a guardar também a data do primeiro acesso de cada cliente. Quem já entrou antes de hoje aparece como “entrou (antes de 03/08)” — para esses só temos o último acesso, e dizer isso é mais honesto que inventar uma data.
v1.9.44 · ⬇ O arquivo baixado agora vem com o nome certo — e o “ver” só aparece quando abre mesmo03/08/2026
- ⬇ O documento baixado vem com a extensão certa. Você disse (01/08): *“não sei qual dos dois baixou — um baixou como Word e esse outro baixou apenas como arquivo”*. O nome guardado no sistema é o rótulo bonito (“Declaração de residência - JOSÉ”) e de propósito não tem “.docx” — é o que fica legível na lista. Só que o botão de baixar usava esse mesmo nome, então o arquivo descia sem extensão e o Windows não sabia com o que abrir. Agora o rótulo na tela continua limpo e o arquivo salvo ganha o `.docx` / `.pdf` certo.
- 👁 O botão “ver” só aparece quando o navegador realmente abre o arquivo (PDF e imagem). Em Word e Excel nenhum navegador consegue exibir — o “ver” acabava baixando, e parecia defeito. Nesses casos agora aparece só o baixar, e o botão explica o motivo ao passar o mouse. Prometer menos e cumprir.
- 🔗 Vale nos quatro lugares: Documentos, ficha do cliente, arquivo morto e ficha do terceiro — e também no app do cliente, onde o mesmo problema existia sem ninguém ter reportado.
- 🧪 Entrou no teste automático (57 verificações).
v1.9.43 · 📅 A GT manual da PF agora tem o prazo lido — o sistema soma os 180 dias sozinho03/08/2026
- 📅 O sistema passou a ler a frase do período da GT manual. Sua GT da IMBEL não tem campo de data de validade — ela diz *“PERÍODO: Válido por 180 dias a partir da data 11/06/2026”*. Agora o sistema encontra essa frase, soma os dias e grava o vencimento: 08/12/2026. Antes ele só entendia o formato da guia eletrônica (“Validade: data à data”), e por isso a sua saía sem prazo. Você matou a charada sozinho — era o formulário da delegacia, não a IA.
- 🔢 O número de dias vem do papel, nunca chutado. Se a guia disser 30, 90 ou 365 dias, é isso que vale. Nada de assumir 180 — a guia eletrônica usa 184, e já existe GT manual no sistema com a data final escrita.
- 🚫 E o sistema aprendeu a NÃO confundir a validade do CRAF com a da guia. Na sua GT havia três datas no mesmo papel: o início do período (11/06), a assinatura do agente da PF (19/06) e a “Validade do Registro: 13/02/2029” do quadro da arma — essa última é do CRAF, não da guia. Se a data lida brigar com a emissão (vencer antes, ou durar mais de 400 dias), ela é descartada e o campo fica em branco para você conferir. Campo vazio você vê; data errada você salvaria confiando.
- ⚠️ Aviso antes de salvar: se a guia for salva sem validade, a tela agora diz em vermelho que ela não vira prazo e mostra um exemplo da frase para você fazer a conta. Antes salvava calado.
- 🧪 Tudo isso é conta, não é adivinhação: entrou no teste automático do sistema com o texto real da sua GT — 47 verificações rodando a cada mudança.
- ℹ️ Uma observação honesta: essa leitura funciona quando a GT é um PDF de verdade (o do SEI é). Se você mandar uma foto da guia, não há texto para procurar — aí a IA lê o que dá e você preenche a data.
v1.9.42 · ⏰ Agora cada arma diz QUAL prazo vale — e por que não é a data impressa no CRAF03/08/2026
- ⏰ Na ficha de cada arma aparece o prazo que realmente conta, com a origem escrita: “pela tabela de aniversário (IN 330)”, “calculado (emissão + 3 anos)” ou “pela validade impressa” — mais o protocolar até. Quando a data que vale não é a impressa no CRAF, a arma diz isso na cara e explica o motivo.
- 🔍 Isto responde o caso do KAUÊ (você hoje: *“14 CRAF com datas lançadas, porém só 12 aparecem na página de prazos… não to conseguindo ver o que houve”*). Conferi as 14 uma por uma. Não era erro do sistema nem CRAF não lido — eram duas coisas somadas:
- • 12 das 14 têm a data trocada pela norma. Foram concedidas antes de 21/07/2023, então são CRAF excepcional: quem manda é o mês de aniversário dele (maio → 31/05/2027), não a validade impressa (2030, 2032, 2033). No acervo você via 2030/2032/2033; em Prazos aparecia 31/05/2027. O sistema estava certo e não explicava — agora explica.
- • 1 das 14 vence fora da janela. A RUGER de série 71252465 vence em 26/11/2027 (480 dias), e a página de Prazos mostra 1 ano por padrão. Ela está no contador “fora desta janela” no topo; clique em “tudo” e ela aparece. As outras 13 estão na lista.
- ⚠️ E quando uma arma não tem prazo nenhum (falta a emissão e a validade do CRAF), a ficha agora avisa em amarelo que ela não vai aparecer em Prazos — em vez de ficar em silêncio.
v1.9.41 · ⏰ Prazo de CRAF que não existia agora existe · a data que VOCÊ digita na GT vale · 💰 desconto do clube aplica03/08/2026
- 🚨 A validade do CRAF agora é realmente contada. O CRAF manual da PF não imprime data de validade — vale 3 anos da emissão. Em 29/07 avisamos aqui que o sistema calculava assim, e a verdade é que essa conta nunca chegou a ser escrita: o CRAF sem validade impressa ficava sem prazo NENHUM. Conferimos no seu sistema: 10 armas estavam assim, sem aparecer em Prazos, sem aviso e sem constar no app do cliente. Agora contam. Nas telas a data aparece marcada como “calculada”, para você saber de onde ela veio.
- 🛡️ Essa conta não vale para CRAF antigo (concedido antes de 21/07/2023): esse renova pela tabela de aniversário (IN 330). Somar 3 anos nele diria que sua arma está vencida desde 2025 — alarme falso de posse ilegal. E a data impressa sempre vence o cálculo: se o documento tiver validade escrita, é ela que manda.
- 🧮 Na tela Ler CRAF (OCR) a data calculada aparece na hora, em verde, com a conta à mostra (“13/02/2026 + 3 anos = 13/02/2029”). Era sua dúvida de 01/08: o campo ficava em branco e não havia como saber se o prazo estava sendo contado.
- 📎 A data que VOCÊ digita na GT agora vira prazo. Quando a IA não lia a validade, você digitava à mão no wizard de importar pasta — o sistema guardava a sua data e, na linha seguinte, jogava ela fora. A guia era descartada e o PDF ficava solto em Documentos. Era isso que deixava as GTs do seu lote fora das armas (no dia 02/08: 39 de 39 CRAFs entraram na arma, e só 2 de 16 GTs).
- 📎 GT sem validade agora entra na arma. Antes, guia sem data era descartada inteira e a tela dizia “a IA não conseguiu ler” — mentira: ela tinha lido 10 campos e só faltava a data. Agora o PDF vai para a arma certa, e o sistema diz com todas as letras que aquela guia está sem prazo e que você precisa preencher a validade.
- 🔒 Trava contra prazo falso. Numa GT há até três datas no mesmo papel: o início do período, a assinatura do agente da PF e a “Validade do Registro” do quadro da arma — essa última é a validade do CRAF, não da guia. Se a data lida vencer ANTES da emissão, ou durar mais de 400 dias, o sistema descarta e avisa em vez de gravar. Prazo errado é pior que prazo faltando: você dorme tranquilo e a guia vence.
- ⚠️ No fim da importação de pasta o resultado agora diz quantos documentos entraram na ficha da arma e avisa em amarelo quantas guias ficaram SEM prazo. Sua frase de 02/08 era exatamente essa: “não tem marcação nenhuma de data, nem nenhum alerta… vai passar batido”.
- 💰 O desconto do Tipo de solicitante agora aplica de verdade. Ao escolher o serviço, o valor de tabela caía no campo por um caminho que o sistema não enxergava — então o desconto do clube calculava sobre zero e não fazia nada (seu print: R$ 75,00 quando devia ser R$ 63,75). Corrigido. E ao abrir um processo em que o valor está cheio com um perfil de desconto escolhido, aparece um aviso com um clique para aplicar — encontramos 7 processos gravados assim, 3 deles já cobrados. Seu preço próprio (65,00 numa GT de tabela 75,00) nunca é mexido: o aviso só aparece quando o valor está idêntico ao da tabela.
- 🔻 O que ainda NÃO está pronto: a leitura automática da frase “Válido por 180 dias a partir da data …”, que é como a GT manual da sua delegacia escreve a validade. Hoje a IA não entende esse formato (ela entende o “Validade: data à data” da guia eletrônica). Até isso ficar pronto, digite a data — e agora ela conta como prazo, o que antes não acontecia.
v1.9.40 · 🗂️ O processo montado agora fica GUARDADO — e a lista avulsa pode ficar limpa01/08/2026
- 🗂️ Em Montar dossiê, além de baixar, agora existe “💾 Salvar no cliente e baixar”. O PDF único — na ordem que você montou com o ▲▼ — passa a ficar guardado na ficha do cliente como Processo montado, com a data e a quantidade de peças. Antes ele só era baixado: o arquivo que você mandava pra PF não existia no sistema, e depois não havia como saber o que foi protocolado.
- 🧹 E tem uma opção nova: “tirar da lista avulsa os documentos que já entraram neste processo”. Você disse que nem tudo precisa ficar solto ali (a Declaração, por exemplo). Marcando isso, esses documentos vão para Arquivo morto — continuam guardados e baixáveis, apenas saem da lista do dia a dia, do portal do cliente e dos prazos. Nada é apagado.
- 📌 CRAF, CNH, RG, CR, as GTs, autorizações de propriedade e de abate, CTF e inscrição do IBAMA ficam sempre à vista — são exatamente os que você listou, porque se repetem em outros processos.
- ℹ️ Por enquanto o processo montado aparece na própria lista de Documentos, identificado como “Processo montado”. A aba separada PROCESSOS MONTADOS que você pediu ainda não está pronta — é o próximo passo.
v1.9.39 · 📄 O documento gerado agora fica salvo no cliente — e já vem com nome01/08/2026
- 📄 “Não vi pra onde foi essa Declaração de Endereço gerada, não está na pasta documentos dele.” Você estava certo: o sistema só fazia o download — o documento existia apenas na pasta de Downloads do seu computador, nunca dentro do FattoCAC. Agora todo documento gerado é guardado na aba Documentos do cliente, como qualquer outro anexo.
- 🔁 E se você corrigir um dado e gerar de novo, o novo substitui o anterior em vez de criar uma segunda cópia — a pasta não enche de repetido.
- ✍️ O arquivo agora vem com o nome pronto: “Declaração de endereço - NOME DO CLIENTE.docx”. Antes os acentos viravam underline (“Declara__o de endere_o”) e em alguns casos o nome nem chegava, e você tinha que digitar na hora de salvar.
- 🖨️ Na prévia, quando você manda Imprimir → Salvar como PDF, o arquivo sai com o nome do documento em vez de “Prévia — …”.
v1.9.38 · 📋 O check-list agora vem do SERVIÇO — e os serviços aparecem na SUA ordem31/07/2026
- 📋 Respondendo sua pergunta: eram duas listas diferentes, e você estava certo. Dentro do processo havia um seletor “Carregar checklist do tipo de processo” com 5 modelos genéricos escritos em junho — bem no topo, já pré-selecionado e com o botão azul. Era a lista velha (“começamos a usar e depois mudou tudo e não mudamos aqui”). Sendo a primeira e a mais destacada, era a que se usava — e vinha o rol de documentos errado. Removida.
- 📋 Agora o botão principal é “Carregar o checklist de «nome do serviço» (N itens)” — ele puxa exatamente o que você definiu em Catálogos → Checklist para aquele serviço, e só dele. Se o serviço ainda não tiver check-list, a tela diz isso e oferece copiar de um serviço parecido.
- 🔢 E a lista de serviços passou a aparecer na SUA sequência em todo o sistema. Era o outro motivo de parecer “outra lista”: em Catálogos → Checklist (e em mais 10 telas) os serviços estavam em ordem alfabética, não na ordem que você montou. É a mesma lista de sempre — só estava embaralhada. Corrigido em: Catálogos, Check-list por serviço, abrir processo, dentro do processo, orçamento, cobranças, avisos, marketplace, loja e relatórios.
v1.9.37 · 🛡️ Salvar o check-list não apaga mais o seu trabalho31/07/2026
- 🛡️ Você relatou: “selecionei os 33, salvei, apagou 7. Fiz de novo, coloquei a numeração e salvei, APAGOU TODOS.” Era verdade, e a causa era grave: ao salvar, o sistema primeiro apagava tudo daquele serviço e só depois tentava gravar a sua seleção. Se a gravação falhasse por qualquer motivo, já era tarde — ficava vazio, sem nenhum aviso, e o botão ainda dizia “✓ Salvo!”.
- 🛡️ Agora é o contrário: grava primeiro e só depois remove o que você realmente desmarcou. Se der qualquer problema na gravação, nada é alterado e aparece o motivo em vermelho na tela — nunca mais um “salvo” mentiroso.
- 🔎 E o mistério dos 7 que sumiam: a tela só mostra documentos ATIVOS no catálogo. Se o check-list do serviço tinha algum documento que foi desativado, ele não aparecia como caixinha — e salvar o levava embora, calado. Agora esses itens são preservados e um aviso amarelo te diz quantos existem e que eles continuam valendo.
- ⚠️ Vale conferir: o serviço “Transferência Atirador x Atirador” está com 14 documentos, enquanto os outros de transferência têm 24 (e o Atirador x Caçador tem 36). Provavelmente é a sua seleção perdida. Refaça que agora ela fica — ou me peça para copiar de um serviço parecido como ponto de partida.
v1.9.36 · ✍️ O nome que você digita na GT não é mais apagado (extensão v0.5.2)31/07/2026
- ✍️ Você digitava o nome do documento, clicava em “Baixar e enviar”, e a GT chegava com o nome automático (“GT 911370.26.020765.pdf”). Motivo: no momento em que a guia era baixada, a extensão esquecia que você tinha digitado algo e reescrevia o campo por cima. Corrigido: quem digita manda. Se você não digitar nada, continua vindo o nome automático com o protocolo.
- 🔎 A mensagem de confirmação agora diz EM QUAL ARMA a guia entrou — por exemplo “guia criada na arma (vence 30/01/2027) → arma COMPANHIA RANGER sér. TZA5253901”. Antes ela só dizia “na arma”, sem nome, e não havia como saber pela tela da extensão se tinha ido; era preciso abrir a aba Armas para conferir.
- ✅ Conferido no seu caso real: a GT 911370.26.020765 do PAULO ANDRE ESTAVA na arma (PDF anexado e guia registrada, vencendo 30/01/2027) — e as outras 3 armas dele também. O que faltava era a tela te contar isso.
- ⚠️ PRECISA REBAIXAR A EXTENSÃO: Configurações → “⬇️ Baixar extensão (v0.5.2)”, extrair por cima da antiga e recarregar (♻️) em chrome://extensions.
v1.9.35 · 🔗 A GT agora fica pendurada na ARMA mesmo quando a guia já estava cadastrada31/07/2026
- 🔗 Você reportou: “não enviou para as armas, só pra documentos”. Era isso mesmo, e a causa é fina: quando a guia JÁ estava cadastrada naquela arma (porque uma leitura anterior já tinha pegado os dados), o sistema dizia “essa guia já existe” e abandonava o PDF na lista de Documentos, sem pendurar na arma. Agora, guia repetida não faz mais o arquivo se perder: a guia não duplica, mas o PDF entra na arma do mesmo jeito, com a validade e o nome certos.
- 💬 E a mensagem que aparecia era enganosa: dizia “a IA não conseguiu ler agora”. Ela tinha lido perfeitamente — só encontrou a guia repetida. Agora ela fala a verdade: “essa guia já estava cadastrada nesta arma; anexei o PDF na arma”.
- 🛠️ Já arrumei os dois casos que ficaram soltos: as GTs 911370.26.020663 e 911370.26.020666 do RUBENS PRIEVE agora aparecem nas armas certas (a 663 na carabina CBC 7022 WAY e a 666 no revólver Taurus RT), com validade 28/01/2027. Varri a base inteira e não havia nenhum outro caso.
v1.9.34 · 🔒 CONSERTADO: a extensão pegava a OUTRA guia da lista (extensão v0.5.1)30/07/2026
- 🔒 Bug sério, achado pelo Renato no caso do Rubens: com duas Guias de Tráfego na tela, clicar em uma armava a OUTRA — clicava na 666 e vinha a 663, clicava na 663 e vinha a 666. A causa: a extensão lia qual linha estava marcada UM INSTANTE ANTES do site da PF trocar a marcação, então enxergava sempre a linha anterior. Agora ela usa a linha em que você realmente clicou — não tem mais como confundir.
- 🔒 Havia uma segunda metade do problema, pior porque era invisível: o campo do protocolo só era preenchido quando estava vazio. Ou seja, um número errado grudava e nunca se corrigia — o painel podia mostrar a guia certa na frase de cima e mandar a errada para o sistema. Agora protocolo e situação sempre acompanham a linha selecionada (se você digitar à mão, a sua digitação manda).
- 🔒 E uma trava a mais: no momento de enviar, a extensão confere se o protocolo do painel é o mesmo do processo selecionado na PF. Se estiver diferente, ela corrige e avisa na tela, em vez de anexar a guia de um processo em outro.
- ⚠️ PRECISA REBAIXAR A EXTENSÃO: Configurações → “⬇️ Baixar extensão (v0.5.1)”, extrair por cima da pasta antiga e recarregar (♻️) em chrome://extensions.
v1.9.33 · 🤖 A inteligência artificial VOLTOU — e agora dá pra ver quanto ela custa30/07/2026
- 🤖 O Jarvis e a leitura automática de documentos (CRAF, GT, RG/CNH, IBAMA) estavam parados desde 27/07 por falta de saldo na conta da inteligência artificial. O Renato recarregou e tudo voltou a funcionar. As correções que você tinha ensinado ao Jarvis continuam salvas — nada se perdeu.
- 💰 Para não sermos pegos de surpresa de novo, o painel interno agora mostra o SALDO em tempo real: quanto foi recarregado, quanto já foi usado, quanto custa cada leitura e por quantos dias de trabalho o crédito ainda dá. Quando ficar baixo, o aviso aparece antes de parar.
- 🧮 Para você ter ideia: cada documento lido pela IA custa cerca de 8 centavos. Ler o dossiê inteiro de um cliente novo sai por poucos reais.
v1.9.32 · 🚚 A GUIA DE TRÁFEGO BAIXA EM 1 CLIQUE (extensão v0.5.0) — enigma de 13 dias resolvido30/07/2026
- 🚚 A GT ENFIM BAIXA SOZINHA. Desde 17/07 o CRAF e a Autorização baixavam em 1 clique, mas a Guia de Tráfego não — e a gente já tinha tentado o número do protocolo, o protocolo sem os pontos, o número interno do processo… todos davam erro. Descobrimos por quê: para a GT a PF pede MAIS UM PASSO. Primeiro tem que perguntar “quais guias existem neste processo?”, e é o número que vem NESSA resposta que abre o PDF. Nenhum dos números que a gente tinha na mão servia — não era palpite errado, era passo faltando.
- 🔎 Como achamos: o próprio site da PF entrega o código do sistema dele para o navegador (é assim que a tela funciona). Lemos ali, na origem, exatamente o que o botão “Visualizar Guia de Tráfego” faz por dentro. Agora a extensão faz o mesmo caminho que a tela da PF faria — com o SEU login, sem inventar nada e sem depender de teste no escuro.
- 📄 O PDF da guia vinha com um pedaço de lixo no fim (coisa do servidor da PF), o que fazia alguns leitores reclamarem do arquivo. Agora a gente corta esse rabo antes de enviar.
- 🏷️ A versão que aparece no painelzinho da extensão agora é lida do próprio complemento — acabou o risco de mostrar número velho depois de atualizar.
- ⚠️ PRECISA REBAIXAR A EXTENSÃO: Configurações → “⬇️ Baixar extensão (v0.5.0)”, extrair por cima da pasta antiga e clicar em recarregar (♻️) em chrome://extensions.
v1.9.31 · 🛑 Trava: não encerra processo sem receber · 🗄 status arquivados voltam · 🤖 erro de IA em português30/07/2026
- 🛑 TRAVA DO CAIXA: se você arrastar um processo para um status que ENCERRA o serviço (Encerrado, Finalizado, Arquivado…) e ele ainda estiver como “a receber”, o sistema PERGUNTA antes: mostra o cliente, o serviço e o valor, e lembra que o certo nesse caso é “Entregue ao cliente” (que mantém o valor na sua fila de cobrança). Não bloqueia — você decide, mas com um último olhar. (Conferi sua base: só 1 processo tinha escapado — EMÍLIO CASSIANO OSSANI, R$ 250,00, Glock G30 Tiro x Caça, encerrado em 22/06.)
- 🔍 A Varredura também passou a listar “Processo encerrado SEM recebimento” como item de alta gravidade, com o que fazer em cada caso.
- 🗄 CONSERTADO de raiz: quando você clicava no ✕ de uma situação já usada, ela era arquivada e DESAPARECIA de tudo — sem nenhum jeito de trazer de volta. Foi assim que o “Deferido” saiu da coluna Conclusos p/ Deferimento e sobraram só 3 status que não serviam. Agora existe “🗄 Situações arquivadas” em Configurações → Catálogos, com botão ↩ reativar. (Já devolvi o “Deferido” pra sua coluna.)
- 🎯 No quadro (Kanban), a janelinha de escolher status ficou muito melhor: tem CAMPO DE BUSCA (a coluna Andamentos tem 28 status), marca qual é o status ATUAL do card, tem o botão “↩ manter (não mexer)” quando você solta na mesma coluna, e um “+ criar status nesta coluna” pra quando nenhuma opção servir — sem sair do quadro.
- 🤖 Erro da leitura automática agora fala português: em vez de um código técnico, aparece o que aconteceu e o que fazer — se dá para tentar de novo, se o documento é grande demais, ou se é indisponibilidade temporária do serviço.
v1.9.30 · 🏷️ CR com validade 21/07/2026 NÃO está vencido — o sistema entende sozinho agora29/07/2026
- 🏷️ CONSERTADO: CR do regime antigo (aquele com “VALIDADE 21/07/2026” impressa) aparecia como VENCIDO. Não está: aquela data era o corte do Decreto 11.615/2023, e a IN 322 devolveu os 10 anos originais. Agora o sistema reconhece essa data SOZINHO — não precisa mais marcar o quadradinho “CR 10 anos” em cada cliente (o que ninguém tinha feito em 1 dos 19 casos, e por isso ele constava vencido).
- 📅 Para saber QUANDO ele vence de verdade, o sistema precisa da DATA DE EMISSÃO do CR (vencimento = emissão + 10 anos). Ex.: o CR do Rubens é de 27/04/2022 → vence em 27/04/2032.
- 🤖 O leitor de documentos (OCR) agora pega essa data sozinho no CR do Exército: é a data do rodapé, junto da cidade (ex.: “Cuiabá/MT, 27/04/2022”) — aquele CR não tem campo “emissão”, e era por isso que ficava em branco.
- 🔍 A Varredura passou a listar quem está nessa situação (CR de 10 anos sem a data de emissão), pra você completar de uma vez e todos ganharem a data certa de renovação.
- 📌 Regra pra guardar: CR emitido entre 25/06/2019 e 21/07/2023 (Decreto 9.846) vale 10 anos. O próprio CR diz isso no campo “AMPARO LEGAL”.
v1.9.29 · 🕵️ Extensão v0.4.9: ela aprende o caminho da GT VENDO você baixar uma vez29/07/2026
- 🕵️ A GT ainda não baixava sozinha porque a Polícia Federal usa um endereço interno que a gente não tinha como adivinhar. Agora a extensão APRENDE olhando: baixe UMA GT do jeito que já funciona pra você (pela outra extensão, ou abrindo o Histórico de Documentos) — a nossa extensão vê qual endereço a PF usou e passa a usar o mesmo daí em diante, sozinha. Não precisa mexer em nada técnico.
- 🧾 E se ainda assim não conseguir, a mensagem de erro agora mostra exatamente o que ela tentou (número e endereço → resposta da PF). Mande um print dessa mensagem pro Renato que fechamos de vez.
- ⬇️ Baixe em Configurações → Extensão (v0.4.9) e recarregue em chrome://extensions.
v1.9.28 · 🔒 Extensão v0.4.8: travas para NUNCA anexar documento no lugar errado29/07/2026
- 🔒 Uma revisão de segurança que fizemos no código da extensão encontrou dois riscos que a versão de hoje mais cedo tinha — e nós tapamos os dois ANTES de virar problema. Nenhum dado seu foi afetado; é prevenção.
- 1️⃣ Se você clicasse em “Baixar e enviar” e, enquanto o documento carregava, clicasse em OUTRA linha, a extensão podia guardar o número da guia associado ao processo errado — e repetir esse erro depois. Esse atalho foi REMOVIDO (ele nem era mais necessário, já que o número da guia é o protocolo sem pontos).
- 2️⃣ O envio automático (aquele que espera a GT abrir em outra aba) agora só acontece se: for um documento NOVO, aberto pela MESMA pessoa que está logada na PF, e com você ainda no MESMO cliente e MESMO processo. Se você trocar de linha no meio, ou se aparecer um documento de outra janela (ex.: janela anônima com outro cliente), ele NÃO envia e te avisa. A espera também encurtou de 80 para 40 segundos.
- ⬇️ Baixe em Configurações → Extensão (v0.4.8) e recarregue em chrome://extensions. A GT em 1 clique (novidade da versão anterior) continua igual.
v1.9.27 · 🎯 Extensão v0.4.7: a GT baixa em 1 clique — o número da guia é o protocolo sem os pontos29/07/2026
- 🎯 O Julio matou a charada: o número da Guia de Tráfego é o PROTOCOLO SEM OS PONTOS (protocolo 911370.26.020666 → guia 91137026020666). Era só isso que faltava desde julho pra GT baixar sozinha! A extensão v0.4.7 já tenta esse número primeiro — agora é clicar em “Baixar e enviar” e pronto, sem abrir o PDF, sem Histórico de Documentos, igual ao CRAF.
- 🛟 Se por algum motivo esse número não servir num caso específico, ela ainda tenta os outros caminhos (o número que aprendeu antes, o da lista da PF e o do processo) — e continua aprendendo sozinha.
- ⬇️ Baixe em Configurações → Extensão (v0.4.7) e recarregue em chrome://extensions.
v1.9.26 · 🧩 Extensão v0.4.6: a GT finalmente entra pelo botão — e ela APRENDE o número da guia sozinha29/07/2026
- 🎯 CONSERTADO o motivo de “clico e não acontece nada” na GT: a extensão procurava o botão de abrir o documento na PÁGINA INTEIRA e acabava clicando no botão da PRIMEIRA linha da tabela — por isso, da segunda linha em diante, não funcionava. Agora ela procura DENTRO da linha que você selecionou.
- 🎯 E ela clicava, às vezes, no texto da coluna “Emitir Guia de Tráfego…” (que não é botão) — daí ficava parada em “Abrindo o documento…”. Agora só clica no que é botão de verdade.
- 🧠 NOVO: a extensão APRENDE o número da guia. A GT não baixava em 1 clique porque a PF usa um número PRÓPRIO da guia (diferente do número do processo), que só aparece quando você abre o “Histórico de Documentos”. Agora, quando você abrir a GT uma vez, a extensão guarda esse número — e nas próximas ela baixa e envia direto, sem você abrir nada. Ela não “adivinha” nada da PF: só aproveita o que a própria página buscou.
- 📤 E se a GT abrir em OUTRA ABA, o “Baixar e enviar” não desiste mais: ele fica esperando o documento aparecer e envia sozinho quando aparecer (só aceita documento novo, nunca um antigo — pra não anexar no cliente errado).
- ⬇️ Baixe a versão nova em Configurações → Extensão (v0.4.6) e recarregue em chrome://extensions.
v1.9.25 · 💰 O desconto do tipo de solicitante agora CAI SOZINHO no processo · 🧩 extensão v0.4.5 liberada de verdade29/07/2026
- 💰 CONSERTADO o “erro do caixa”: no PROCESSO (novo e ao abrir um já existente), escolher o Tipo de solicitante (Associado do clube, cônjuge, filho…) agora APLICA o desconto no valor na hora. Antes só aparecia uma sugestão com o botãozinho “aplicar” — se você esquecesse de clicar, o processo ia pro caixa com o preço cheio. Agora o valor já sai certo, e embaixo aparece “✅ 15% de desconto — de R$ 75,00 por R$ 63,75” pra você conferir.
- 🛟 E o desconto é calculado em cima do VALOR QUE ESTÁ NA TELA, não do preço da tabela: se você digitou um valor combinado (ex.: 65,00 numa GT de tabela 75,00), é ele que ganha o desconto — e tirar o tipo de solicitante devolve exatamente o seu valor. Nada muda sozinho quando você só ABRE ou salva o processo: só quando você mexe no tipo ou no serviço.
- 🧩 Extensão do navegador: o botão de baixar em Configurações estava entregando a versão ANTIGA (0.4.4) mesmo com a 0.4.5 pronta — por isso ela aparecia como 4.4 pra você. Agora o download é a 0.4.5 de verdade. Baixe de novo em Configurações → Extensão e recarregue no navegador (chrome://extensions → Recarregar).
v1.9.24 · 🔧 Orçamento não apaga mais o valor digitado · 📷 OCR lê o CRAF NOVO da PF · 🎨 botões com cor29/07/2026
- 🔧 CONSERTADO no orçamento: trocar o Tipo de solicitante APAGAVA o valor que você tinha digitado (ex.: você cobrava 65,00 numa GT de tabela 75,00 — mexeu no tipo e voltou 75,00, nunca mais o 65,00). Agora cada linha guarda o SEU valor bruto: escolher um tipo com desconto calcula o líquido em cima do SEU valor, e voltar pra “Particular / preço cheio” devolve EXATAMENTE o que estava. Funciona também nas linhas do botão “Jogar em aberto” (que antes ignoravam o desconto).
- 🐜 Mais 3 consertos miúdos no orçamento: os tipos SEM desconto não mostram mais “(−0%)” enganoso; linha de R$ 0,00 legítima não reabre mais em branco; e ao trocar de cliente o campo Clube não fica mais com o clube do cliente anterior.
- 📷 O leitor de CRAF (OCR) agora entende o CRAF MANUAL NOVO da PF (o do SEI, com “Nº Registro da Arma de Fogo” no topo): lê o número novo de registro, marca a ATIVIDADE de acervo (Caça/Tiro/Coleção) sozinho, e NÃO cai na pegadinha da “Data de VALIDADE” impressa — aquela data é a do SEU CR, não a da arma. A validade do CRAF segue calculada pela emissão + 3 anos (regra confirmada por decreto), com a emissão vinda da data da assinatura eletrônica.
- 🎨 Botões com cor na aba Financeiro do cliente: o “Jogar o que está EM ABERTO num orçamento” agora é AZUL (é botão, não texto!) e o “Ver em Cobranças” ganhou borda âmbar.
v1.9.23 · 🧾 Orçamento no SEU formato: Valor Bruto × Valor Líquido · e o financeiro em aberto vira orçamento em 1 clique28/07/2026
- 🧾 O orçamento (e o recibo) agora saem NO FORMATO que você desenhou: colunas “Valor Bruto” (preço de tabela) e “Valor Líquido” (preço com o desconto do tipo de solicitante — sócio do clube, cônjuge, filho…). Quando você escolhe o Tipo de solicitante, o sistema calcula sozinho: o bruto fica na tabela e o líquido já sai com o desconto — o cliente ENXERGA o desconto que você deu.
- ➕ O rodapé agora aparece SEMPRE com as 3 linhas: SUBTOTAL (nas duas colunas: soma dos brutos e soma dos líquidos), DESCONTO / ABATIMENTO (o que você digitar — bom pra “tirar as quebras”) e TOTAL GERAL. Antes, sem desconto, saía só uma linha “Total”.
- 🧾 O RECIBO espelha o orçamento: mesmas colunas, mesmo rodapé, mesmo TOTAL GERAL (e o valor por extenso continua).
- 📲 No WhatsApp o item com desconto sai “de R$ 75,00 por R$ 63,75” — o desconto aparece lá também.
- ⚡ NOVO — na ficha do cliente (aba Financeiro): botão “Jogar o que está EM ABERTO num orçamento”. Ele pega TUDO que o cliente deve (pendente, vencido e permuta a receber) e monta um orçamento salvo com uma linha por cobrança — pro caso de cliente que pergunta “o que você está me cobrando?” você não precisa remontar 100 itens na mão. Abre já no orçamento, pronto pra gerar o PDF e o recibo.
v1.9.22 · 💜 Permuta → PIX agora atualiza o A Receber · saldo de permuta aparece na ficha do cliente28/07/2026
- 🔧 CONSERTADO: quando você trocava a forma de pagamento de “Permuta c/ …” para PIX (ou qualquer outra), o valor NÃO voltava pro “A receber” — ficava travado como permuta por dentro e o card seguia em R$ 0,00. Agora a forma que você escolher MANDA: trocou pra PIX, a cobrança volta a contar como “a receber” (ou “pago”, se já tinha baixa). Se você já tinha trocado alguma e ela continua presa, é só escolher a forma de novo no mesmo campo — agora gruda.
- 💜 A ficha do cliente (aba Financeiro) agora mostra o card “Permuta a receber” quando o cliente tem permuta — antes o saldo em permuta (ex.: R$ 3.650) não aparecia em lugar nenhum da ficha, só na tela Cobranças. Permuta continua FORA do “A receber” em dinheiro, como combinado.
- ⏰ O card “A receber” da ficha agora soma também as cobranças VENCIDAS (inadimplente) — antes ele só somava as pendentes em dia, e dívida vencida sumia do número.
- ↩ O “reabrir permuta” (na tela Cobranças) agora desfaz de verdade: antes, o próximo salvar do processo re-marcava a permuta sozinho.
- 🧾 A LISTA de orçamentos agora mostra o nome do cliente AVULSO (não cadastrado) — antes aparecia “Sem cliente”.
v1.9.21 · 💳 Trava no crédito em haver · 🧾 Clube e orçamento avulso (cliente não cadastrado)27/07/2026
- 💳 Crédito em haver com TRAVA: a opção “Crédito em haver” na hora de dar baixa agora só aparece quando o cliente TEM saldo de crédito. Antes ela aparecia sempre, e dava pra “baixar com crédito” que não existia — o que criava aquele saldo negativo/positivo confuso. Também travamos por dentro (no servidor): não deixa mais dar baixa com crédito sem saldo, aconteça o que acontecer. Lembre da regra: o crédito só existe se o cliente JÁ pagou (primeiro entra o recebimento, depois vira crédito). Tem um passo a passo na pasta dos guias.
- 🧾 Orçamento e recibo agora mostram o CLUBE do cliente — puxa do cadastro e dá pra editar (útil pra quem estava sem o clube preenchido).
- 🆕 Orçamento/recibo para quem NÃO é cadastrado (avulso): agora dá pra fazer sem cadastrar o cliente. Deixe o campo Cliente em branco e digite o Nome, o Clube e o CPF (opcional) — o PDF e o recibo saem com esses dados. Bom pra prospecto/eventual.
v1.9.20 · 🪪 CR de 10 anos reconhecido sozinho: acabou o falso “CR vencido”27/07/2026
- 🪪 O sistema agora reconhece SOZINHO os CRs de 10 anos. Pela lei (IN 322), todo CR concedido entre 25/06/2019 e 21/07/2023 vale 10 anos — mesmo que a data impressa nele seja curta/antiga. Antes, esses CRs apareciam como “vencido” e você tinha que marcar na mão o quadradinho “CR 10 anos” em cada cliente. Agora, se a DATA DE EMISSÃO do CR estiver preenchida e cair nessa janela, o sistema já entende e para de avisar como vencido — nos Prazos, no painel, na varredura, no portal do cliente e no dossiê.
- 🤖 A leitura por IA (OCR) do CR passou a capturar também a DATA DE EMISSÃO do CR (antes só pegava o número e a validade). Assim os CRs importados/lidos já entram com a emissão certa e a regra dos 10 anos funciona sozinha. (Se algum CR antigo ainda aparecer como vencido, é só preencher a Emissão do CR na ficha — ou marcar o “CR 10 anos”, como antes.)
v1.9.19 · 💸 Desconto no orçamento: digite R$ ou % e saia Subtotal → Desconto → Total a pagar27/07/2026
- 💸 Agora dá pra dar um DESCONTO no orçamento inteiro: no campo “Desconto” você digita o valor (ex.: 150) OU a porcentagem (ex.: 10%). O orçamento passa a mostrar Subtotal, o desconto e o Total a pagar — e vale no PDF, no recibo e no WhatsApp. Fica salvo: ao reabrir o orçamento o desconto continua lá. (É diferente do desconto de sócio do clube, que já vinha aplicado item a item — esse novo é um abatimento que você dá à mão no orçamento todo.)
- 🧾 Corrigido no orçamento/recibo: quando você escrevia um detalhe curto no item (ex.: o serviço “Emissão de CRAF” e no detalhe só “craf”), o nome do serviço sumia e saía só “craf”. Agora sai o serviço + o detalhe (“Emissão de CRAF — craf”).
v1.9.18 · 🧹 Faxina geral: cliente excluído some de vez dos prazos · Varredura sem alarme falso · dossiê traz o terceiro · extensão sem beco sem saída27/07/2026
- 🗑 Excluir cliente agora some DE VERDADE: quando você manda um cliente pra lixeira, os prazos dele (CRAF das armas, GT, IBAMA, lembretes e parcelas) somem da tela de Prazos, do “o que vence” do painel, da agenda e dos avisos automáticos. Antes só o CR sumia e o resto continuava aparecendo com o nome do cliente “excluído”.
- 🚨 Varredura de prazos: acabou o alarme vermelho falso. Ela estava marcando TODA arma com CRAF como “sumiu da lista — avise o Renato” por um erro interno de conferência (chegou a ser dezenas de alarmes à toa). Agora confere certo. O CR de validade de 10 anos também parou de dar alarme falso.
- 📄 Dossiê da PF: os documentos do TERCEIRO (a outra parte de uma transferência) agora ENTRAM no PDF do dossiê. Antes o botão dizia “Baixar a pasta (5)” mas o PDF saía só com os do cliente. E documento de terceiro que você arquivou ou mandou pra lixeira não aparece mais no dossiê nem na ficha do terceiro.
- 🧩 Extensão do navegador (v0.4.5): consertado o beco sem saída que travava quem era novo. Quando ela não descobre o cliente sozinho, agora ABRE o campo de cliente e te orienta — em vez de dar erro vermelho mandando pra um “passo 2” que ficava escondido. A lista de tipos de documento também ganhou IBAMA, laudos e as categorias novas de terceiro. (Precisa recarregar a extensão no navegador pra pegar a versão nova.)
v1.9.17 · 🏷️ Categorias personalizadas no PDF do dossiê e no aviso · dossiê em lote respeita Arquivo/lixeira23/07/2026
- 🏷️ As categorias que você cria agora aparecem com o nome certo também no PDF do dossiê e no aviso por WhatsApp (não mais o código interno).
- 🗂 O dossiê em LOTE (renovação de CRAF) passou a respeitar o Arquivo e a lixeira: não inclui mais documento arquivado (histórico) nem excluído — igual ao dossiê individual.
v1.9.16 · 🧠 Laudo psicológico e teste de tiro: validade calculada sozinha (1 ano da emissão)23/07/2026
- 🧠 Na importação de pasta, ao ler o LAUDO PSICOLÓGICO ou o TESTE DE TIRO (capacidade técnica) por IA, o sistema agora CALCULA a validade sozinho — 1 ano a partir da data de emissão. Antes ficava em branco (porque esses documentos não trazem a validade impressa, só a emissão) e dava a impressão de que “não leu”. Agora a validade aparece certinha e vira o prazo.
v1.9.15 · 🖋️ Modelos: comece de um EXEMPLO pronto (não da folha em branco)23/07/2026
- 🖋️ Ao criar um modelo de documento (HTML), agora dá pra escolher “começar de” um EXEMPLO pronto: Declaração, Documento com dados de arma, ou Transferência/doação com terceiro. Vem com a estrutura e as variáveis já postas — você só ajusta o texto. Bem mais rápido do que partir do zero. (Os modelos oficiais da PF continuam intactos, ao lado.)
v1.9.14 · 🖋️ Crie seus PRÓPRIOS modelos de documento (editor no app)23/07/2026
- 🖋️ Novidade grande: agora você cria e edita seus PRÓPRIOS modelos de documento dentro do sistema, sem precisar de Word nem de a gente programar. Em Documentos → Modelos → “✏️ Criar/editar modelos HTML”: escreva o texto, clique nas VARIÁVEIS (nome, CPF, CR, arma, terceiro, data por extenso…) pra inseri-las, e veja a prévia ao vivo. Cada modelo novo já vem com um exemplo pronto pra você adaptar.
- 📄 Pra gerar: abra a partir da ficha do cliente (Gerar documentos) — escolhe a arma/terceiro se precisar, e o modelo sai preenchido com os dados reais dele, pronto pra imprimir. Os modelos oficiais em .docx e os modelos prontos da PF continuam funcionando normalmente, ao lado.
v1.9.13 · 🗑️ Excluir documento vai pra LIXEIRA (restaurável) · “Arquivo” não vaza pro dossiê/app do cliente23/07/2026
- 🗑️ Excluir um documento agora manda pra LIXEIRA (na ficha do cliente, bloco “🗑 Lixeira de documentos”) — dá pra RESTAURAR com um clique. O arquivo não some mais de vez; se quiser apagar permanente, tem o “excluir de vez”. Fim do sumiço acidental.
- 🔒 Documento marcado como “Arquivo” (histórico) não aparece mais no DOSSIÊ da PF nem no APP do cliente — só os documentos ativos/válidos. Documento excluído (na lixeira) também some de todas essas telas até você restaurar.
v1.9.12 · 🏷️ Categorias personalizadas com o nome certinho em todo lugar23/07/2026
- 🏷️ As categorias que VOCÊ cria (no menu Configurações → Categorias) agora aparecem com o nome bonito em todas as telas — ficha do cliente, dossiê, terceiros e app do cliente — não mais com o código interno. (As categorias de sistema já apareciam certas.)
v1.9.11 · 📄 Importar pasta: dá pra ver DE ONDE veio a data (do nome × lida pela IA)23/07/2026
- 📄 Na importação de pasta, ao marcar um documento como Ativo, agora aparece de onde veio a validade: “📄 do nome” (tirada do nome do arquivo — confiável, NÃO precisa reler) ou “🤖 lida pela IA”. Antes a data que vinha do nome ficava sem aviso, dava impressão de que precisava reler por OCR — e reler à toa gasta IA. Agora você confia na data do nome sem gastar leitura. O botão de IA virou “🤖 conferir” (opcional) quando já tem data.
v1.9.10 · 🗂 Categorias novas já prontas: CAR, CNH do Autorizante e documentos de TERCEIRO23/07/2026
- 🗂 Chegaram categorias que faltavam, já prontas pra usar: CAR (Cadastro Ambiental Rural) e CNH do Autorizante (IBAMA) — antes caíam em “Outro”.
- 👥 Novo grupo “Documentos de terceiro”: RG, CNH, CR, CRAF e comprovante de endereço de terceiro, separados dos do cliente (o que você pediu: “não misturar com a CNH do cliente”). Aparecem no dropdown ao importar e ao guardar documentos. Nenhuma dessas gera prazo (documento de terceiro nunca vira aviso).
v1.9.9 · 🗂 Menu pra criar as SUAS categorias de documento (aparecem na importação)23/07/2026
- 🗂 Novo em Configurações → “🗂 Categorias de documento”: crie e organize as SUAS categorias (ex.: CAR, CNH do autorizante IBAMA, CRAF/CR de terceiro) — pra não jogar tudo em “Outro”. Elas passam a aparecer no dropdown de categoria na hora de IMPORTAR a pasta, junto das categorias de sistema (CRAF, GT, CR…). É a mesma lista da aba Documentos — uma fonte só, sem duplicar. As de sistema continuam roteando os prazos; as que você cria são de organização.
v1.9.8 · 🧾 Orçamento: o nome do serviço não some quando você escreve um detalhe · GTs SEI/GTAF reconhecidas23/07/2026
- 🧾 No orçamento, quando você escolhe um SERVIÇO e escreve um DETALHE no mesmo item (ex.: a arma “REVÓLVER .38”), agora saem OS DOIS no PDF/recibo: “Nome do serviço — seu detalhe”. Antes, o que você escrevia SUBSTITUÍA o nome do serviço — você citava a arma à mão e o “Emitir GT de Treinamento…” sumia, saía só a arma. Agora o serviço fica e a sua nota entra como complemento. (O campo passou a se chamar “Detalhe” pra ficar claro.)
- 🗂 Importar pasta: GTs com nome no padrão do SEI (“SEI_..._GTAF_...”) e as “GTE” agora são reconhecidas como Guia de Tráfego na hora da importação — antes caíam em “Outro” (e por isso iam pro lugar errado). CRAF continua sendo CRAF, sem confusão.
v1.9.7 · 🔗 GTs importadas que ficaram “sem arma”: botão pra jogar cada uma na arma certa23/07/2026
- 🔗 Ao importar a pasta de um cliente, algumas GTs entravam mas NÃO caíam em nenhuma arma (a arma podia não estar cadastrada ainda quando a GT era lida) — aí a GT não aparecia na aba Armas e não virava prazo. Agora, na ficha do cliente, aparece o bloco “📎 GTs importadas SEM arma” com um botão “Revincular automático”: ele acha a arma de cada GT pelo NOME do arquivo (ex.: “GT CAÇA FIRE EAGLE” cai na arma Fire Eagle) — SEM gastar IA — e cria o prazo. O que ele não conseguir achar sozinho, você escolhe a arma numa listinha. Assim as GTs voltam pra aba Armas e viram prazo, que era o que faltava na importação em lote.
- 🛡️ Segurança do casamento: o sistema só liga a GT na arma quando tem certeza (série ou modelo específico batendo). Marca sozinha (“Glock”, “Taurus”) NÃO decide — senão a GT de uma 2ª Glock cairia na 1ª Glock. Na dúvida, ele manda pro seletor manual em vez de chutar.
- 🤖 Na importação, quando a GT não bate pela série, o sistema agora tenta achar a arma pelo nome antes de deixá-la “sem arma” — menos trabalho manual, sem gastar leitura de IA.
v1.9.6 · 🤝 Cliente da base como contraparte no documento · 💡 desconto de perfil agora só SUGERE22/07/2026
- 🤝 Nos documentos que envolvem uma SEGUNDA pessoa (transferência entre CACs, termo de doação, declaração de residência, autorização de propriedade/IBAMA), agora dá pra escolher um CLIENTE que você já tem cadastrado como a outra parte — no seletor “ou escolha um cliente da base”. Antes, se o vendedor/doador já era seu cliente, você tinha que cadastrar ele DE NOVO como terceiro (cadastro duplicado). Agora não: o sistema puxa os dados dele ao vivo (nome, CPF, RG, CR, endereço) direto no documento, sempre atualizados, sem criar cadastro repetido.
- O cadastro de Terceiro continua igual para quem NÃO é seu cliente (locador, dono de fazenda, doador de fora) — ele não sumiu, só ganhou o atalho de cliente ao lado.
- 💡 Desconto por tipo de solicitante (associado, cônjuge, filho…) agora só AVISA e SUGERE — nunca mexe no valor sozinho. Ao escolher o perfil, aparece “💡 X% de desconto → R$ Y” com um botão “aplicar”: você decide se aplica. Assim o valor nunca muda por baixo (importante quando o processo já tem cobrança). Vale nos DOIS lugares: ao abrir um Novo processo E na tela de um processo já existente (que agora também tem o seletor de perfil).
v1.9.5 · 🛡️ Cadastro protegido contra CPF duplicado22/07/2026
- 🛡️ Ao cadastrar um cliente novo, se o CPF já existir em outro cadastro seu, o sistema avisa e NÃO deixa duplicar — e mostra de quem é o CPF, pra você abrir a ficha certa em vez de criar outra. Mesmo CPF = mesma pessoa = um cadastro só. (Se aparecer e for outra pessoa, é sinal pra conferir o CPF que você digitou.)
v1.9.4 · ⏰ Menos aviso de prazo à toa: só documento de procedimento gera prazo22/07/2026
- ⏰ Ajuste fino nos Prazos: só documentos de PROCEDIMENTO geram aviso de vencimento — CRAF, CR, GT, CTF/CR-IBAMA, Autorização de Abate, Laudo Psicológico e Capacidade Técnica. Documentos de identificação e auxiliares NÃO geram mais: além de RG/CPF/CNH e afins (que já era assim), agora também Certidão, Declaração de Filiação a Clube e Comprovante genérico. Menos aviso à toa, sem perder nenhum prazo de verdade.
v1.9.3 · 📁 Importar pasta: Arquivo × Ativo (sobe a pasta inteira sem torrar leitura de IA)22/07/2026
- 📁 Importar pasta ficou mais simples e econômico. Cada documento agora é ARQUIVO (histórico — só guarda, não vira prazo) ou ATIVO (com validade — vira prazo). O que tem validade futura no nome já vem como Ativo (vira prazo de graça, sem gastar IA); o resto vem como Arquivo, sem leitura de IA. Assim dá pra subir a PASTA INTEIRA de um cliente sem torrar crédito — a leitura por OCR (botão “🤖 ler validade”) aparece só nos Ativos, quando você quer pegar/confirmar a data.
- Acabou a palavra “morto” (ficava estranho): agora é Arquivo (histórico) e Ativo (com validade) — aqui na importação, no “Guardar processo antigo” e na seção Arquivo da ficha do cliente.
v1.9.2 · ⏰ Prazos batem entre a ficha e a lista · no Kanban ficou claro em qual coluna cada status cai22/07/2026
- ⏰ Prazos — ficha e lista agora CONCORDAM: o que você marcou “parar de avisar” aparecia como prazo normal na ficha do cliente e sumia da página de Prazos. Agora, na aba Prazos da ficha, esses itens ficam num bloco “Fora da lista de Prazos” com botão reativar. Nada some sem explicação — e o que foi engano você traz de volta com um clique. (Dica: na página de Prazos, a seção “Não renovados” lista todos os que estão parados.)
- 🗂 Situação do processo / Kanban — ficou claro em qual COLUNA cada status cai: as colunas do quadro são as ETAPAS, e cada etapa junta vários status (a “Andamentos” tem dezenas). Ao trocar a situação, o seletor agora mostra os status AGRUPADOS pela coluna e avisa “📍 fica na coluna X” — então dá pra ver quando a troca muda de coluna e quando mantém o card na mesma. E arrastar o card e soltar na PRÓPRIA coluna passou a abrir a lista de status daquela coluna (antes não fazia nada e parecia que “o card não saía da coluna”).
v1.9.1 · 🤖 Assistente Jarvis e busca de legislação mais estáveis (motor único de IA)22/07/2026
- 🤖 O assistente Jarvis e a leitura/varredura da Legislação passaram a rodar no MESMO motor de IA do resto do sistema (Claude) — mais estáveis e sem depender de dois serviços diferentes.
- 🔎 Quando o Jarvis precisa buscar uma lei na internet, a busca agora fica TRAVADA só nas fontes oficiais (Planalto, Diário Oficial, Polícia Federal, Exército) — ele não traz blog, loja nem fórum, nem por engano. As travas de 'não inventar lei' continuam as mesmas.
- 🧾 Mais robusto: se a IA devolver a leitura de uma norma incompleta, o sistema avisa em vez de descartar a norma em silêncio.
v1.9.0 · ⏰ Prazos à prova de falha, importar a pasta do cliente e muito mais20/07/2026
- 📁 NOVO — Importar a PASTA do cliente: tem a pasta dele no computador (CRAF, GT, IBAMA, documentos)? Suba a pasta inteira em Importar → Importar pasta. O sistema lê os NOMES dos arquivos e distribui cada um no lugar (arma, guia, IBAMA, CR…), cria os prazos e manda o que está vencido pro arquivo morto — SEM gastar leitura de IA no que o nome já diz. Você confere tudo antes de guardar.
- 🔎 NOVO — Varredura de prazos (em Prazos → Varredura): confere TUDO que tem vencimento no cadastro contra a sua lista de Prazos e mostra o que está escapando, com o motivo. Pega arma com CRAF e sem GT, datas trocadas, cliente sem CR. Nunca mais depender da sorte de achar.
- ⏰ Prazos: você escolhe a janela (próximos 90 dias / 1 ano / tudo) e nada mais some sem você mandar. O botão 'não renovar' virou 'parar de avisar', com confirmação — e o item VOLTA sozinho para a lista quando você renova o documento.
- ✅ RG, CPF e CNH não geram mais aviso de vencimento (não é trabalho de despachante). Também saíram dos avisos: Inscrição IBAMA, Autorização de entrada em propriedade, e os documentos de ocupação lícita/renda.
- 📄 Documento sem data lida pela IA agora tem a validade puxada do NOME do arquivo (ex.: '…21072026' vira 21/07/2026) — então nenhum vencimento fica de fora por o OCR não ter enxergado a data.
- 🧾 Processos: o desconto por perfil (associado do clube, cônjuge, filho…), que só valia no orçamento, agora vale no processo — escolha o tipo de solicitante e o valor já sai com o desconto.
- 🗂 Checklist por serviço: agora você EDITA, EXCLUI e INSERE itens (a Federal muda a exigência a qualquer hora) e define o NÚMERO DE ORDEM que a PF exige — o dossiê sai na sequência certa. O botão do checklist ficou em azul, mais fácil de achar.
- 👥 Terceiros: aba de Documentos própria (guarde CR, CNH, CRAF do vendedor separado da pasta do cliente) — e eles entram no dossiê de transferência junto com os do cliente.
- 📅 Cadastro do cliente: agora guarda a data de EMISSÃO do CR (além do vencimento) — sai nas procurações. Na aba Processos da ficha, a coluna Prazo mostra o vencimento de cada processo.
- 🤖 Leitura de documentos (OCR) mais precisa em laudo psicológico e teste de tiro (documentos escaneados) — e o motor de IA passou a ser o Claude.
v1.8.0 · 🔓 Portal do cliente: seu cliente acompanha os processos e prazos dele mesmo12/07/2026
- NOVO — Portal do cliente: dê ao seu cliente um acesso próprio para ele ver, em tempo real, os PRÓPRIOS processos (situação), prazos (vencimentos) e cobranças (com o seu PIX) — sem te ligar a cada dúvida. É o diferencial que os concorrentes vendem, agora no FattoCAC.
- Como usar: 1) ligue o Portal em Configurações → Portal do cliente (e escolha o que o cliente vê); 2) na ficha do cliente, aba Portal, clique em 'Ativar acesso' e envie por WhatsApp o CPF + a senha geradas. O cliente entra em /portal com o CPF e a senha.
- 🔒 Segurança: cada cliente vê APENAS os próprios dados. O cofre de senhas e os dados de outros clientes nunca aparecem no portal. Auditado por revisão de segurança dedicada.
- 📁 No portal, o cliente também vê e baixa TODOS os documentos dele (RG, CNH, CR, CRAF, GT, laudos, CTF, autorizações…) e pode baixar o DOSSIÊ COMPLETO num PDF — pronto pra imprimir e levar numa fiscalização.
- 📲 Link de instalação: em Configurações e na aba Portal do cliente há o link .../portal/app com o passo a passo pro cliente instalar o portal como app no celular. Mande por WhatsApp.
- 🧾 Orçamento/recibo: o campo Descrição agora é livre — descreva à mão onde/o que foi feito (ex.: 'Cadastro Fazenda X no SIMAF'). Se deixar em branco, sai o nome do serviço como antes.
- 💜 Cobranças: novo estado PERMUTADO. Quando o cliente paga em espécie (sistemas, internet, armas, munições, combustível, contabilidade…), marque como permuta com o tipo — aparece num painel próprio e NÃO entra no 'Recebido' em dinheiro, ajudando você a bater o extrato.
- 💳 Links de pagamento (SumUp e outros): cadastre seus recebedores em Configurações e/ou cole um link por cobrança — o sistema manda o link junto no WhatsApp e mostra no portal do cliente (ele paga clicando).
- 🧩 Extensão de navegador v0.1.4 — MENOS digitação e SEM 'não consegui baixar o PDF': (1) ela agora captura o PDF que já está aberto na tela da PF (não precisa mais rebaixar o arquivo, que dava erro 401); (2) reconhece o CLIENTE sozinha pelo CPF que aparece na tela — no melhor caso você só confere e clica em Enviar. 'Escolher arquivo' segue como plano B. Atualize: Configurações → Baixar extensão (.zip) e recarregue em chrome://extensions.
- 🔓 Portal do cliente MUITO melhor: (1) DOSSIÊ completo — além dos documentos, agora sai a FICHA do CAC (dados + CR em destaque) e o ACERVO com os CRAFs, tudo organizado POR ATIVIDADE, pronto pra imprimir e deixar na pasta junto das armas (documento vencido não entra); (2) os PROCESSOS agora ABREM (situação, protocolo e os documentos de cada um); (3) o cliente vê o próprio ACERVO com a validade dos CRAFs; (4) ALERTA no topo do que precisa ser resolvido (vencidos e a vencer); (5) visual novo — logo do FattoCAC, menu, dados do seu escritório.
v1.7.1 · OCR do CRAF/GT manual (SEI-PF) mais fiel11/07/2026
- 🎯 CRAF manual (SEI/PF): o OCR agora pega a data de EMISSÃO no rodapé (a data da assinatura eletrônica, logo após o nome do delegado) quando o documento não traz um campo de emissão próprio — antes ficava em branco.
- 🦌 GT manual: a FINALIDADE passa a ser lida do campo '4. FINALIDADE' de verdade — uma guia de 'CAÇA - MANEJO E CONTROLE DE ESPÉCIES INVASORAS' vira GT Caça (manejo) e conta no alerta das 2 GTs de caça, em vez de cair em 'GT Manual' genérico.
- Ao anexar/baixar uma GT (inclusive pela extensão), o sistema agora também confere e PREENCHE os campos vazios da arma (espécie/marca/modelo/calibre/série) a partir da guia. Para CORRIGIR um campo já preenchido, use 'Ler GT (OCR)' — ali você revê e confirma antes de salvar.
- 🔑 Extensão de navegador: corrigido o 'Sem sessão' que aparecia mesmo estando logado — agora ela acha o seu login em qualquer endereço do FattoCAC (www.fattocac.com.br ou fattocac.vercel.app). Atualize para a versão 0.1.3 (baixe de novo em Configurações e recarregue em chrome://extensions).
- 🧩 Extensão mais fácil de usar (v0.1.3): painel com 3 passos numerados (1·Documento → 2·Cliente → 3·Tipo), mensagem de sucesso clara em verde, e o protocolo virou opcional (avançado). Se o PDF não aparecer sozinho, é só clicar em 'Escolher arquivo' e pegar o que você baixou.
- 💰 Na ficha do cliente, aba Processos: agora dá para ver se cada processo está PAGO ou A RECEBER e dar baixa / reabrir o pagamento ali mesmo, sem trocar de aba. O campo de situação ficou mais compacto para abrir espaço.
v1.7.0 · Extensão de navegador: envie documentos da PF direto pro FattoCAC11/07/2026
- 🧩 Nova EXTENSÃO de navegador (Chrome/Edge) — FattoCAC Assistente: na tela do SINARM-CAC / Portal PF, depois de baixar o documento você clica no botão Ⓕ FattoCAC e ele envia DIRETO pro sistema — anexa no cliente/processo certo, registra a situação e o prazo nasce sozinho. Baixe em Configurações → Extensão de navegador.
- É um complemento, não uma dependência: roda na SUA sessão logada da PF (nada de senha, nada de robô — só automatiza o clique que você já faria). Se a PF mudar algo, você desliga no popup e nós conseguimos desligar remotamente.
- Informe o protocolo no envio: o sistema acha o processo e a arma sozinho e o prazo da GT sai certo. Envio direto aceita até ~4 MB por arquivo.
v1.6.1 · Todo anexo gera prazo sozinho + alerta CRAF×GT corrigido11/07/2026
- ⏰ TODO documento anexado agora gera prazo automaticamente: se você anexar um documento com vencimento (GT, CRAF, CR, IBAMA, CNH, certidão, laudo…) sem passar pela tela de OCR, o sistema LÊ o arquivo no servidor logo após o anexo e cria o prazo sozinho — na arma, no cliente e na página Documentos.
- GT anexada como documento da arma vira GUIA CADASTRADA automaticamente (com validade nos Prazos, na agenda e nos avisos de WhatsApp). CRAF anexado preenche os campos vazios da arma; CR preenche o cadastro do cliente; IBAMA vira autorização.
- 🐛 Alerta 'Documentos faltando (CRAF × GT)' corrigido: GTs e CRAFs anexados como documento da arma agora CONTAM (antes o aviso dizia 'falta GT' em arma cheia de GT — e o que faltava era o CRAF). Validade digitada sozinha não vale mais como 'tem CRAF': é preciso o nº ou o documento.
- Selo novo 'sem CRAF e sem GT' nas armas transportáveis que não têm nenhum dos dois documentos.
- 🎯 Renovação de CRAF (IN 330): cada cliente da lista agora mostra QUAIS armas entram na renovação (ex.: '4 de 5 armas na IN 330' — clique para abrir). Lembrando: a renovação é pelo MÊS DE ANIVERSÁRIO do proprietário — todas as armas enquadradas dele renovam juntas, por isso a lista é por cliente. O enquadramento respeita a marcação 'IN 330' feita em cada arma.
- 🗑️ Excluir arma agora fica registrado na auditoria com uma cópia dos dados (dá para saber o que foi excluído e quando).
v1.6.0 · Recibo de honorários, orçamento mais completo, Jarvis que não inventa e OCR da CNH corrigido08/07/2026
- 🧾 Recibo de honorários: no Orçamento, informe a forma de pagamento e clique em 'Gerar recibo' — sai um recibo em papel timbrado com o nome e CPF do cliente, os serviços, o valor por extenso, sua assinatura e endereço. Ideal para comprovante de Imposto de Renda.
- Orçamento mais completo: agora mostra a data de emissão + validade, o CPF do cliente, um bloco de assinatura (você, cargo e telefone) e o endereço no rodapé. As Observações já vêm com um texto padrão seu, editável na hora.
- Configurações → Assessoria → 'Dados para orçamento e recibo': cadastre uma vez seu endereço, telefone, RG/CPF do responsável, cargo e o texto padrão de observações — isso alimenta o orçamento e o recibo.
- 🤖 Jarvis mais seguro: agora ele NUNCA inventa. Se a resposta não estiver na lei cadastrada (ou numa fonte oficial que ele busque), ele diz 'não tenho confirmado, confirme no órgão' — melhor não responder do que arriscar um dado jurídico errado.
- 🤖 Jarvis: você pode corrigir uma resposta (botão sob a resposta) citando a lei — a correção vira a fonte oficial dele. E, quando a pergunta cita uma lei específica, ele busca o texto oficial dela (Planalto/Exército/PF) para refinar.
- 🐛 OCR da CNH do gov.br corrigido: a CNH digital trazia os dados na imagem, e o sistema lia só o cabeçalho — inventando número e nome. Agora lê a imagem certa. (Recadastre clientes cuja CNH deu erro.)
- 🦌 Armas de caça: alerta quando falta uma das 2 GTs obrigatórias (Manejo de Fauna Invasora e Treino na Caça). Se o cliente foi avisado e optou por não fazer, registre a dispensa (fica a prova).
- Documento IBAMA separado em dois: Inscrição IBAMA (sem vencimento) e CTF/CR IBAMA (trimestral, com vencimento).
- Na lista de processos do cliente, a data do pedido aparece sob o serviço; o motivo fica na coluna Motivo. E o botão Mascarar agora funciona também no Orçamento.
v1.5.0 · Jarvis (consultor de leis), classificação de calibre por joules, preço por perfil e mais06/07/2026
- 🤖 Jarvis — novo consultor de legislação: um chat que responde suas dúvidas sobre leis, prazos e normas de CAC com base na Legislação cadastrada, citando a fonte. Tem no menu e num botão flutuante (🤖) no canto da tela, aberto de qualquer lugar. Ele não inventa lei: se não estiver na base, avisa. Não substitui parecer jurídico.
- Classificação de calibre por JOULES + tipo de arma (Portaria Conjunta Nº2/2023): o mesmo calibre pode ser permitido numa arma longa e restrito numa curta (ex.: .357 Magnum). O sistema já lê o CRAF por essa regra, e a tabela ficou visível no menu Legislação.
- Repositório de normas: a Portaria de calibres (com o PDF que abre no sistema) e +13 normas foram cadastradas na Legislação — base de conhecimento do Jarvis.
- Preço por tipo de solicitante virou DESCONTO %: defina o desconto de cada perfil (ex.: Associado 20%, Cônjuge 25%, Filho 14–21 30%) e o orçamento já aplica sobre o preço cheio, mostrando o valor cheio riscado. Ao escolher o cliente, o sistema puxa o clube dele e seleciona o perfil sozinho. Os descontos NÃO aparecem na loja pública.
- Parcelamento agora fica logo abaixo do Pagamento, no topo da página do processo.
- Coluna Motivo editável na lista de Processos do cliente — para distinguir serviços iguais (vários 'Emitir GT de Caça') sem abrir cada um.
- Segurança na leitura por OCR: os campos preenchidos pela máquina ficam destacados (âmbar + 'confira') até você conferir — reduz erro de série/SIGMA/datas.
- Documentos (do cliente e do processo) abrem mais rápido (URLs assinadas em lote).
v1.4.0 · Alerta CRAF×GT, novo fluxo da Guia de Tráfego, orçamento salvo, marketplace e mais rapidez06/07/2026
- ⭐ Alerta CRAF × GT: na aba Armas do cliente, o sistema mostra quais e quantas armas têm CRAF mas estão SEM GT (e o contrário) — sem você precisar contar arma por arma. Coleção não entra (não transporta).
- Guia de Tráfego — “Vincular à GT solicitada”: o Nº da guia (GTE) é o mesmo número do protocolo do processo de GT. Agora você vincula a GT ao processo de GT daquela arma com 1 clique e os dois campos sincronizam sozinhos (mudou num, muda no outro).
- OCR da GT: volta a LER a finalidade automaticamente e preenche os dados da arma (espécie, marca, modelo, calibre, série) — mantidos na GT E na arma (a leitura da GT é mais fiel que a do CRAF).
- Classificação de calibre: .380, .38, .22 e .32 passam a entrar como PERMITIDO (o OCR copiava o “(Restrito)” antigo do CRAF).
- Orçamentos salvos: em Financeiro → Orçamentos você reabre, inclui mais serviços, edita e regera — não é mais “gera o PDF e perde”.
- Preço por tipo de solicitante: cadastre perfis (Particular, Associado do clube, Cônjuge, Filho…) e um preço por serviço/perfil; no orçamento, escolha o perfil e o preço cai sozinho.
- 🛒 Marketplace: publique uma loja pública por link (fattocac.com.br/loja/seu-endereço) com os serviços que quiser; o cliente pede e cai no seu WhatsApp. Só mostra catálogo/preço — nunca dados de cliente.
- Duplicar Processo: corrigido — o clone nasce sem arma (você vincula a certa); editar a arma de um duplicado não mexe mais na do processo irmão.
- Coluna “Motivo” no Financeiro por processo (para distinguir serviços iguais) e novo perfil de ocupação “Produtor Rural”.
- Mais rápido: criar/mover/duplicar/salvar processo respondem na hora — o aviso de WhatsApp passou a ser enviado por trás, sem travar a tela.
- Segurança reforçada: permissões por módulo agora valem também nas ações (não só nas telas) e a loja pública passou por auditoria — sem vazamento de dado de cliente.
v1.3.0 · Orçamento, parcelamento, preços por serviço e melhorias do dia a dia30/06/2026
- Nova tela Orçamento: escolha o cliente e os serviços (o preço cai sozinho), gere um PDF com seu timbre + PIX e envie no WhatsApp.
- Preço por serviço: cadastre o valor de cada serviço em Configurações → Catálogos; ao abrir um processo, o valor já vem preenchido (e no orçamento também).
- Parcelamento de recebimento: gere N parcelas com datas, dê baixa por parcela e cobre cada uma no WhatsApp; cada parcela entra nos Prazos com alerta no dia do vencimento.
- Kanban: nova coluna “Finalizados / Entregues” (separada de “Conclusos p/ Deferimento”). Ao arrastar para uma coluna com vários status, o sistema pergunta qual aplicar — não muda mais o status errado.
- Colunas do Kanban arrumadas: os “Aguardando…” vão para Andamentos/Análises e os “Falta…” para Documentos/Pendências; Iniciados fica só com o que ainda nem foi citado.
- Google Agenda: assine os vencimentos por um link (sem senha, sem configuração) — agora mostrando o primeiro nome do cliente e como evento “Livre”.
- Prazos: a aba do cliente passa a mostrar também GT e IBAMA; a página Prazos volta a ordenar por vencimento (o mais perto primeiro).
- Cobranças: corrigidas as que não apareciam na lista; a forma de pagamento salva na hora; vínculo de endereço com 4 opções (End.1, End.2, “1 ou 2”, “1 e 2”).
- Leitura (OCR) da GT em destaque, calibre completo (ex.: 5,56x45mm), leitura de origem/destino — e o que a GT lê preenche os dados da arma.
- Catálogos em ordem alfabética e campo “Motivo” no processo (aparece no card).
- Data de agendamento do serviço no processo: alerta NO DIA agendado e entra na agenda (substitui o antigo “Prazo do documento” no formulário; os vencimentos já lançados continuam alertando).
- Carregar o checklist de QUALQUER serviço do catálogo dentro do processo (não só o do próprio serviço).
- Mais catálogos editáveis em Configurações → Catálogos: Categorias de documento e Clubes / Federações / Confederações.
v1.2.0 · Legislação e área de Licença29/06/2026
- Novo menu Legislação: a base nacional da legislação de armas / CAC que está vigente hoje — com busca, resumo em linguagem simples e link para o texto oficial. Mantida pela Fatto. (Em breve: aviso automático quando sair norma nova no DOU.)
- Nova área Licença: mostra o seu plano, o que está incluído e como falar com a Fatto.
v1.1.0 · Financeiro, Relatórios, Documentos fiéis e ajustes da operação real29/06/2026
- Pagamento padronizado: em vez do antigo “check de pago”, agora é ✓ Dar baixa (com a forma) e ↩ Reabrir/estornar — sem desmarcar sem querer.
- Suíte de Relatórios (14): clientes, idoneidade, acervo, processos por fase/categoria/mês, prazos, recebimentos, a receber, faturamento, permutas, cortesias, canceladas e serviços indisponíveis — com o seu logo, cabeçalho e PDF.
- Documentos: geração fiel a partir dos seus .docx oficiais, prévia do documento PREENCHIDO antes de baixar, e seletor de arma (acervo do cliente, outro cadastro ou digitada).
- Checklist por serviço: defina os documentos de cada serviço uma vez e todo processo novo já nasce com a lista.
- Tudo em ordem alfabética (serviços, formas de pagamento, itens de checklist) e item novo já entra no lugar certo.
- Kanban e Prazos ordenados por cliente; aba Prazos do cliente e selo de idoneidade.
- Capacidade técnica e laudo psicológico passam a valer 1 ano a partir da emissão (não somem mais como “vencidos”).
- Observações do acervo na ficha do cliente — registre armas/GTs que o cliente tem mas não puderam ser cadastradas.
- WhatsApp (Evolution): botão Resetar conexão + QR que se renova sozinho.
- Performance: tudo em São Paulo (Vercel + Supabase) e consultas paralelizadas.
v1.0.0 · Primeira versão — adeus planilha21/06/2026
- Cadastro completo de clientes CAC (Mala Direta), armas e CR/CRAF com leitura por OCR.
- Processos em Kanban com checklist, motor de prazos e renovação de CRAF em lote (IN 330).
- Cobrança PIX, cofre de credenciais cifrado, importação inteligente de planilha e agenda (ICS).