Display last sync date/time for each feed in the feed list
Checklist
- [x] I've already searched in existing issues and haven't found a similar feature request.
Which category best fits this feature request?
Feed Sync & Management
Is your feature request related to a problem? Please describe.
Currently, the app doesn’t show when each feed was last synced. As a result, it’s difficult to know if a feed is still being updated, has a connection or parsing error, or if the RSS link is broken or dead.
This lack of visibility makes feed management and troubleshooting more difficult, especially for users following many sources.
Describe the solution you'd like
I’d like to see the last successful sync date and time displayed for each feed directly in the feed list. This information would allow users to:
-
Quickly verify which feeds are still active.
-
Detect stale or broken feeds without needing to open each one.
-
Spot synchronization issues or extraction failures more easily.
This feature would be particularly useful for users and those who subscribe to many feeds or less frequently updated sources. It adds transparency and improves confidence that the app is working as expected in the background.
Related links
The app Handy News Reader provides a similar feature: https://github.com/yanus171/Handy-News-Reader
Version: 0.14.1 Device: Xiaomi 23077RABDC System: Android 13 (API 33)
Stack trace:
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 2 column 1 path $ at com.google.gson.Gson.fromJson(Gson.java:25) at me.ash.reader.ui.ext.DataStoreExtKt.fromJSONStringToDataStore(DataStoreExt.kt:19) at me.ash.reader.ui.page.settings.troubleshooting.TroubleshootingViewModel$importPreferencesFromJSON$1.invokeSuspend(TroubleshootingViewModel.kt:38) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:9) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:115) at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:4) at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:3) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:96) Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@a15b1d0, Dispatchers.IO] Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 2 column 1 path $ at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:47) at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:88) at com.google.gson.Gson.fromJson(Gson.java:18) ... 7 more