Skip to content

iOS Blog Feed Widget#2834

Open
r3econ wants to merge 64 commits intolichess-org:mainfrom
r3econ:ios-lichess-blog-feed-widget
Open

iOS Blog Feed Widget#2834
r3econ wants to merge 64 commits intolichess-org:mainfrom
r3econ:ios-lichess-blog-feed-widget

Conversation

@r3econ
Copy link
Copy Markdown
Contributor

@r3econ r3econ commented Mar 22, 2026

  • Adds native iOS home screen widget that displays recent posts from Lichess blog feeds. The PR also lays the groundwork for adding more iOS widgets in the future.

Disclaimer: iOS home screen widgets can't be written using flutter. iOS requires writing them using native code.

  • Feed content is configurable via the widget settings sheet and supports:
    • Official Blog (default)
    • Community Blog
    • User Blog — shows a username field
  • Feeds are fetched as Atom (all Lichess feeds use Atom format)
  • Tapping a post deep-links into the app and opens it in the in-app browser.
  • See EXTENSIONS.md for how to sign and test the extension as well as what is required to make it work when releasing in the App Store.
  • Partially resolves Platform home widget #1790
  • Feedback is highly welcomed 🙂 🆗

Demo

iPhone

iphone

iPad

ipad

Widget Catalog

widget_catalog

Settings

settings

Video

demo.mov

@veloce
Copy link
Copy Markdown
Contributor

veloce commented Mar 23, 2026

Another feedback: instead of showing a relative date for the blog post, always show the day and month, and the year if it is a different year (we don't need the hour), like it is done on lichess.

We already have the hour for when the widget has been updated, which is great.

@r3econ
Copy link
Copy Markdown
Contributor Author

r3econ commented Mar 23, 2026

Nice, I've implemented the feedback:

  • Show author in the bommunity blog ☑️
  • Format date ☑️
image

Copy link
Copy Markdown
Contributor

@veloce veloce left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have another feedback after having tested it. The widgets now look really nice, thanks!

What I found is that community and user blogs are way less discoverable since you have to modify the widget to see them. Would it be possible to include them in the widgets list?


When a PR that adds a new extension is ready to merge, a Lichess org member with Apple Developer access needs to:

1. Register the new App ID (for the extension's bundle ID) in the Apple Developer portal.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We're using fastlane match for code signing in release mode in this project. It would be nice to update these instructions to take that into account.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, definitely. I added fastlane instructions in daba1a0. They might require some fine-tuning once you create a build and see how fastlane handles the new widget extension. Hopefully it works with no changes 🚀

@veloce
Copy link
Copy Markdown
Contributor

veloce commented Mar 25, 2026

@r3econ in case you missed it:

What I found is that community and user blogs are way less discoverable since you have to modify the widget to see them. Would it be possible to include them in the widgets list?

do you think this is feasible?

@r3econ
Copy link
Copy Markdown
Contributor Author

r3econ commented Mar 26, 2026

@veloce, yes, very good point, the widgets must be easily discoverable. I've updated the code so that all 3 kinds of widgets appear in the widget gallery (Community, Official and User blog feeds). Below a preview:

widget_gallery
widget_gallery_vid.mov

Additionally I've improved the design when widget content can't be loaded (e.g. when there is no internet connection).

errors

@r3econ r3econ requested a review from veloce March 26, 2026 22:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Platform home widget

2 participants