Skip to content

vibemon installer: session-sync fallback when systemd refuses, retries for the network steps - #27

Merged
nullarch merged 1 commit into
mainfrom
fix/installer-fallback-retries
Oct 12, 2026
Merged

nullarch merged 1 commit into
mainfrom
fix/installer-fallback-retries

Conversation

@nullarch

Copy link
Copy Markdown
Owner

Why

67 of 355 install reports (2026-09-05..10-11) failed; 28 of the 43 failing client addresses never reported a later success. Three causes were still in the script:

  1. Linux `daemon` step (5 reports since 9/26): `systemctl --user` passed the pre-check, `attempt daemon install` then failed, after the pairing token was spent and the hooks were in. A paired machine that uploads nothing, and the same command could not be pasted again.
  2. Key exchange "This operation was aborted" (11): the web gives the sync server 8 s with no retry (fixed separately in Streamize-llc/vibemon-web#10); the script's `curl` had no timeout or retry either.
  3. First upload `Network Err` (4).

What

  • systemd refusal → session supervisor where `nohup`/`setsid`/`flock` exist; the refusal is reported as its own `daemon` report (command output + environment facts), the run ends `done` with the fallback in `error`. macOS / missing tools: stop as before, now saying to re-run without a token.
  • Key exchange, pairing check, first upload: up to 3 tries; a key the web does not know and a spent token are answers and are not retried. All requests bounded.
  • The no-credentials gate (`noop`) is reported ok.
  • `0.2.15+install.2`. The Windows script is unchanged (`INSTALLER_REF` stays).

Tests

13 new in `tests/installers/test_vibemon_install.py` (9 fail on the old script). `tests/installers`: 160 OK, 7 CI-only skips; also under dash. Not run locally: the real-systemd smoke (`Install and sync smoke`) — dispatched on this branch.

After merge

New immutable `install-YYYY-MM-DD.N` tag, then the pin PR in vibemon-web (`install-pins.ts`).

🤖 Generated with Claude Code

https://claude.ai/code/session_01JoEHxgY36uG9EDhUocUGyD

…try the network steps

Driven by 67 failed install reports (2026-09-05..10-11).

- attempt daemon install failed on five Linux machines whose systemctl --user
  had passed the pre-check, after the pairing token was spent and the hooks
  were in: a paired machine that uploaded nothing, and the same command could
  not be pasted again. Where nohup/setsid/flock exist the script now continues
  with the session supervisor, reports the refusal as its own daemon report
  (the command's words and the environment facts) and finishes done. Elsewhere
  it stops and says to run the command again without a token.
- The legacy-key exchange (11 "This operation was aborted"), the pairing check
  and the first upload (4 "Network Err") are tried up to three times; a key the
  web does not know and a spent token are answers and are not retried. Every
  request is bounded; before, two of them could hang the script.
- The no-credentials gate (step noop) is reported ok whatever its exit status.

Installer version 0.2.15+install.2. 13 new tests (9 fail on the old script);
tests/installers 160 OK, also under dash.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JoEHxgY36uG9EDhUocUGyD
@nullarch
nullarch merged commit 9a442f6 into main Oct 12, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant