feat: redesign headlines widget v61 + OS widget#546
feat: redesign headlines widget v61 + OS widget#546jvsena42 wants to merge 12 commits intofeat/price-widget-v61from
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2e3f81cb8f
ℹ️ 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".
|
couldn't find any bug in the sorting. Could be something in the crapping? same result calling the url directly https://feeds.synonym.to/news-feed/api/articles also /latest returns a 2025 article |
…/headlines-v61 # Conflicts: # Bitkit/ViewModels/WidgetsViewModel.swift
|
Video updated |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 955e293004
ℹ️ 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".
| private init() { | ||
| NewsWidgetCache.legacyDropStandardSuiteCache() | ||
| } |
There was a problem hiding this comment.
Preserve the legacy news cache during migration
When an existing user upgrades while offline or while the news feed is failing, this initializer deletes the old news_widget_cache before the view model can use it, and the new getCachedData() path only reads news_widget_top_articles_v1. That turns a previously available stale headline into an error/blank widget until a fresh network request succeeds; consider migrating or falling back to the legacy WidgetData until the new App Group cache has been populated.
Useful? React with 👍 / 👎.

This PR:
Description
The in-app Bitcoin Headlines widget gets the v61 layout: a 22pt bold headline as the dominant element, with the source name in brand orange and the relative time in dim gray on a single row underneath. The compact (small) variant drops the source line and keeps the time pinned bottom-right. Tapping the in-app widget still opens the article in Safari.
The edit screen gains a "Content" section header to match Figma v61 and reorders rows so Title is shown first, followed by the Source and Time toggles. Title remains static; Source and Time can be toggled.
A new Bitcoin Headlines home-screen widget ships as
BitkitNewsWidget, supporting.systemSmalland.systemMediumfamilies. It mirrors the in-app widget's options via the existinggroup.bitkitApp Group. The timeline provider caches the top 10 articles and rotates a random pick on each ~15-min refresh. The widget honorswidgetRenderingModeso it renders correctly in both full-color and accented (Liquid Glass / StandBy) modes — the brand-orange source color falls back gracefully outside of full color. Tapping a Medium widget opens the article URL directly in Safari viaLink. Tapping a Small widget delivers the URL through the host app'sonOpenURL, where a new HTTP/HTTPS short-circuit forwards the URL to Safari before any payment-scanner parsing happens.The news preview screen is rewritten as a TabView carousel mirroring the price widget pattern: description, "Widget Settings" cell, Compact↔Wide carousel, size label and dot indicator, and Save Widget / Delete buttons.
While in there: extracted the news feed base URL and articles endpoint to
WidgetEnvso both the main app and the widget extension consume them the same way as the price feed URL.Mirrors the v61 redesign shipped on Android in bitkit-android#919.
Linked Issues/Tasks
N/A
Screenshot / Video
Simulator.Screen.Recording.-.iPhone.16.-.2026-05-07.at.15.32.43.mp4
QA Notes
Manual Tests