Fox2Code / FoxMagiskModuleManager

A module manager for Magisk because the official app dropped support for it
GNU Lesser General Public License v3.0
2.19k stars 131 forks source link

[Suggestion] Ability to silence/ignore update notifications for specific modules and/or versions #272

Closed ElectricBacon closed 1 year ago

ElectricBacon commented 1 year ago

I'd like to suggest the inclusion of a new feature for the app. Users should be able to prevent update notifications from appearing for specific modules or versions.

Here's the issue I've encountered: One of my modules has an update that fails to install every time I try. I've already done some troubleshooting as well as attempt to install via Magisk and TWRP. Nothing works, so I'm guessing the module update is just bugged or incompatible. Either way, I can deal with that, but FMMM keeps nagging me about it.

I'm aware that global app notifications can be toggled, but this isn't what I'm referring to. I want to select individual modules to ignore, while still receiving update notifications for all of my other modules. Included with this feature should be the ability to ignore all future updates of a module or only one update. Maybe even an option to silence some/all updates for a defined period of time (e.g. 1 day, 1 week, 3 months, etc.) or any time the user specifies manually.

Fox2Code commented 1 year ago
  1. Which modules do you wish to silence update notification for?
  2. What do you think the interface for such feature should look like?
ElectricBacon commented 1 year ago

@Fox2Code

  1. Which modules do you wish to silence update notification for?

The module that's giving me trouble is DJS (Daily Job Scheduler) by VR25. The latest version (v2021.12.14) won't install, giving me an error. The version prior (v2021.11.3) installed just fine though.

  1. What do you think the interface for such feature should look like?

The interface doesn't need to be complicated. It would be convenient for the user if we could choose which module to temporarily/permanently ignore directly from the list of upgradable modules. An extra button could be added to the module card. The button might open up a simple menu or page, saying "Silence [mute/snooze/prevent/ignore/disable/(etc.)] update notifications for this module for:" followed by a list of time periods for the user to select. If it's a menu pop-up, a drop-down list would probably be more practical. If it's a full page, maybe a bullet-point selection list would work.

As for an icon to pair with the button, something similar to snooze :zzz: or a crossed out notification bell :no_bell: might work. Audio/Video icons are a good option as well. Pause :pause_button:, Play or Pause :play_or_pause_button:, Stop :stop_button:, Mute :mute:.

It appears there's very little space to put an extra button. However, if you want to go that route, maybe the "Description" button could be moved to appear next to the module title just as an icon. Personally, I think it would be better from a usability & design perspective to remove the description button entirely. Instead, its function could be applied to the entire card itself, sparing the buttons row at the bottom to prevent accidental taps.

I actually have a second consideration on how to implement this feature. You could include either concept or both. In the settings menu, under the "Repos" section, there's a slider that toggles global update notifications. When updates are enabled, an extra hidden setting could be made visible underneath. Here's a similar example from the app F-Droid. Note: these are 2 images jointed together into 1. iMarkup_20230111_184341_0.png

The hidden setting might be titled "Don't notify for selected modules". Instead of the setting always being visible, like in my example, it crossed my mind to literally hide it, rather than greying it out, while update notifications are toggled off. Just a thought.

I'm not great with programming, so the help I can offer there is limited. However, if you decide to add this feature, I would be glad to provide feedback and further suggestion prior to its release. Feel free to let me know.