fix: re-polled steering after yield and drained queued follow-ups after turns
- Re-polled steering at the loop yield boundary and included it in the pre-stop pending batch so late messages are processed immediately. - Added session-side draining for stranded queued messages, scheduling an auto-continue when a prompt settles and follow-ups or steers remain. - Added a regression test for late steering injection at yield and updated mid-turn collab prompt handling to keep steering messages in the pending display queue until consumed.
This commit is contained in:
+3
-17
@@ -91,32 +91,18 @@ Known v1 limit for guests: a turn already streaming when you join becomes visibl
|
||||
|---|---|---|
|
||||
| `collab.relayUrl` | `wss://my.omp.sh` | Relay used by `/collab` when no relay is passed inline |
|
||||
| `collab.displayName` | OS username | Name shown to other participants |
|
||||
| `share.serverUrl` | `https://my.omp.sh/s` | Share viewer/upload base used by `/share` (same Go service; links are `<base>/<id>#<key>`) |
|
||||
| `share.serverUrl` | `https://my.omp.sh/s` | Share viewer/upload base used by `/share` (links are `<base>/<id>#<key>`) |
|
||||
| `share.redactSecrets` | `true` | Run the secret obfuscator over `/share` snapshots before upload |
|
||||
|
||||
## Self-hosting the relay
|
||||
|
||||
The relay is a small content-blind Go service (`omp-collab-relay`, in the pi-www repo under `relay/`). It keeps no state beyond live connections and exposes:
|
||||
The relay is a small content-blind Go service. It keeps no state beyond live connections and exposes:
|
||||
|
||||
- `GET /` — the static collab-web guest client (target of the `/collab` deep link),
|
||||
- `GET /r/<roomId>?role=host|guest` — WebSocket upgrade,
|
||||
- `POST /s` / `GET /s/<id>` / `GET /s/<id>/raw` — `/share` blob upload, viewer page, and blob fetch (see the relay README),
|
||||
- `POST /s` / `GET /s/<id>` / `GET /s/<id>/raw` — `/share` blob upload, viewer page, and blob fetch,
|
||||
- `GET /healthz` — liveness.
|
||||
|
||||
Run it:
|
||||
|
||||
```sh
|
||||
go build -o omp-collab-relay .
|
||||
RELAY_BIND=0.0.0.0:7475 ./omp-collab-relay
|
||||
```
|
||||
|
||||
`RELAY_BIND` accepts `host:port`, a bare port (binds localhost), or a unix socket path (front it with a TLS-terminating reverse proxy — guests other than localhost require `wss://`). Then:
|
||||
|
||||
```
|
||||
/collab my-relay.example.com
|
||||
```
|
||||
|
||||
or set `collab.relayUrl` in `/settings`.
|
||||
|
||||
## Architecture notes
|
||||
|
||||
|
||||
Reference in New Issue
Block a user