feat: OS widgets foundation + price widget#538
Conversation
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 95e132a147
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
Large widget removed in #542 |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
|
All stacked PRs reviewed and merged |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
fixed in 407dc4f |
Simulator.Screen.Recording.-.iPhone.16.-.2026-05-22.at.10.03.13.mp4Sanity check after last changes |
pwltr
left a comment
There was a problem hiding this comment.
Tested, LGTM.
iPhone 17, migration from master to PR branch ✅
iPhone SE ✅
|
@jvsena42 Some of my unsigned commits ("WIP") got merged into here, please squash commit history |



Description
This PR adds the foundation for native iOS Home Screen widgets via WidgetKit, with the Bitcoin price widget as the first concrete example mirroring its in-app counterpart.
The foundation establishes the contract that future home-screen widgets will reuse:
group.bitkitis the only sync channel between the main app and the widget extension — no shared MMKV, redux-persist, or keychain.UserDefaultsand triggerWidgetCenter.reloadTimelineswhenever the in-app editor saves changes, so the home-screen widget reflects edits within ~1s.placeholder/getSnapshot, kicks off a fresh fetch ingetTimeline, and falls back to cache (or a graceful error state) when offline.PBXFileSystemSynchronizedBuildFileExceptionSet, keeping the extension binary minimal.widgetRenderingModeso they render correctly in both full-color and accented (Liquid Glass / StandBy) modes.The price widget itself ships small, medium, and large families. Small shows the price and 24h change badge. Medium and large add a Charts-based sparkline that picks color from the change direction and respects rendering mode. Selected pairs, period, and the optional Bitfinex.com source line all flow from the in-app price widget editor.
Linked Issues/Tasks
Mirrors the foundation introduced on Android in bitkit-android#895.
Screenshot / Video
Simulator.Screen.Recording.-.iPhone.16.-.2026-05-05.at.14.09.49.mp4
Simulator.Screen.Recording.-.iPhone.16.-.2026-05-06.at.07.11.40.mp4
QA Notes
1. Add the widget from the gallery
2. Configuration flows through App Group
selectedPairsto include BTC/EUR, switch period to1W, toggleshowSourceon.3. Rendering modes
Color.clearbackground and tint-friendly text.4. Unrelated regressions
master.