feat: like-limit countdown as Live Activity (iOS) and Live Update (Android) - #79
Closed
GSTJ wants to merge 3 commits into
Closed
feat: like-limit countdown as Live Activity (iOS) and Live Update (Android)#79GSTJ wants to merge 3 commits into
GSTJ wants to merge 3 commits into
Conversation
… Live Updates When a free user hits the daily like limit, we now start a glanceable countdown to the reset outside the app: - iOS 16.2+: real ActivityKit Live Activity via a local Expo module (modules/pegada-live-status) plus a hand-rolled widget-extension target (targets/like-limit-activity, wired by @bacons/apple-targets). Custom SwiftUI for lock screen + Dynamic Island (compact/minimal/expanded), system-driven timer and progress bar, stale-state label, deep link back to the swipe tab. Ends on next successful swipe or when the timer expires and the app comes back to foreground. - Android: same JS API, Kotlin side posts a chronometer countdown notification; on Android 16.1+ (API 36.1) it's promoted via setRequestPromotedOngoing + ProgressStyle so it surfaces as a Live Update (status bar chip / AOD card), gated on SDK_INT_FULL and canPostPromotedNotifications. Auto-dismisses at reset via setTimeoutAfter. Module compiles against the 36.1 minor SDK. - Strings localized in en/pt-BR and passed into native from JS, so the native side stays copy-free. - Below iOS 16.2 / when activities are disabled: no-op. Follow-up (out of scope for v1): push-driven updates via Activity.pushTokenUpdates, and ending the iOS activity server-side.
…sion target iOS allows one widget extension per app, so targets/like-limit-activity becomes the shared targets/pegada-widgets target (deploymentTarget 16.2, byte-identical config across feature branches). The Live Activity registers itself in PegadaWidgetsBundle.swift.
Owner
Author
|
closing this one out, hasn't moved in a couple weeks, ping me if it's still alive |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
When a free user runs out of daily likes, the "likes recharging" countdown now lives on the lock screen and in the Dynamic Island on iOS, and as a promoted progress notification on Android 16+.
Details
ios.appleTeamIdin the app config and credentials for the new extension bundle id the first time.Testing steps