github TheSpaghettiDetective/moonraker-obico v2.2.5

58 minutes ago

Fixed

  • Reconnect to the Obico server after a connection dies silently. If the network path to the server drops without a FIN or RST reaching the printer — a firewall reboot or a NAT state flush — the agent sent no websocket pings and had no TCP keepalive, so its socket kept reporting itself connected, the close handler never ran, and the reconnect loop kept reusing a dead connection. The printer showed as offline until moonraker-obico was restarted by hand. The agent now pings the server every 30s with a 15s timeout, so a dead connection is closed and re-established on its own. Measured detection took 48-90s. Contributed by robisonjoel (#141, fixes #140).

  • Run the bundled ffmpeg wrapper under POSIX sh. Creality OS has no bash, so the wrapper failed there. Contributed by dalgibbard (#138).

Internal

  • Declare the test-only websockets dependency in a new requirements-test.txt. It is deliberately kept out of requirements.txt so it is not installed on printers.

Connections to Moonraker, Janus and the local tunnel are unchanged: they are local, so they cannot go half-open this way, and pings stay off for them.

The release includes 22 passing unit tests on Python 3.9 with the pinned websocket-client==1.2.1, plus an end-to-end check that a silently dropped connection is detected and reconnected.

Versioned container image: ghcr.io/thespaghettidetective/moonraker-obico:v2.2.5 (built by CI from this tag). Release commit: a36431c.

Don't miss a new moonraker-obico release

NewReleases is sending notifications on new releases.