Closed Bug 541719 Opened 12 years ago Closed 2 months ago

Uninstall Plugin command

Categories

(SeaMonkey :: Chat, enhancement)

enhancement
Not set
normal

Tracking

(seamonkey2.53+ fixed)

RESOLVED FIXED
seamonkey 2.89
Tracking Status
seamonkey2.53 + fixed

People

(Reporter: bugzilla-mozilla-20000923, Assigned: iann_bugzilla)

References

Details

(Whiteboard: SM2.53.9)

Attachments

(1 file, 1 obsolete file)

Users can install plugins, but not uninstall them. We should allow them to do this by disabling the script, removing the directory it is in, and marking the plugin entry (in client.plugins) as "removed" in some way, such that any attempt to enable/disable it says it is removed. It should allow /install-plugin to *work* in this situation (and this would form the basis for upgrading plugins).
It's worse than that; it leads to users being trapped with insecure and buggy plugins.

For example, a PC I use at work (running Windows 7) has, already installed, a plugin named "Unity Player 3.5.0.43544".  When I go into the Addons -> Plugins screen, I get a warning that the plugin is known to be insecure, and I should update it to the latest version, and it gives me a link to do so.

The link, however, takes me directly to
   https://addons.mozilla.org/en-US/firefox/blocked/p556
which is a Mozilla "lockout" page.  Apparently Mozilla's dev team has decided that even the latest version of Unity Player is so unsafe, it won't allow anybody to install it, even as an update.  But they are such geniuses that they won't allow me to remove the old version either (including by upgrading to what must be a somewhat safer current version).
John,

probably you are in a wrong bug. 
cZ is an addon and it has own plugin feature named cZplugin.
it's totally independent from amo.
do not confuse cZplugin with java or flash plugins. Same name - different stuff.
In reply to comment #1:

"Netscape" plugins, as they used to be called (if this is what it is), can be installed in avariety of places, and a single copy is normally enough for not only Firefox and SeaMonkey but also any other non-IE application such as Opera, Konqueror or Safari. These plugins are visible in about:plugins, in the Plugins tab of the add-ons manager, and the latter allows disabling them for the current Gecko/Toolkit application by turning their rolldown widget to "Never activate". I think this is the kind of plugin which bothers you.

ChatZilla "plugins" are actually scripts, they are not visible in the add-ons manager, but the ChatZilla command /list-plugins lists them. They can be disabled by /disable-plugin but only for the current session. This can be worked around by using a /disable-plugin command as part of the startup autocommands if so desired; AFAIK the only way ATM to permanently remove a cZ plugin is to manually remove its directory (a subfolder of <profile>/chatzilla/scripts/ where <profile> should be replaced by the path to your SeaMonkey, xulrunner or Firefox profile as appropriate) with all its contents. Additional actions may be required to clear it away from the plugin metadata.

In reply to comment #0: maybe define a new command, /uninstall-plugin ?
Assignee: rginda → nobody
Component: ChatZilla → Chat
Product: Other Applications → SeaMonkey
Assignee: nobody → iann_bugzilla
Status: NEW → ASSIGNED
Depends on: 1718428

[Approval Request Comment]
Regression caused by (bug #): n/a
User impact if declined: no way from within cZ to uninstall plugins
Testing completed (on m-c, etc.): 2.53.9
Risk to taking this patch (and alternatives if risky): small
String changes made by this patch: 3 new strings

This patch:

  • Adds /uninstall-plugin <plugin> command
  • Creates helper to be used by both cmdLoad and cmdUninstallPlugin to shutdown a plugin
  • Creates client helper for use by cmdUninstallPlugin and for potential future UI use
Attachment #9229110 - Flags: review?(frgrahl)
Attachment #9229110 - Flags: approval-comm-release?
Attachment #9229110 - Flags: approval-comm-esr60?

Comment on attachment 9229110 [details] [diff] [review]
541719-irc-uninstall-plugin-2539.patch

function disableOldPlugin(plugin) and function cmdDisablePlugin(e) look very similar. Maybe they can be merged in a future version. I assume the different prefManager steps are needed.

But if you look at the command flow it is basically the same but mixed up.

else if ("disablePlugin" in plugin.scope) ... else
versus
else if (!("disablePlugin" in e.plugin.scope)) .. else

I would at least change the if else flow in disableOldPlugin(plugin) to match the other for uniformity.

r/a+ with this changed.

Attachment #9229110 - Flags: review?(frgrahl)
Attachment #9229110 - Flags: review+
Attachment #9229110 - Flags: approval-comm-release?
Attachment #9229110 - Flags: approval-comm-release+
Attachment #9229110 - Flags: approval-comm-esr60?
Attachment #9229110 - Flags: approval-comm-esr60+

Changes since last version:

  • Tweak helper for disabling plugins;
  • Make cmdDisablePlugin use tweaked helper
Attachment #9229110 - Attachment is obsolete: true
Attachment #9231784 - Flags: review?(frgrahl)
Attachment #9231784 - Flags: approval-comm-release?
Attachment #9231784 - Flags: approval-comm-esr60?

Pushed by frgrahl@gmx.net:
https://hg.mozilla.org/comm-central/rev/1c37b58a33ff
Uninstall Plugin command. r=frg

Status: ASSIGNED → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Whiteboard: SM2.53.9
Target Milestone: --- → seamonkey 2.89

Comment on attachment 9231784 [details] [diff] [review]
541719-irc-uninstall-plugin-v1_1-2539.patch

Grumpf. Moved it to my checkin dir but forgot to r/a+ again.

LGTM

Attachment #9231784 - Flags: review?(frgrahl)
Attachment #9231784 - Flags: review+
Attachment #9231784 - Flags: approval-comm-release?
Attachment #9231784 - Flags: approval-comm-release+
Attachment #9231784 - Flags: approval-comm-esr60?
Attachment #9231784 - Flags: approval-comm-esr60+
You need to log in before you can comment on or make changes to this bug.