Feature request/Discussion : A button to disable ALL plugin(s) in the plugin tab

Currently if I want to disable a plugin, I need to go to the control panel, then click on the title of the plugin I want to disable (or use the toggle), then it open a tiddler, I can disable the plugin, and finally I need to close the tiddler (or the slider).

It takes 3 clicks to disable one plugin, in my opinion that’s a lot !

This is fine with one or two plugins, but my wiki has currently 15 plugins. Sometimes, I want to test a new plugin, but there is an issue with another and I have to disable them all and enable them one by one in order to find the culprit (15 * 2 * 3 = 90 clicks !). I know that it’s possible to run tiddlywiki in “safe” mode but it’s a hidden feature and it disable all plugins…

It would be nice if we had a button or a checkbox directly next to the name of the listed plugin, and maybe a button to disable all plugins except the core plugin.

What do you all think ? If others agree with me then I’ll open an issue on GitHub.

EDIT: I made a quick modification to $:/core/ui/Components/plugin-info to move the disable button next to the title of the plugin

$ _core_ui_Components_plugin-info.tid (4.2 KB)

2 Likes

I say go for it. It’s a no-brainer.

Ok, I’ll make a PR (since it’s easier to implement than I thought). Thanks for your input !

Hi @telumire
I would recommend to have a look at https://tiddlywiki.com/#SafeMode
Tiddlywiki has a safemode, where it disables all plugins and other customizations!

In someways creating such a button is trivial. I could do one right now. However to me if this is to be concidered a change or addition to core it seems a little reflection about the context in which it is to be used like the identifying of plugins for debuging. For example first disabling half of the plugins then the other half and so forth. Using the binary search method to track down the ofending plugin.

I know, I talk about it in my post :slight_smile: It’s not ideal because it disable all plugins, and usually I want to keep as much customization as possible to check if the plugins are working as intended.

It is, I made one a few minutes after creating this thread and joined it to my post. I need to work on the CSS and I’ll make a PR, probably this evening :slight_smile:

I think a selection method like what is done in gmail for example would be ideal, with a checkbox for each plugin, one for all and the ability to check/uncheck several plugins with left click and shift. That way it would be very easy and fast to disable half of the plugins !

1 Like

@telumire Did you create a PR for this feature request. I also think this is a essential feature. I was about to post this question now, but found your post by the discourse auto suggestions.

Is this option available in the tid file you shared ? I couldnt find it

Some fresh thoughts since @arunnbabu81 has reactivated this thread.

Disabling all plugins is already a feature of safe mode however it would be trivial to add a list of active plugins providing a yes/no toggle for example
$:/config/Plugins/Disabled/$:/plugins/tiddlywiki/evernote = yes disables the plugin $:/plugins/tiddlywiki/evernote.

One useful approach when debugging tiddlywiki is a systematic elimination of the plugin that causes the problem by incrementally disabling or enabling plugins.
One way is to use a binary search -

  • disable half
    • is the problem still occurring?, enable this half disable the other half ?
    • is the problem no longer occurring?, enable half of the disabled plugins

It seems then that a set of plugin or debug tools may be a more suitable solution here, even provided in a core plugin for application when needed.

  • It could be in part based on a “select multiple” so you could use click, shift-drag and ctrl to select the plugins to disable
  • Alternatively a bespoke tool for this binary search method would provide a useful guide,
    • it may allow invert selection and divide selections allowing for a rapid debug process. If we do this it could be generalised as a useful tool for general list manipulations.
;Disabled plugins
<$list filter="[all[shadows+tiddlers]plugin-type[plugin]sort[]] -[[$:/core]]">
   <$checkbox tiddler={{{ [all[current]addprefix[$:/config/Plugins/Disabled/]] }}} field="text" checked="yes" unchecked="no" default="no"> {{!!name}}</$checkbox> <$link>🔎</$link>
  <br>
</$list>

Snag_b278c8

2 Likes

I did not, I started working on it then got sidetracked ahah … The tiddler I shared only move the disable button to be directly available, I started working on a “disable all” toggle but I had some issues with the CSS styling to keep a good contrast whatever the selected theme is.

If someone want to do the PR, please do ! If not then I will, but I dont know when. I’ll update this thread when I do !

1 Like