Files
pitiupi/docs/decision-register.md
T
Gabriel Felipe Souza SantosandCursor e84aba2f4e feat(run): abre o Java da placa real e guarda dados no clone
Linux, WSL e Windows usam o mesmo run --all, e plugins, cache e logs ficam em .pitiupi na raiz do projeto.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-11-03 23:52:08 -03:00

5.0 KiB

Registro de decisões — Pitiupi

ID Decisão Motivação Doc
D1 Grupo multicast 224.0.0.3 Endereço fixo para descoberta e broadcast na LAN da sala appendix_portas_e_multicast.md
D2 Mesma porta UDP e TCP por instância Configurada no login; simplifica firewall em laboratório 00_quickstart.md
D3 Heartbeat via UDP multicast Presença sem conexão TCP permanente com todos os peers 08_heartbeat_e_presenca.md
D4 Timeout de peer ~15 s sem heartbeat Remover usuários inativos da lista 08_heartbeat_e_presenca.md
D5 Framing TCP: int tamanho + bytes Delimitar mensagens em stream orientado a bytes 06_tcp_conexoes.md
D6 Mensagens Serializable em byte[] Independência do transporte; plugins definem tipos 07_mensagens_e_serializacao.md
D7 Plugins via JAR + Java SPI Carregamento dinâmico sem recompilar o núcleo 09_sistema_de_plugins.md
D8 Classloader por JAR de plugin Isolar dependências; desserialização com PluginObjectInputStream 09_sistema_de_plugins.md
D9 Plugins em PITIUPI_HOME/plugins Dados de execução em .pitiupi/ na raiz do clone (não versionado). PITIUPI_HOME ainda pode apontar outro diretório 00_quickstart.md
D10 Erros com ErrorCode Mensagens PT na UI; PitiupiException no domínio 13_guia_desenvolvimento.md
D11 Reinício após instalar/remover JAR Mutar plugins/ exige reiniciar o app para recarregar SPI 04_inicializacao_e_gui.md
D16 UI em abas; sem JFrame de plugin Conteúdo na MainShellFrame; galeria e peer actions abrem abas 04_inicializacao_e_gui.md
D17 Goodbye + timeout de presença GoodbyeMessage em multicast ao fechar; timeout ~15 s mantido 08_heartbeat_e_presenca.md
D18 Peer actions + convites PeerActionBroker, SessionInviteMessage, badge (UI completa na shell) 09_sistema_de_plugins.md
D19 Chat unificado Um JAR plugins/chat com sala geral, peer/IP e TCP privado; mpChat removido do catálogo 11_plugins_referencia.md
D20 Peer actions por plugin no popup Lista lateral agrupa ações de todos os plugins (submenus), não só a aba ativa 09_sistema_de_plugins.md
D21 onShellTabClosed Fechar aba do plugin na shell notifica o plugin (ex.: parar screencast) 09_sistema_de_plugins.md
D22 PeerIpv4 para IP de peer na UI No Windows, InetAddress.getHostAddress() pode devolver IPv6-mapeado e sufixo de zona (%n); chat e roteamento usam IPv4 pontilhado appendix_portas_e_multicast.md
D23 Foco de atividade e badges Adiado na v1 — núcleo (PeerActivityFocus / PeerActivityInbox) mantido; UI sem badges; recebimento passivo em sub-abas (addTabIfAbsent) 09_sistema_de_plugins.md
D24 Avisos de sessão (SessionNoticeMessage) Início/fim de atividades (ex. screen_cast END ao parar share); extensível por plugin/canal 09_sistema_de_plugins.md
D25 Nome novo no heartbeat já existente A lista do colega atualiza o User quando o userName muda 08_heartbeat_e_presenca.md
D26 Troca de porta sai da sala Goodbye na porta antiga, lista local zerada, anúncio na porta nova appendix_portas_e_multicast.md
D27 TTL padrão 1, ajustável de 1 a 32 1 permanece na sub-rede local; valor maior é opção de configuração appendix_portas_e_multicast.md
D28 Saída Automático, Cabo ou Wi-Fi Multicast, IP exibido e TCP de saída usam a interface escolhida appendix_portas_e_multicast.md
D29 Connect TCP com prazo de 5 s fora da EDT Aviso só enquanto não há socket aberto para aquele IP 06_tcp_conexoes.md
D30 eth* continua cabo, inclusive no WSL A placa Wi-Fi do Windows não existe no Linux do WSL; reclassificar eth quebraria o Ubuntu nativo. Na sala o processo é o Java do Windows ou o Ubuntu instalado na máquina appendix_portas_e_multicast.md

Novas decisões: adicionar linha nesta tabela e detalhar no arquivo técnico correspondente.