Consolida núcleo (presença, peer actions, MessageDispatcher), chat e screencast na galeria, documentação PT-BR e testes JUnit; remove mpChat do catálogo em favor do chat unificado. Co-authored-by: Cursor <cursoragent@cursor.com>
1.9 KiB
1.9 KiB
Menus, peer actions e transportes
Interface atual (shell v1)
Plugins de referência não dependem da barra de menus superior para o fluxo principal:
- Galeria na aba Plugins abre cada extensão em aba própria (fechável com ×).
- Peer actions na lista Usuários nesta rede (clique em um peer ou em Todos) agrupam ações de todos os plugins instalados.
- Dentro da aba do plugin,
PluginRoutingPanelpadroniza destino (sala geral vs IP), forma de envio (multicast UDP, UDP unicast, TCP) e texto de ajuda.
Ver 04_inicializacao_e_gui.md e 09_sistema_de_plugins.md.
MenuCategory (legado)
Enum em pitiupi.models.Menus.MenuCategory (Jogos, Social, Streaming) ainda aparece no catálogo (menuCategory em plugins.registry.json) e em plugins antigos que chamam GuiManager.createMenu(...).
Novos plugins devem preferir PluginWorkspace + peer actions. O menu da shell expõe apenas Ajuda → Sobre.
Unicast vs multicast na aplicação
| Modo | API típica | Semântica |
|---|---|---|
| Multicast | MessageDispatcher / SocketUDP.sendMulticast |
Todos no grupo na porta configurada |
| Unicast UDP | envio para IP de um peer | Um destinatário, sem estabelecer TCP |
| TCP | ConnectionManager / SocketTCP |
Canal com framing 4+N bytes |
Detalhes de rede: 05_udp_multicast.md, 06_tcp_conexoes.md.
Referência de código
- Chat e screencast: peer actions em
ChatPlugineScreenCastPlugin. - Envio unificado:
pitiupi.application.messaging.MessageDispatchereTransportMode.
O antigo plugin mpChat foi unificado no módulo plugins/chat (mensagens LegacyMpChatMessage para compatibilidade TCP privado). Ver 11_plugins_referencia.md e decisão D19 no decision-register.md.