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

[Feature Request] Show/Hide Sources on a case by case basis #848

Open
JoshKasap opened this issue Dec 22, 2024 · 1 comment
Open

[Feature Request] Show/Hide Sources on a case by case basis #848

JoshKasap opened this issue Dec 22, 2024 · 1 comment
Labels
enhancement New feature or request

Comments

@JoshKasap
Copy link

JoshKasap commented Dec 22, 2024

What feature should be added to Suwayomi?

Each extension can contain 1 or more sources. For example some extensions have a source for all and a source for english. The all source will search the source site and include all potential languages while the english will only show english entries.

webui allows us to filter which sources from each extension we are shown via Browse -> Source Tab -> Settings -> Allowed Languages
then you simply select what you want. Any extension that has a source matching that language will be added to your sources list. However, this is an all or nothing system. If you have 10 extensions that have an english source and you only want to see the english source for one of those extensions then your screwed. You'll have to deal with also seeing the other 9 english sources from the other 9 extensions.

An option to control what sources are shown or hidden sources from an extension on an individual basis would be greatly beneficial.

Here is an outline of how i think this could best be implemented although this is just a suggestion.

The user should be able to apply these extensions via the Browse -> Extensions Tab -> settings Icon per extension

image

By default all sources of an extension would be enabled. So assuming MangaDex had 20 language sources then by default it would say 20/20 sources active. by default these sources also all respect the chosen language filters set via Browse -> Source Tab -> Settings -> Allowed Languages. So even though all 20/20 sources are enabled, if i have the source all and the source english set as my allowed languages then of the 20 sources only the 2 that match would be shown in my Browse -> Source Tab. So a user should be able to go into the settings and disabled English from the sources list for that extension if they wanted. If they did this then in my example the extension would show 19/20 sources active and even though English is selected as a preferred language, the English source for this particular extension would be ignored and not shown.

As you can see in my example we still respect the users choice of preferred language when dealing with what sources they have enabled or disabled. However, I think it's also important to allow the user to override a sources adherence to the set preferred language filters. This is a rough outline of how i imagine the settings for an extensions sources to look.

image

As you can see in this example i added a respect language filter option. In this example I have disabled all languages except all and english but the respect language filter option is enabled for all and disabled for english. If In, Browse -> Source Tab -> Settings -> Allowed Languages, I had all enabled and english disabled then this should result in only the all source being shown normally. However, since my source settings have english enabled and respect language filter disabled, that means the english source for this extension should not be effected by our chosen global language filters. So in this circumstance the english source for this extension will still show in Browse -> Source Tab.

Why/Project's Benefit/Existing Problem

The current system is all or nothing based. I for example often prefer sources that use all and are not language restricted. But an all source is different from an all extension. An all extension my have 20+ sources 1 for each language. But it might not actually have an all source. This can make things cluttered because if you enable all sources and english sources you will often get duplicate source entries for the extensions that have an all source and a english source. Not only does this cause a lot of visual clutter and increases the chance a user mistakenly uses and English source when they mean to use the all source. But is also is every inefficient and can cause slowdown and needless spamming of the source url site when doing global searches. Which can also increase likelihood of ip bans as well. But simply choosing to disabled English from my preferred languages isn't an option because many of my sources don't support an all source so for those I'm forced to interact with the English version. This issue i think is most prominent with people using a mix of all sources with 1 or more xyz language sources since all encompasses every language. However, some extensions language options like other or unspecified which could cause similar issues with users wanting to have more fine control of what sources they actually see.

It's important to note that for my use case I pretty much want only one source active per extension i have enabled. Either the all source if it's supported or the english source if all is not an option. But there 100% will also be users that explicitly want more than one source to show per extension. Like a user who wants an english source and spanish source enabled for the same extension. So any changes made should be able to accommodate both use cases.

My proposed solution I think addresses both while also intuitively incorporating language preferences. Also i think the x/y sources enabled is important to show on the extensions screen since it is possible for a user to disabled all sources effectively disabling an extension without actually disabling it. It could also be an indicator to trouble shoot if a user accidently disabled the wrong language for example.


Edit: another good reason for this change is that it allows you to exclude sources that are currently experiencing issues due to captcha failures. I know this was an issue for me in the past where if a site was failing due to captcha it would make global search slow to a crawl. It would be nice to temporarily disable a source in these cases instead of needing to uninstall the extension.

Also in the edit sources screen, it would be nice to also have a enable/disabled all toggle for both the sources enable status and respect language filter status in order to more quickly make changes.

@JoshKasap JoshKasap added the enhancement New feature or request label Dec 22, 2024
Copy link

@JoshKasap this issue was automatically closed because:

  • Title must start with either "[Feature Request]" or "[Bug]"

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Dec 22, 2024
@JoshKasap JoshKasap changed the title Show/Hide Sources on a case by case basis [Feature Request] Show/Hide Sources on a case by case basis Dec 22, 2024
@Syer10 Syer10 reopened this Dec 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants