Skip to content

Breeze 2.1.1

Choose a tag to compare

@monikapurpl3 monikapurpl3 released this 13 Aug 16:26
· 15 commits to main since this release

Breeze 2.1.1 — the client half of the Breeze Core 3.0.2 reliability fix, plus the Android Auto surface from 2.1.0.

Fixed — the bug that locked users out

The app used to treat any 401 as "my credential is dead": it deleted the stored Ed25519 private key and demanded re-pairing. Re-pairing needs an admin to approve on the LAN, so a user who was away from home couldn't recover — and when the immediate re-enrolment also failed, the app fell through to onboarding having forgotten the server entirely ("the app has no servers any more").

The trigger didn't even have to be real: a phone whose clock had drifted past the server's 60 s window fails every signed request, which looked identical to a revoked credential.

Now:

  • Transient failures are retried once, transparently. On a clock_skew rejection the app learns server_time − device_time and signs everything afterwards with server time — a drifted clock self-heals in one round-trip instead of costing you your pairing.
  • Re-pairing only happens when the server says the credential is genuinely finished, or after 3 unexplained 401s in a row (for servers too old to say).
  • On a kept-credential 401 the app drops to its offline state instead of continuing to poll every 5 s. That hammering is what tripped the server's fail2ban and, behind NAT, banned everyone's shared address at once.
  • Diagnostics no longer probes the LAN-only admin endpoint /api/auth/devices when you're remote — a single 403 there could get your IP banned. It also reports your device clock offset, which would have identified this in one tap.

Also in the 2.1 line

  • Android Auto: one AC per screen, one huge power button, big ▲/▼ to switch units. Needs Unknown sources in Android Auto's developer settings — see the README.
  • Home-screen widget shows a bold ON / OFF / OFFLINE badge and goes colourful when running, colourless when off.
  • Power is a big switch (faintly red off, faintly green on); the flap control is one pill split into vertical/horizontal halves.

Download Breeze-2.1.1.apk below.