Skip to content

Two-computer rough edges from relay testing (typing during /new, labels, self-offer, raw errors, silent outage) #1986

Closed

Description

@AbirAbbas

Six low-severity rough edges seen in real two-computer relay tests (two machines on a LAN, codeaf relay on one,
real models) on dev cf282ddc6 and #1944's candidate. Each one is independent. None loses data or sends words to
the wrong place, except item 1.

1. Typing while /new opens sends the words to the chat you were leaving

What happens:

  • /new takes about 2.6 s to open on a busy machine.
  • A printable key typed during that time cancels it: · opening cancelled.
  • The typed words then sit in the chat you were leaving, and Enter sends them there.

Repro: /new + Enter, then type a sentence and press Enter within about 2 s.

Where: openingDraftKey in internal/tui3/conversation_open.go, which returns false when there is no preview,
and its caller in internal/tui3/app.go.

Fix: keys typed while a new chat opens belong to the new chat, or the cancel says so and keeps the words unsent.

2. project: codeaf on moved chats after the computer was removed

What happens: after a revoke, switching (opt+k) to a chat that had moved to this computer shows project: codeaf
instead of ws9 (copy from another machine). codeaf is the label for a workspace codeaf owns (ownedWord in
internal/tui3/host.go). It has not been tried before a revoke.

3. A computer's Home briefly offers to continue its own chat

What happens: during a take, Home showed Continue <this device>'s latest chat here? naming this computer itself,
for about 1.5 s. It probably comes from a hold left by its own dead session.

4. A false other machines unreachable on the first Enter

What happens: in a freshly opened copy of a chat held elsewhere, the first Enter said other machines unreachable
while the relay answered /status in 60 ms. The second Enter raised the right card. The words were kept.

5. codeaf cluster status prints raw Go errors

What happens: with the relay down, it prints
error: Get "http://<relay>/v2/cluster/control": dial tcp …: connect: connection refused.

Fix: it should use the same plain sentence as codeaf devices.

6. The computer holding a chat says nothing during a relay outage

What happens:

  • Through a 90 s outage the holder showed no notice, and its hold did not survive the outage.
  • It learned of the change only from · <device> continued this chat once the other computer took the chat.

Working offline is by design, but the person is never told that the chat isn't syncing.

Acceptance

Each item gets a tui3 or CLI test that drives the real door and asserts the exact sentence (or the absence of the
wrong one).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions