v1.6.0 - Stability, Cross-browser QA & Kanban UX¶
Objetivo¶
A v1.6.0 estabiliza o frontend web-first do SotuHire para uso local-first mais confiavel. O foco foi reduzir fragilidade visual, ampliar QA cross-browser, melhorar responsividade, tornar o Kanban mais util no dia a dia e deixar estados de IA/fallback mais claros.
Nenhuma regra de negocio foi movida para o frontend. Scores, validacoes, fallback e regras anti-invencao continuam no backend/core.
O que foi estabilizado¶
- Status do tracker no frontend alinhados aos enums reais do backend.
- Kanban com drag-and-drop visual e rollback quando a API falha.
- Alternativa acessivel por
selectem cada card e na lista. - Badges e mensagens de IA para local, provider configurado, provider nao configurado, timeout, erro/limite, chave invalida e fallback local.
- Painel Extensao Local com metadados de historico: tipo, origem, URL, data, ultima sincronizacao e quantidade de capturas.
- Launcher Windows com diagnostico de porta ocupada, PID/processo e logs mais claros.
Telas testadas¶
| Tela | Rota | Status |
|---|---|---|
| Home | / |
Testada |
| Dashboard | /dashboard |
Testada |
| Curriculo | /resume |
Testada |
| Vaga | /job |
Testada |
| Compatibilidade | /match |
Testada |
| ATS | /ats |
Testada |
| Tailor | /tailor |
Testada |
| GitHub Analysis | /github |
Testada |
| Candidaturas/Kanban | /tracker |
Testada |
| Inteligencia | /intelligence |
Testada |
| Fontes e Captura | /sources |
Testada |
| Configuracoes | /settings |
Testada |
| Privacidade | /privacy |
Testada |
Navegadores testados¶
Playwright v1.6.0 roda projetos:
chromium
firefox
webkit
O smoke cross-browser cobre abertura das telas principais, menu lateral, demos de analise, IA Settings, Fontes e Captura, Kanban e ausencia de textos publicos legados.
Responsividade testada¶
O teste responsivo roda uma matriz em Chromium:
Mobile: 390x844
Tablet: 768x1024
Desktop: 1440x1000
Rotas obrigatorias foram verificadas contra overflow horizontal de pagina. O Kanban usa rolagem interna no quadro em telas pequenas, evitando quebrar o layout global.
Melhorias no Kanban¶
- Drag-and-drop visual entre colunas.
- Patch real para
/api/v1/tracker/jobs/{id}. - Atualizacao otimista no cache do React Query.
- Rollback visual quando a API falha.
- Mensagem de erro quando a alteracao e revertida.
- Select de status em cada card para teclado/mobile.
- Lista tabular com rolagem interna no mobile.
- Cards exibem cargo, empresa, origem, status, score, ultima analise, notas e data.
Status usados pelo frontend estao alinhados com modules.tracker.status.JobStatus:
found
analyzed
good_fit
applied
message_sent
follow_up
interview
technical_test
offer
rejected
archived
Aliases antigos como ready_to_apply e tech_test continuam normalizados no client para dados
legados/mockados, mas a UI envia os valores reais para a API.
Melhorias da extensao/local companion¶
O painel Extensao Local em Fontes e Captura agora mostra:
- status do companion;
- ultima sincronizacao;
- quantidade de capturas;
- capturas visiveis na sessao;
- tipo (
job,github_repo,profile,other); - origem;
- URL;
- data;
- acoes para importar para Vaga, salvar em Candidaturas, enviar para GitHub Analysis ou ignorar localmente na sessao.
O backend expande a resposta segura de /api/v1/extension/captures com kind, source e
captured_at. Nao houve alteracao no fluxo sensivel de authenticated browser, Chromium/CDP, login
manual, crawler logado ou auto-apply.
Melhorias de IA/fallback¶
Estados padronizados:
IA desativada
Provider local
Provider configurado
Provider nao configurado
Analisando com IA
Fallback local
Limite/erro do provider
Timeout do provider
Chave invalida
As telas de Match, ATS, Tailor e GitHub tambem mostram:
- por que a recomendacao apareceu;
- evidencias usadas;
- o que melhorar primeiro;
- proximas acoes;
- copiar sugestoes;
- copiar plano de acao;
- aviso para nao adicionar experiencia, habilidade, certificacao ou metrica que nao seja verdade.
Performance e build¶
O build Vite continua sem alertas criticos. Principais chunks esperados:
index-*.js: runtime principal do app;api-mode-badge-*.js: shell/API mode;generateCategoricalChart-*.js: Recharts para inteligencia;- rotas como
sources-*,tracker-*,settings-*,match-*,ats-*,tailor-*egithub-*.
Recharts permanece como maior dependencia visual, mas restrita as telas de metricas/graficos ja existentes. Nenhuma biblioteca pesada de drag-and-drop foi adicionada; o Kanban usa HTML5 DnD com fallback por select.
Acessibilidade basica¶
Checklist v1.6.0:
- botoes principais tem texto claro;
- menu mobile tem
aria-label; - Kanban tem alternativa por select;
- cards do Kanban recebem
role=article,tabIndexe label descritivo; - inputs de IA, tracker e filtros permanecem com foco visivel;
- modais usam largura maxima e ficam dentro da viewport;
- mensagens de erro/fallback aparecem como texto visivel.
Limitacoes conhecidas¶
- Drag-and-drop nativo funciona bem em desktop; em mobile a alternativa principal e o select de status.
- O teste responsivo completo roda em Chromium; Firefox/WebKit cobrem os fluxos funcionais.
- O painel "Ignorar" da extensao oculta a captura apenas na sessao da UI; nao altera o store local.
- GitHub Pages continua estatico/demo-oriented.
- Streamlit continua legado/dev e nao e iniciado pelo launcher web-first.