pi-mono/apps/p2/plugins/chat
Maximilian Blazek ccff9876e7 feat(p2): a new session's first message sends at once; one composer for every screen
- New session: Send clears the composer and shows the message at once, online or not
  (plugins/chat/session-start.ts); the session is created when connected and its
  messages move to the main conversation's outbox. Refused creations go back to the
  composer; connection failures are retried.
- One composer: Main keeps the chat frame (.chat and its dock) while screens change;
  screens publish what the dock shows (useChatScreen) and portal their transcript into
  it. The composer keeps its focus and the phone's keyboard when the session opens.
- The composer stays in place: the new-session screen shows the session's empty
  context bar, and a message sent to an idle conversation stays a message until its
  entry shows instead of flashing as a queued row.
- Slots start with the registry's known table (knownRegistry), so a screen inside
  slot wrappers mounts once instead of three times.
- A message sent before a conversation has loaded shows alone until it loads.
2026-11-05 12:52:52 +00:00
..
contract.ts feat(p2): <sender> block for the model, peer messages as p2.peer-message entries, legacy speaker reader removed 2026-11-04 22:07:38 +00:00
outbox.ts feat(p2): a new session's first message sends at once; one composer for every screen 2026-11-05 12:52:52 +00:00
package.json feat: add apps/p2 (imported from pi-private at 7dadff697) 2026-11-03 13:39:06 +00:00
session-start.ts feat(p2): a new session's first message sends at once; one composer for every screen 2026-11-05 12:52:52 +00:00
tui-commands.ts feat(p2): /tree, branches of the main conversation as Durable forks 2026-11-04 13:40:36 +01:00
tui.ts feat(p2): stored, renamable /tree branch labels 2026-11-04 15:38:43 +01:00
web.tsx feat(p2): a new session's first message sends at once; one composer for every screen 2026-11-05 12:52:52 +00:00
worker.ts feat(p2): <sender> block for the model, peer messages as p2.peer-message entries, legacy speaker reader removed 2026-11-04 22:07:38 +00:00