TODO
Atualizado para o projeto ativo em 2026-04-19, com checks revisados a partir do estado real do código, da documentação, dos testes e dos assets do repositório.
Formato:
[x]concluído[ ]pendente- descrição
(tag/tag/tag)-fácil|médio|difícil
Prioridade atual: concluir primeiro tudo que é Linux/firmware/desktop. O backlog multiplataforma do Scrum 04 fica para o final.
Atualizações recentes (main pós-v0.6.0)
- Fechar o corte de release 0.6.0 em versões, changelog e documentação de distribuição
(release/version/docs)-médio - Adicionar workflow de CodeQL para análise contínua de segurança e qualidade
(ci/security/codeql)-fácil - Ajustar linguagem/regra do CodeQL e reduzir ruído dos alertas para focar em findings acionáveis
(ci/security/codeql)-médio - Estabilizar updates de GitHub Actions no Dependabot para evitar conflitos recorrentes
(ci/dependabot/maintenance)-fácil - Revisar badges e organização visual do README com status e matriz de suporte
(docs/release/product)-fácil - Melhorar
.gitignorepara cobrir artefatos gerados no ciclo atual de desenvolvimento(repo/hygiene/tooling)-fácil - Interceptar fechamento da janela no backend Rust (
WindowEvent::CloseRequested) e esconder para o tray, evitando exit acidental em compositores Wayland como Hyprland(backend/runtime/linux)-médio - Registrar atalho global
Ctrl+Alt+Ipara alternar a visibilidade da janela como fallback quando o compositor nao forneceStatusNotifierWatcher(backend/runtime/ux)-médio - Refazer responsividade do shell: sidebar compacta em
lg+, grid de knobs sem truncagem e layout empilhado noKnobPanel(frontend/design/responsiveness)-médio
Scrum 01
- Trocar o
window.alertdo editor JSON por validação inline com destaque de erro e estado de salvamento(frontend/ux/error)-médio - Melhorar estados de conexão serial com loading, retry manual e mensagens mais claras por fase
(frontend/backend/debug)-médio - Respeitar
autoConnectno boot e consolidar a heurística entre porta preferida, última porta e autodetecção(backend/serial/runtime)-médio - Adicionar testes cobrindo transições de status
booting/ready/searching/connecting/connected/errorna store(test/coverage/debug)-médio - Documentar o fluxo atual do app desktop e o papel de
apps/desktop,packages/sharedefirmware/(docs/refs/architecture)-fácil
Scrum 02
- Criar UI para listar, selecionar, duplicar, renomear e remover perfis sem editar JSON bruto
(frontend/design/state)-médio - Adicionar editor estruturado para sliders, targets e preferências do perfil em paralelo ao JSON avançado
(frontend/ux/forms)-difícil - Permitir reorder dos knobs e edição do nome/target direto na interface
(frontend/design/usability)-médio - Cobrir migração e normalização de perfis persistidos ao adicionar novos campos
(test/migration/coverage)-médio - Publicar exemplos reais de perfis JSON para master/app/source/sink
(docs/config/refs)-fácil
Scrum 03
- Melhorar a resolução de aplicações com nomes duplicados e múltiplos
sink-inputsno backend Linux(backend/audio/error)-difícil - Evitar reaplicação redundante de volume com deduplicação/debounce de updates por knob
(backend/performance/runtime)-médio - Exibir no frontend por que um target falhou ou ficou indisponível sem depender só de texto genérico
(frontend/backend/debug)-médio - Adicionar testes de parsing e falha para inventário
pactlcom payloads incompletos ou quebrados(test/backend/coverage)-médio - Documentar regras de matching para
application,source,sinke defaults do Linux(docs/backend/refs)-fácil
Scrum 05
- Implementar handshake de firmware com nome da placa, versão e protocolo na conexão serial
(firmware/protocol/backend)-médio - Adicionar calibração por knob com persistência em EEPROM
(firmware/hardware/calibration)-difícil - Permitir dead zones, smoothing e thresholds configuráveis sem editar o sketch manualmente
(firmware/config/performance)-difícil - Melhorar o filtro de portas para reduzir ruído de
/dev/tty*irrelevantes na UI(frontend/backend/serial)-médio - Criar testes de integração com simulador serial para reconexão, heartbeat e frames inválidos
(test/firmware/debug)-difícil - Validar em hardware real a gravação na EEPROM, a reaplicação após power cycle e a calibração extrema dos 3 knobs
(test/firmware/hardware)-médio
Scrum 06
- Revisar navegação por teclado, foco visível e ordem de tab em toda a UI
(frontend/accessibility/design)-médio - Adicionar labels acessíveis, descrições e regiões ao vivo para mudanças de status e outcomes
(frontend/accessibility/ux)-médio - Completar internacionalização PT-BR/EN em toda a interface, inclusive diagnósticos e mensagens de erro
(frontend/i18n/docs)-médio(em andamento) - Revisar contraste, estados visuais e variações de tema com foco em legibilidade
(frontend/design/accessibility)-médio(em andamento) - Incluir testes e checklist de acessibilidade no pipeline de revisão
(test/accessibility/coverage)-médio
Scrum 07
- Gerar ícones finais de produção para todos os formatos de bundle do Tauri
(design/release/branding)-médio - Manter o app em segundo plano ao fechar a janela e restaurar pelo tray no Linux
(release/linux/runtime)-médio - Adicionar inicialização automática no login com toggle explícito e boot silencioso no tray
(release/linux/runtime)-médio - Configurar assinatura e notarização para Windows e macOS no pipeline
(release/security/ops)-difícil - Revisar metadados de empacotamento Linux e qualidade do bundle desktop
(release/linux/distribution)-médio - Resolver ou contornar a falha do AppImage local no Arch causada por
linuxdeploy+.relr.dyn(release/linux/appimage)-médio - Validar comportamento de tray/status notifier em GNOME, KDE e Hyprland com dependências e limitações documentadas
(release/linux/desktop-environment)-médio(Hyprland coberto em v0.6.7: handler nativo deCloseRequested, atalho global Ctrl+Alt+I como fallback e orientações de tray host; faltam GNOME/KDE) - Adicionar checksums, provenance e validações finais de release no workflow
(release/security/ci)-médio - Documentar instalação, update e recuperação em caso de bundle quebrado
(docs/release/support)-fácil
Scrum 08
- Implementar logging estruturado no frontend e no Rust backend para sessões reais
(backend/frontend/observability)-médio - Adicionar painel ou export de diagnóstico com snapshot do estado, inventário e erros recentes
(frontend/backend/support)-médio - Criar backup/migração segura do estado persistido antes de mudanças de schema
(backend/security/migration)-médio - Melhorar mensagens de erro para serial ocupada,
pactlausente e perfil inválido(frontend/backend/error)-fácil - Publicar playbook de suporte para bugs de áudio, firmware e serial
(docs/debug/support)-fácil
Scrum 09
- Otimizar a telemetria para sessões longas e janelas maiores sem inflar memória
(frontend/performance/charts)-médio - Revisar bundle do frontend e separar ainda melhor código de gráficos se necessário
(frontend/performance/build)-médio - Melhorar a suavização visual dos knobs respeitando
transitionDurationMse estado aplicado(frontend/audio/design)-médio - Adicionar medições de tempo de boot, reconexão e refresh de inventário
(debug/performance/observability)-médio - Fazer um passe de polish em microcopy, empty states e feedback visual
(frontend/design/polish)-fácil
Scrum 10
- Criar onboarding inicial com checklist de firmware, porta serial e inventário de áudio
(frontend/onboarding/docs)-médio - Adicionar import/export de perfis para backup e compartilhamento
(frontend/backend/data)-médio - Permitir presets prontos para casos comuns como streaming, chamadas e música
(frontend/product/config)-fácil - Estudar suporte a múltiplos controladores ou mais de 3 knobs no modelo do domínio
(backend/firmware/architecture)-difícil - Definir backlog pós-migração com metas de produto além da paridade com o legado
(product/docs/roadmap)-fácil
Scrum 04 — Multiplataforma (deixar para o final)
- Definir a experiência de produto para plataformas sem backend real, incluindo banners, limitações e fallback explícito
(frontend/product/ux)-médio - Implementar backend de áudio para Windows com API nativa ou estratégia equivalente
(backend/audio/windows)-difícil - Implementar backend de áudio para macOS com API nativa ou estratégia equivalente
(backend/audio/macos)-difícil - Adicionar cobertura de CI e smoke checks por plataforma com expectativa clara de suporte
(ci/test/release)-médio - Publicar uma matriz oficial de suporte por sistema operacional e recurso
(docs/platform/release)-fácil