Tags: DevAtrii/Warp
Tags
Implement periodic widget updates and `onUpdate` lifecycle hook - Introduce `onUpdate` lifecycle method to `WarpWidget` to handle system-triggered refreshes on Android and iOS - Implement `WarpWidgetHost.dispatchOnUpdate` with interval-based throttling and persistence for the last update timestamp - Add `currentTimeMillis` expect/actual platform implementations using `System.currentTimeMillis` (Android) and POSIX `gettimeofday` (iOS) - Update `WarpGlanceWidgetReceiver` to dispatch updates during system `onUpdate` events and via a new `ACTION_WIDGET_UPDATE` intent - Integrate periodic update dispatching into iOS `TimelineProvider` and configure an hourly refresh policy - Override `onUpdate` in `CounterWarpWidget` to provide example logging of periodic refreshes - Increment library patch version to 0.1.8 in version catalog
Refactor adaptive sizing API and improve SwiftUI renderer consistency - Introduce `rememberWarpAdaptiveSize` Composable and internalize adaptive threshold calculation helpers - Update `CounterWarpWidget` to use `WarpLazyRow` and implement platform-aware visibility logic for todo items - Wrap iOS root view in `GeometryReader` to ensure correct frame sizing and alignment in `WarpSwiftUIRenderer` - Replace `LazyVStack` and `LazyHStack` with standard `VStack` and `HStack` in the SwiftUI renderer for better widget stability - Refactor SwiftUI modifier application to use unified content alignment for `fillMax` and `weight` properties - Update `CounterWarpWidget` to use the new `rememberWarpAdaptiveSize` API for layout branching
Implement interactive Todo widget example and refactor action handling - Implement iOS WidgetKit support for the Todo widget, including `AppIntents` and `WarpClickAppIntent` for interactive widget support on iOS 17+. - Refactor `WarpModifier.clickable` to support typed `WarpAction` and improve polymorphic serialization of action parameters. - Expand `TodoWarpWidget` shared logic with new actions for clearing todos and adding samples, and introduce a reusable `IconButton` composable. - Update `WarpGlanceWidget` on Android to support constructor-injected widget hosts and register new vector assets for Trash and Add icons. - Configure the iOS project to include the Warp Swift Package dependency and add a build phase for embedding the Kotlin multiplatform framework. - Migrate `sharedLogic` dependencies to use version catalog definitions and export WARP libraries to the generated iOS framework. - Improve `WarpTypedAction` encoding to correctly handle polymorphic type discriminators during JSON serialization. - Bump library version to 0.1.3 and update internal visibility for `ClickAction` factory functions.
Refactor WarpGlanceWidget and receiver to use factory methods for wid… …get definitions - Replace abstract `widget` property with `createWarpWidget()` function in `WarpGlanceWidget` and `WarpGlanceWidgetReceiver` - Update `CounterWidgetReceiver` to provide `CounterWarpWidget` via the new factory method instead of a constructor parameter - Modify `CounterGlanceAppWidget` to accept its `WarpWidgetHostApi` dependency via constructor - Update internal registration and composition logic to use the factory pattern for obtaining widget definitions - Clean up imports and formatting in `WarpGlanceWidgetReceiver`