Skip to content

💡[Feature]: : add offline reading support for saved articles #1350

@Aarushiprajapati

Description

@Aarushiprajapati

Is there an existing issue for this?

  • I have searched the existing issues

Feature Description

Problem

UltimateHealth already lets users save articles, and OfflineArticleState tells users that offline reading is coming soon. Podcasts also have an offline download flow, but saved articles still require an internet connection to open and read.

This creates a gap for users with unstable connectivity, especially when they save health articles for later reference

Proposed solution

Add offline reading support for saved articles by caching article metadata and HTML content locally when a user saves an article or opens a saved article.

Suggested scope:

Store saved article metadata and article HTML content in local storage.
Add an OfflineArticleList screen similar to the existing OfflinePodcastList.
Let users open cached saved articles when network.isConnected is false.
Show a clear stale-content label with the last synced time.
Add a remove-from-offline action for cached articles.
Update OfflineArticleState so it can route users to available offline articles instead of only showing a static message..

Use Case

Acceptance criteria

A saved/cached article can be opened while offline.
Offline articles show title, tags, author, language, and last synced time.
Cached HTML is rendered using the existing article reading UI where practical.
Users can remove an article from offline storage.
Empty offline state appears when no cached articles exist.
Unit tests cover cache helpers and the offline empty/list states.
No backend schema change is required

Benefits

No response

Add ScreenShots

No response

Priority

High

Record

  • I have read the Contributing Guidelines
  • I'm a GSSOC'24 contributor
  • I'm a GSSOC'26 contributor
  • I'm a IEEE IGDTUW contributor
  • I want to work on this issue

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions