Releases: squazaryu/TumoCompanion
Release list
Unleashed 0.9.24
Restore sub/nfc/rfid swipe actions (Edit moved to long-press context menu; tap-to-edit now only for plain-text files). Fix the stale Flipper bridge: on launch a system-held connection from the previous app process is force-disconnected and reconnected fresh (its RPC session was dead), so reconnect works without toggling the Flipper's Bluetooth.
Unleashed 0.9.23
Edit text files on the Flipper (like the App Store app): tap a text file in Files to open a monospaced editor, or swipe → Edit on any file. Reads fresh over BLE, writes the whole file back on Save and verifies by md5; binary/too-large files are detected and refused.
Unleashed 0.9.22
Tab bar shift in dark theme fixed: the forced color scheme is now applied at the UIWindow level (overrideUserInterfaceStyle) before first layout, instead of SwiftUI's late .preferredColorScheme which re-laid-out the tab bar (and shifted labels) when the app theme differed from the system theme.
Unleashed 0.9.21
Settings screen (gear, top-left of Device): theme System/Light/Dark and 4 app icons (Orange/Mono/Green/Purple). Tab bar fix: opaque appearance on standard+scrollEdge so labels stop rendering shifted on first paint. BLE state restoration + connect watchdog: reclaim a Flipper still showing 'connected' after an app relaunch instead of leaving it half-open and unconnectable.
Unleashed 0.9.20
AI Radar refresh works backgrounded/locked — same bluetooth-central path as Sber Relay (my earlier 'foreground only' note was wrong). Added a background-task assertion so the fetch + BLE write-back finishes when woken by the Flipper's event. Needs the phone on the same network as the Mac.
Unleashed 0.9.19
Flipper-triggered AI Radar: long-press OK on the Flipper's AI Dashboard sends ai_dashboard/refresh over the App Bridge; the phone fetches usage from the Mac and streams it back to the Flipper (Flipper→phone→Mac→phone→Flipper), no manual phone tap. Claude 'stale' marker when its OAuth token is expired so a cached 100% isn't shown as current.
Unleashed 0.9.18
AI Radar over the network: iOS now pulls usage from the Mac AI Radar Bridge app and writes usage.txt to the Flipper itself (Mac → phone → Flipper). Set the bridge URL on the AI Radar screen; empty still reads usage.txt straight off the Flipper.
Unleashed 0.9.17
Bring AI Radar back — as a read-only iOS view. The Mac bridge stays the data collector (it needs the codex/claude CLIs); iOS reads the Flipper's /ext/apps_data/ai_dashboard/usage.txt over BLE and shows the same per-provider usage the on-device app does. New Device → AI Radar screen.
Unleashed 0.9.16
Fix tab bar (dock) rendering crooked/truncated on first paint: removed the custom UITabBarAppearance font that broke layout metrics until a re-layout. Back to native rendering; Bridge tab renamed Relay so every label fits at the default size.
Unleashed 0.9.15
Implement Flipper's BLE serial flow control (the thing the official app does and we didn't): honor the flow-control characteristic credit (1024B RPC buffer, refilled on buffer-empty notify), write .withoutResponse in <=486B chunks gated by canSendWriteWithoutResponse. This is the real fix for file installs over BLE — no more overrun/wedge/md5-mismatch.