voo_watch 0.2.2 copy "voo_watch: ^0.2.2" to clipboard
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: emitReachability wrote to the FlutterEventSink directly from WCSessionDelegate callbacks, 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 same forward(...) helper the other channels use, so every emit hops to the main thread.
  • iOS: voo_watch/messages could call FlutterResult twice — once synchronously after WCSession.sendMessage and again from the async errorHandler. Flutter asserts on a double-completed result, which could trip the engine and silently break subsequent sends. The bridge now wraps every send in a ResultResolver that completes exactly once and always on the main thread (success comes via replyHandler, failure via errorHandler).

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 valid pubspec.yaml".
  • Inlined formatter: page_width: 160 in this package's analysis_options.yaml so 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_wear instead of scaffolding Compose.
  • voo_watch:init default --platform is now ios (was both). Pass --platform android --variant compose if 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 to voo_wear and exits without writing files.

Notes #

  • No API changes. Existing apps using VooWatch.instance keep working untouched.
  • Apple Watch story is unchanged: the Swift plugin and SwiftUI scaffolding template stay.

0.1.0 - 2026-04-26 #

Added #

  • Initial release.
  • VooWatch facade with typed messages, application context, user info, and reachability stream.
  • VooWatchHaptics facade with cross-platform haptic types.
  • VooWatchHealth facade for sample passthrough from watchOS HealthKit and Wear OS Health Services.
  • VooWatchComplications facade 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:init CLI that scaffolds a SwiftUI watchOS target and a Compose Wear OS module wired to the Flutter app.
  • FakeVooWatchTransport exported from package:voo_watch/testing.dart for in-process widget tests.
1
likes
0
points
300
downloads

Publisher

verified publishervoostack.com

Weekly Downloads

Flutter SDK for Apple Watch and Wear OS companion apps. Typed message bridge, haptics, health, complications, and a scaffolding CLI.

Homepage
Repository (GitHub)
View/report issues

Topics

#flutter #watch #wearable #watchos #wear-os

License

unknown (license)

Dependencies

args, flutter, meta, path

More

Packages that depend on voo_watch

Packages that implement voo_watch