thingnotok / obsidian-toggle-list

This is a simple plugin for Obsidian to overwrite the default behavior of toggle checkbox status. Also, it offers a simple way to toggle through frequently used attributes: task states, task tags, highlighted list, etc.
MIT License
44 stars 7 forks source link

Toggle List v1.2.6 has been officially deprecated from the Obsidian Community Plugins list #37

Open liamcain opened 2 months ago

liamcain commented 2 months ago

Hi,

The Obsidian team has received several reports of this plugin causing users to have their custom hotkeys erased (#36). We have investigated the claims and reviewed the offending code.

This plugin is manipulating a private Obsidian API (customKeys) which stores a user's customized hotkey settings. This plugin is making an assumption that the onload function is only called before Obsidian finishes initializing. This is not the case. When this plugin is initially installed, a user's hotkeys are immediately wiped out. If the user then goes to customize any hotkey, all their customizations will be overridden and their settings will be lost.

This issue came to our attention when users upgraded to the latest Insider version of Obsidian where we changed the loading sequence for hotkeys and plugins. This issue is not specific to the insider and the offending code affects all users of the plugin.

As a preventative measure, we have marked the current version of your plugin as deprecated. Any user with this version installed will receive a notice that the plugin has been disabled.


To resolve, please remove the code that modifies customKeys and release a new version of the plugin.

trdischat commented 2 months ago

The Obsidian team has received several reports of this plugin causing users to have their custom hotkeys erased (#36).

To be clear, @liamcain, ToggleList is not erasing any custom hotkeys. It is just preventing them from loading when Obsidian launches.

Also, this behavior only started with Obsidian 1.7.0. There was no problem with hotkeys in Obsidian 1.6.7.

hy4l commented 2 months ago

receive a notice and advised to disable the plugin

It's not true. My 🟣Obsidian 1.6.7 just switched it off and there is no way to switch it on again

hy4l commented 2 months ago

Is there a way to force it to work? Do I have to downgrade my 🟣Obsidian to older version than 1.6.7? Is there a workaround?

xarx00 commented 2 months ago

@hy4l The way I've enabled the plugin again (I hope that this will be only a temporary solution):

  1. Turn Obsidian off.
  2. In your notes folder find /.obsidian/plugins/obsidian-toggle-list/manifest.json and change there the id value.
  3. In /.obsidian/hotkeys.json replace all occurences of obsidian-toggle-list with your new id value.
  4. Start obsidian again.
  5. Enable the plugin.
doublethefish commented 2 months ago

Interesting, but a questionable choice by the Obsidian to disable this plug-in without more information.

I also experienced the same types of issue with, it seemed, lazy-plugin disabling some of my HotKeys, but that was on OSX, and this bug is for windows-only.

See: https://github.com/alangrainger/obsidian-lazy-plugins/issues/6

Anyway, I think I have a fix, although I don't have time to test it at-all properly, and will submit a PR against the #36 . Done, PR is #38 .

This bug depended on plug-in load order. If toggle-list was loaded first, you wouldn't see the bug, if it was loaded last you would see it every time. It was exacerbated by lazy-plugins because that changes the load order.

vinispira commented 2 months ago

Thank you @doublethefish, my life depends on this plugin!!! Kkkk

liamcain commented 2 months ago

I have edited the post to provide a bit more context around what the issue is and why we deemed it severe enough to mark the latest plugin version as deprecated.

vismayagrawal commented 2 months ago

@hy4l The way I've enabled the plugin again (I hope that this will be only a temporary solution):

  1. Turn Obsidian off.
  2. In your notes folder find /.obsidian/plugins/obsidian-toggle-list/manifest.json and change there the id value.
  3. In /.obsidian/hotkeys.json replace all occurences of obsidian-toggle-list with your new id value.
  4. Start obsidian again.
  5. Enable the plugin.

Hi @hy4l,

This workaround not working for me. Once I start obsidian again, obsidian treats the plugin as not installed at all. When I install the plugin, it overrides my 'id' value edit.

Please let me know where I am making the mistake. Thanks!

filcuk commented 2 months ago

You can use BRAT plugin to specify a plugin release you want to freeze

doublethefish commented 2 months ago

@xarx00 @vismayagrawal as it's just the version that's been deprecated you can just bump the version in the manifest file; it's much simpler and you don't need to update the hotkeys (etc.).

In .obsidian/plugins/obsidian-toggle-list/manifest.json change the line with "version": "1.2.6", to "version": "1.2.7",.

hy4l commented 2 months ago

Interesting, but a questionable choice by the Obsidian to disable this plug-in without more information.

@doublethefish I was surprised with that decision as well. Somewhat it reminds me Apple style of dealing with issues. I use 🟣Obsidian for over a year and "erasing" custom shortcuts happen to me every 3-4 since I use 🟣Obsidian (W11) until I realized that nothing was erased and I just need to restart 🟣Obsidian again. I never was able to figure out what caused the issue but it's not a new issue for sure and it's at least 10-12 months old.


@xarx00 thx for your tip but I didn't had chance to try it before @vismayagrawal found out that it doesn't work for him. I went with @doublethefish solution and it works fine so far. Thanks to everybody posting in this topic, you are awesome 💖

PS: I stopped 🟣Obsidian auto update and I'm going to wait until it's going to be fixed because without ability to scroll through tasks status with Ctrl + Alt + Shift + 🡇 and Ctrl + Alt + Shift + ⬆ shortcuts my brain loses its flow.

PSS: You can achieve similar functionality with Tasks plugin but instead of keyboard shortcuts you are going to have click through with LMB

vismayagrawal commented 2 months ago

Thanks a lot @doublethefish, it worked! (I tried it on Mac)