v2 icon indicating copy to clipboard operation
v2 copied to clipboard

No visual feedback for saved articles

Open 1pav opened this issue 4 years ago • 2 comments

I am not sure if it's just me (I didn't take the time to inspect the source), but when clicking the 'Save' button of an article entry, the button does not change state to inform the user of whether the action has been successful or not.

I think the behaviour should be analogous to that of the 'Star' button, where it changes state to show 'Unstar' after clicking it. Also, the 'Starred' state is persisted on the database.

I understand that coming up with a solution may requires significant design thinking, because there can be multiple integrations (e.g. Wallabag, Instapaper) enabled at the same time. I think the conversation around the issue should start with the question: "What does 'Saved' article means in the context of Miniflux?".

1pav avatar Jul 18 '20 15:07 1pav

Would it be feasible to allow only one integration for saving articles? This way, the user would have to choose the integration to use among the available ones (Pocket, Wallabag, etc), for example using a drop-down list.

I think this would greatly simplify managing and showing the 'Saved' state of an article entry. For example, if the user chooses Pocket as saving integration, Miniflux would read and modify the saved state of articles only by querying the Pocket API. This approach would easily allow to 'Unsave' entries as well, just by making a call to a single API.

On the downside, users who actually want to use multiple services at the same time, would be left without this possibility.

A more complicated alternative would be to ask the user where to save an article each time. In this case, the definition of 'Saved' state would not be obvious, and might require a considerable external API call overhead if the actual saved state for each integration is to be shown to the user.

Lastly, of course a quick-and-dirty solution would be to just add a column like 'has_user_clicked_save' in the Miniflux database, and ignore the possibility of articles being removed by the user from the underlying service. I am not sure what 'Unsave' would mean in this scenario.

1pav avatar Jul 19 '20 17:07 1pav

I would suggest to start with something very straightforward: feedback on failed save. In case of multiple save targets, give the feedback, even just a generic Error,if any fails.

Not sure if it's perfect, but it's still better than silently failing.

mredaelli avatar May 26 '22 12:05 mredaelli