voo_watch 0.2.2
voo_watch: ^0.2.2 copied to clipboard
Flutter SDK for Apple Watch and Wear OS companion apps. Typed message bridge, haptics, health, complications, and a scaffolding CLI.
Changelog #
All notable changes to voo_watch will be documented in this file.
0.2.2 - 2026-04-28 #
Fixed #
- iOS:
emitReachabilitywrote to theFlutterEventSinkdirectly fromWCSessionDelegatecallbacks, which fire on background queues. That produced"channel sent a message from native to Flutter on a non-platform thread"warnings and could drop reachability events — leaving Dart listeners stuck in their last observed state. Reachability is now routed through the sameforward(...)helper the other channels use, so every emit hops to the main thread. - iOS:
voo_watch/messagescould callFlutterResulttwice — once synchronously afterWCSession.sendMessageand again from the asyncerrorHandler. Flutter asserts on a double-completed result, which could trip the engine and silently break subsequent sends. The bridge now wraps every send in aResultResolverthat completes exactly once and always on the main thread (success comes viareplyHandler, failure viaerrorHandler).
0.2.1 - 2026-04-28 #
Changed #
- Tightened
description:to fit pana's 60–180 char window so the package scores full marks under "Provide a validpubspec.yaml". - Inlined
formatter: page_width: 160in this package'sanalysis_options.yamlso pana picks it up when scoring without the workspace root in scope. No source changes — every file already conformed at the project's 160-column width.
0.2.0 - 2026-04-26 #
Changed #
- voo_watch is now positioned as the phone↔watch BRIDGE. For Flutter UI on Wear OS, use the new sibling package
voo_wearinstead of scaffolding Compose. voo_watch:initdefault--platformis nowios(wasboth). Pass--platform android --variant composeif you still want a native Compose Wear OS module (for Tiles, Complications, or Watch Faces).voo_watch:init --platform android(without--variant compose) now prints a redirect tovoo_wearand exits without writing files.
Notes #
- No API changes. Existing apps using
VooWatch.instancekeep working untouched. - Apple Watch story is unchanged: the Swift plugin and SwiftUI scaffolding template stay.
0.1.0 - 2026-04-26 #
Added #
- Initial release.
VooWatchfacade with typed messages, application context, user info, and reachability stream.VooWatchHapticsfacade with cross-platform haptic types.VooWatchHealthfacade for sample passthrough from watchOS HealthKit and Wear OS Health Services.VooWatchComplicationsfacade for updating complications (watchOS) and tiles (Wear OS).- iOS plugin wrapping
WatchConnectivity. - Android plugin wrapping the Wearable Data Layer (
MessageClient,DataClient,CapabilityClient). dart run voo_watch:initCLI that scaffolds a SwiftUI watchOS target and a Compose Wear OS module wired to the Flutter app.FakeVooWatchTransportexported frompackage:voo_watch/testing.dartfor in-process widget tests.