TiddlyWiki / TiddlyWiki5

A self-contained JavaScript wiki for the browser, Node.js, AWS Lambda etc.
https://tiddlywiki.com/
Other
8.03k stars 1.19k forks source link

[IDEA] Better notification about plugin updates in libraries #7104

Open EvidentlyCube opened 1 year ago

EvidentlyCube commented 1 year ago

The problem

The current mechanism to notify users about plugin updates in libraries is very reactive - it requires the user to periodically go to Control Panel -> Plugins -> Get More Plugins and then click on every library, click open plugin library then look through the list of plugins for an orange button saying "Update.

That's at least 5 clicks to check for new plugins for one library, two more for each library after that. Which might seem trivial but it is annoying and, the biggest problem of all, you have to remember to check that.

Suggestion

Core

A script that does the following in the background:

Problem: how to display this information?

I think the last option is probably the best one, provided that we had some way to dismiss it, perhaps something like this:

image

This way we don't need to put any lengthy information in any notification, the user will clearly see which plugins need updated

Problem: repeated notification about the same update

If someone doesn't want to update a certain plugin right now/ever they might be annoyed by being constantly notified about it. There should be a way to at least dismiss the notification until a new update comes - this is covered by the proof-of-concept from the previous screenshot.

But it might also be worth adding an option "Do not notify be about updates to this plugin". Another proof of concept:

image

Problem: user doesn't want update checking

Add an option somewhere to globally enable/disable this functionality.

Alternatives:

Instead of having it in core I could write my own plugin to do this but I think it's a functionality that would be useful to everyone.

pmario commented 1 year ago

I think as long as everything works, there is no real need to update any library. In the contrary, there may be new problems which may break stuff.

So I think if a user needs or wants new functions, because they read about it here or at Talk, they will check for updates themself.

About the screenshots. I do like the one with the ControlPanel -> Plugins tab and the yellow message the most. It is obvious as soon as you open the tab, but doesn't add any other annoying indicators.

Just some thoughts

Jermolene commented 1 year ago

Hi @EvidentlyCube the reason that we have so far avoided automated update checking for plugins is that there are considerable privacy implications to having it in the core. The network traffic generated by the update checking could be used to detect that somebody was working on their TiddlyWiki and possibly what plugins they are using.

But there's clearly a benefit for many users, so it would be good to offer it as an option. It may be worth exploring the UI options via a plugin in the first instance.

EvidentlyCube commented 1 year ago

@pmario

I think as long as everything works, there is no real need to update any library. In the contrary, there may be new problems which may break stuff.

That's certainly a valid way to look at it, though there are also situations where an update fixes a potentially critical bug (like #7054) and currently there is no way to reach users other than hoping they don't encounter it or will come asking why their wiki is broken.

So I think if a user needs or wants new functions, because they read about it here or at Talk, they will check for updates themself.

That isn't helpful for people who're not engaging with the community though which I'd bet is majority of TW users. That being said, I also doubt those users use libraries in the first place so this feature wouldn't have helped them in any way.

About the screenshots. I do like the one with the ControlPanel -> Plugins tab and the yellow message the most. It is obvious as soon as you open the tab, but doesn't add any other annoying indicators.

Something I didn't make clear enough is that dismissing the yellow message in Plugins tab would also hide the tiny number on Control Panel button.

Nevertheless, I understand both your and @Jermolene's arguments. I'll start by implementing this functionality as a plugin.

saqimtiaz commented 1 year ago

@EvidentlyCube here is an earlier discussion on the same topic that might prove of interest: https://groups.google.com/g/tiddlywiki/c/5eewU5jOUlc/m/YW4pzwbGBgAJ

I use an improved version of what I show in that thread to show notifications for end users of an edition that I maintain, tracking whether or not they have dismissed the notification in browser local storage. The goal was to build something minimal on top of the existing code, and as a result a bit of a drawback is the bandwidth requirement this involves.

pmario commented 1 year ago

That's certainly a valid way to look at it, though there are also situations where an update fixes a potentially critical bug (like https://github.com/Jermolene/TiddlyWiki5/issues/7054) and currently there is no way to reach users other than hoping they don't encounter it or will come asking why their wiki is broken.

OK. .. Informing a user about a critical but is something completely different for me. .. There is still a chance that the new update has the potential to corrupt my existing wiki.

So from my understanding it is a "must" to create a backup of the "working" wiki prior to update. ...

My concern here is, if it is too easy to click the button, users get careless. The more often they click the button successfully with no problems, the more careless they get. ... Until something breaks.

If I have to open the ControlPanel -> Plugins -> Get More Plugins -> Select the Library Tab -> Open Plugin Library to get the update info, there has to be a clear "intention" of the user to perform potentially dangerous actions. IMO nothing here happens unintentionally.

If I start the wiki and get a button -> Update All Plugins ... IMO it's way to easy accidents can happen. I'd prefer at least 2 more steps.

A) Show update messages -- Provide a Backup-Button ... B) Show the Update button

Just some thoughts.

linonetwo commented 1 year ago

I also have this in the forum https://talk.tiddlywiki.org/t/installing-upgrade-plugin-requires-too-many-click/2990/3 , but I'm writing plugins so didn't take time attend for this since that...