Skip to content

Releases: chrshdl/revokyte

v0.2.15

Choose a tag to compare

@chrshdl chrshdl released this 27 Jul 14:48

Wi-Fi diagnostics

  • When no IP address arrives, the app now records networkd's own account of the link — networkctl status, plus the tail of the systemd-networkd and wpa_supplicant journals — into its debug log. The journal is volatile and there is no SSH on a release image, so this is the only way that reasoning reaches anyone.

Pairs with instrument-cluster-os making the wlan0 link IPv4-only.

Full Changelog: v0.2.14...v0.2.15

v0.2.14

Choose a tag to compare

@chrshdl chrshdl released this 27 Jul 11:50

Wi-Fi provisioning

  • Debug log on the boot partition. A release image has no SSH and a volatile journal, so a fault on the device could only be guessed at. Drop an empty file named instrument-cluster-debug onto the boot partition (it mounts on any computer), reproduce the problem, power off, and read instrument-cluster.log from the same partition. Opt-in, so devices without the marker never write there.
  • You are no longer trapped inside a connection attempt. An attempt can take a minute; the status screen showed no controls and a second press of OK did nothing at all. Back is now available throughout and returns to the network list, and pressing OK again re-asserts the status instead of appearing dead.
  • Feed downloads report "no network connection" instead of blaming the feed's release when the device is offline.

Full Changelog: v0.2.13...v0.2.14

v0.2.13

Choose a tag to compare

@chrshdl chrshdl released this 27 Jul 10:48

Wi-Fi fix

  • Networks that offer WPA2 are joined with WPA2 again. v0.2.11 negotiated WPA3/SAE with PMF on any access point that advertised it, including routers running WPA2+WPA3 transition mode. On the Raspberry Pi's Broadcom radio that combination can report a completed association while the router lists the device as not connected and passes no traffic — so DHCP went unanswered and nothing was reachable. SAE is now used only for genuinely WPA3-only access points, where it is the only way in.
  • Includes v0.2.12's provisioning fixes: networkd is prompted to lease as soon as association completes, the failure hint carries networkd's link state, and the regulatory domain is no longer pinned to Germany.
  • The feed installer no longer reports a network outage as "Could not find the latest release" — it says the device has no network connection, with its IP or link state.

Full Changelog: v0.2.12...v0.2.13

v0.2.12

Choose a tag to compare

@chrshdl chrshdl released this 27 Jul 10:29

Wi-Fi provisioning fixes (appliance)

  • Joining a network from the setup screen now gets an IP address. Association happens long after boot, so systemd-networkd — idle since it saw no carrier at startup — did not lease within the app's window and the screen reported a failure even though the credentials had been saved correctly (rebooting came up connected). The app now prompts networkd to reconfigure the link as soon as association completes, allows 45 s instead of 30 s, and reads the lease from the kernel rather than relying on wpa_supplicant to expose it.
  • Connection failures show what actually failed. When no lease arrives, the hint now carries networkd's own link state (e.g. carrier/configuring vs routable/configured) — on a release image with no SSH, that is the only diagnostic available on the device.
  • The Wi-Fi regulatory domain is no longer pinned to Germany. country=DE was written into every config, which hides channels that are legal elsewhere (5 GHz 149–165 in the UK and US). The radio now adopts the country its router advertises (802.11d), which is correct in any country; set wifi_country in config.json to pin one explicitly.

Full Changelog: v0.2.11...v0.2.12

v0.2.11

Choose a tag to compare

@chrshdl chrshdl released this 27 Jul 07:20

Wi-Fi fix (appliance)

  • Networks on WPA2+WPA3 transition routers (PMF required) can now be joined: the provisioning flow offers WPA-PSK / WPA-PSK-SHA256 / SAE with PMF when the image's wpa_supplicant supports it (paired with instrument-cluster-os WPA3 build support). Previously such routers rejected the client and the UI blamed the password.
  • Connection failures now say what actually failed — saving settings, authentication, or DHCP — instead of always "check password".

Full Changelog: v0.2.10...v0.2.11

v0.2.10

Choose a tag to compare

@chrshdl chrshdl released this 26 Jul 22:40

Wi-Fi setup (appliance)

  • The network list now matches the settings rows — full-width hairline-separated rows on the same grid — and scrolls elastically with iOS-style rubber-banding, momentum, and snap-to-row (no more half-cut SSIDs after a scroll). Drag works with touch and mouse alike; up to four networks scroll while Enter network manually stays put.
  • The password screen is built around the picked network: the header reads Connect to <network>, the password field spans the keyboard width with a delete key beside it (red pressed styling, rounded corners), and the password-reveal eye moved onto the keyboard.

Performance

  • The current-lap clock re-renders its digits at 10 Hz instead of 60 (hundredths are unreadable at frame rate); the predicted-lap widget now formats once per stable-delta refresh instead of every frame.

Polish

  • All view header titles use NotoSans Light; leftover pixel-font double-spacing and copy cleaned up.

Full Changelog: v0.2.9...v0.2.10

v0.2.9

Choose a tag to compare

@chrshdl chrshdl released this 26 Jul 20:51

Assetto Corsa Competizione on desktop

  • The desktop app can now read ACC directly — no proxy program needed. Pick Assetto Corsa Competizione in the settings dropdown, enter your game PC's IP (or the local IP when ACC runs on the same machine), and the cluster connects over ACC's UDP Broadcasting API in-process, exactly like GT7 direct mode.
  • ACC supplies its own lap delta and track name, which the cluster republishes natively. Channels the Broadcasting API doesn't expose (RPM, tires, fuel) stay empty, matching the appliance feed.

Performance

  • Retired the always-repaint widget default (a workaround for a startup render race that the full-repaint plumbing has since made impossible): static widgets now cost zero draw work per frame, and the window being uncovered/restored/resized triggers an explicit full repaint.

Full Changelog: v0.2.8...v0.2.9

v0.2.8

Choose a tag to compare

@chrshdl chrshdl released this 26 Jul 18:32

Performance

  • Dashboard widgets that change rarely (previous/fastest lap, track name, fuel pair, tire temps) now skip value re-formatting entirely when the underlying value is unchanged — the steady-state per-frame cost drops to a single comparison. Follows up on v0.2.7's 60 fps main-loop fix; benefits both the Raspberry Pi image and the desktop builds.

Shift lights

  • The LED bar pairs now step green → green → orange → red as the shift point approaches (previously all green).
  • The rev-limiter alert now flashes red (previously blue).

Housekeeping

  • Type annotations modernized to PEP 604 (X | None / X | Y) across the codebase; unused typing imports removed. The vendored delta calculator is unchanged (tracks upstream).

Full Changelog: v0.2.7...v0.2.8