Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Confirm before uninstalling userscripts #3098

Open
Meriipu opened this issue Jan 9, 2021 · 6 comments
Open

Confirm before uninstalling userscripts #3098

Meriipu opened this issue Jan 9, 2021 · 6 comments

Comments

@Meriipu
Copy link

Meriipu commented Jan 9, 2021

I accidentally clicked uninstall instead of edit, and then clicked outside the contextmenu so that it closed.
When I opened it again, the undo option was not there and the script was gone.

The timed undo feels incredibly fragile and unreliable, and explicitly asking whether to uninstall feels preferable.
Perhaps even adding an opt-in option to not ask for confirmation for users who are very accurate in their clicks and never make mistakes ever who would rather not be asked to confirm.

Thankfully I was able to recover the script from a tab that had it cached via the firefox dev tools, but if I had not had one open I would have had to restore from a backup.

There is a very old issue pertaining to the same issue, but browsers/extensions and greasemonkey have likely changed a lot since then. #1102

@benibela
Copy link

OMG, I just did the same

I have been working for years on my script, over 6000 lines, and now it is just gone

Although I have a backup from November, I do not remember if I have changed anything since then

@Cerberus-tm
Copy link

How about an "Undo last uninstallation" button, which remains in the Greasemonkey menu until the browser is closed? That might be nicer than always having to click a confirmation.

@Meriipu
Copy link
Author

Meriipu commented Jan 11, 2021

That might be nicer than always having to click a confirmation.

why not both + an option to disable the confirmation?

@Cerberus-tm
Copy link

Would be fine with me, but probably quite a bit more work for whoever is to think about, write, and maintain the code.

@Meriipu
Copy link
Author

Meriipu commented Jan 11, 2021

The long-term undo sounds like the most complex option, since the script has to be stored.
What happens if the browser crashes, for instance?

@makyen
Copy link

makyen commented Jan 11, 2021

Just a confirm is usually fairly easy to implement and is beneficial where something irreversible is being done. "Undo" is nice, but substantially more complex and the user can effectively implement that on their own by making a backup. If you really want, the confirm could offer to make a backup as an additional option prior to deletion.

Confirms usually only become a pain if it's on something that you're doing repetitively. In such cases, they can become harmful, as the user is trained to always just click-through the confirmation, which can lead to ignoring other confirmations. If we're concerned about the case of a user deleting multiple scripts at a time, and thus getting frustrated with multiple confirms, then the confirmation dialog could have an option to not show the confirmation again while the popup is open, until the browser restarts, or forever, depending on what people feel is appropriate.

esperecyan added a commit to esperecyan/greasemonkey that referenced this issue May 25, 2022
to be able to use external editor.

Resolves greasemonkey#2513 , resolves greasemonkey#3048 , resolves greasemonkey#2666 , resolves greasemonkey#2710 , resolves greasemonkey#2738 , resolves greasemonkey#2737 , resolves greasemonkey#2736 , resolves greasemonkey#2735 , resolves greasemonkey#3098 , and resolves part of greasemonkey#2669 and greasemonkey#3115 .
esperecyan added a commit to esperecyan/greasemonkey that referenced this issue May 27, 2022
to be able to use external editor.

Resolves greasemonkey#2513 , resolves greasemonkey#3048 , resolves greasemonkey#2666 , resolves greasemonkey#2710 , resolves greasemonkey#2738 , resolves greasemonkey#2737 , resolves greasemonkey#2736 , resolves greasemonkey#2735 , resolves greasemonkey#3098 , and resolves part of greasemonkey#2669 and greasemonkey#3115 .
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants