Add native Miniflux account type and sync support - #5405
Open
dave-atx wants to merge 1 commit into
Open
Conversation
Adds Miniflux as a first-class account type alongside Feedbin, Feedly,
NewsBlur, and Reader API accounts, on both macOS and iOS.
Refreshes are incremental: the changed_after parameter means read and
starred status ride along with the entries in a single pass instead of
needing separate status scans. Articles missing locally are backfilled by
ID via GET /v1/entries/{id}; a 404 means the entry is gone server-side, so
its statuses are deleted and it is not requested again on every refresh.
Starred changes go out as idempotent batch updates.
Requires Miniflux 2.0.49 or newer. The server version is detected at
runtime via GET /v1/version and persisted in AccountSettings. Servers
older than 2.3.2 have no /v1/entries/ids and no batch starred updates, so
those paths fall back transparently to paged /v1/entries and per-entry
bookmark toggles.
Both HTTP Basic and API-token authentication are supported, selectable in
the account sheet on either platform. Entered URLs are normalized (scheme
added, trailing slash and /v1 suffix stripped), and adding a second
account for a server that already has one is rejected.
Tests cover folder sync, model decoding, version parsing, the pre-2.3.2
fallback paths, and duplicate-endpoint detection, with JSON fixtures for
the API responses.
The runtime version detection and the duplicate-endpoint check were
informed by IngmarStein's independent Miniflux implementation in Ranchero-Software#5335.
Co-Authored-By: Ingmar Stein <490610+IngmarStein@users.noreply.github.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
Author
|
I think the current failing lint check affects all of the CI system... at least the failure doesn't seem to reference any of the files this PR touches. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #4743 and #3593.
Adds Miniflux as a first-class account type alongside Feedbin, Feedly, NewsBlur, and Reader API accounts, on both macOS and iOS. The big benefits for users are:
Refreshes are incremental: the changed_after parameter means read and starred status ride along with the entries in a single pass instead of needing separate status scans. Articles missing locally are backfilled by ID via GET /v1/entries/{id}; a 404 means the entry is gone server-side, so its statuses are deleted and it is not requested again on every refresh. Starred changes go out as idempotent batch updates.
Requires Miniflux 2.0.49 or newer. The server version is detected at runtime via GET /v1/version and persisted in AccountSettings. Servers older than 2.3.2 have no /v1/entries/ids and no batch starred updates, so those paths fall back transparently to paged /v1/entries and per-entry bookmark toggles.
Both HTTP Basic and API-token authentication are supported, selectable in the account sheet on either platform. Entered URLs are normalized (scheme added, trailing slash and /v1 suffix stripped), and adding a second account for a server that already has one is rejected.
Tests cover folder sync, model decoding, version parsing, the pre-2.3.2 fallback paths, and duplicate-endpoint detection, with JSON fixtures for the API responses.
The runtime version detection and the duplicate-endpoint check were informed by IngmarStein's independent Miniflux implementation in #5335.