stable-diffusion-webui icon indicating copy to clipboard operation
stable-diffusion-webui copied to clipboard

[Feature Request]: Make installed extensions use preferred names

Open Kettukaa opened this issue 2 years ago • 8 comments

Is there an existing issue for this?

  • [X] I have searched the existing issues and checked the recent builds/commits

What would your feature do ?

The extensions listed under the "Available" tab all use the pretty name from Extension-index.md, but the extensions under "Installed" do not. I believe that making the extensions use their clean names could be cleaner.

For instance, under Catppuccin naming conventions, the Catppuccin theme repo is just called "stable-diffusion-webui". Under "Available" the extension comes up at "Catppuccin Theme", but under "Installed" it just shows up as "stable-diffusion-webui". This could cause confusion.

In general, keeping naming parity between the two tabs will make things more clear. This can either be done by checking the index for preferred names, or by giving developers an option to give preferred names in their repos.

Proposed workflow

If the extension index option cannot be used, then I propose allowing extension developers to make "extension-info.yaml" files, where they can populate it with information.

  1. Devs create extension-info.yaml
  2. Populate file with info
info:
 name: "..."
 description:  "..."
}
  1. The yaml info is read by WebUI and written to the extension/installed tab.

Additional information

No response

Kettukaa avatar Feb 04 '23 21:02 Kettukaa

I do agree that an extension should have a destination directory named properly, avoiding the Catppuccin situation, which should have been instead installed inside a stable-diffusion-webui-catppuccin directory, by example.

Harvester62 avatar Feb 05 '23 14:02 Harvester62

This also streamlines how extensions can be added to the extension index. Whoever adds them manually doesn't have to come up with reasonable names and descriptions. These names and descriptions can be pulled directly from the proposed yaml file. This can be extended to further functionality too: one could add a category field (script, tab, etc), a purpose (?) field (theme, post process, training, etc), a version field (1.0.3, beta-1.3, etc), and so on.

Kettukaa avatar Feb 08 '23 17:02 Kettukaa

So, if I rename the destination folder when or after cloning an extension's repository will it be parsed for checking updates when pressing the button in the SD Web UI? Using an extension's folder name different from what is recorded in the Extensions Index might overlook it the Check for Updates parsing? I am just asking.

Harvester62 avatar Feb 09 '23 07:02 Harvester62

the easiest solution would be to add a new field in the json index that would act as an override for the dir not a perfect / future proof solution, but it should should be good enough for the current situation

w-e-w avatar Feb 18 '23 13:02 w-e-w

the easiest solution would be to add a new field in the json index that would act as an override for the dir not a perfect / future proof solution, but it should should be good enough for the current situation

@w-e-w Yeah that could potentially work for the time being. Though I do think giving devs the ability to easily add/edit names is a really good idea.

Kettukaa avatar Feb 21 '23 03:02 Kettukaa

Returning the conversation here. @w-e-w it seems like changing the name of the repo is unfortunately a no-go. Seems to be an enforced rule of the Catppuccin org :/ A fix would have to lie here. Any ideas on what needs to be done to make this happen? All that really needs to happen is to formalize this "extension-info.yaml" file and add a way for the extension tab to display the preferred name, and not the cloned name.

Kettukaa avatar Feb 28 '23 05:02 Kettukaa

*Or using the name in the json index

Kettukaa avatar Feb 28 '23 05:02 Kettukaa

In my opinion the extension-info.yaml is a good solution, but it will require a bigger rework of the extensions tab also every one will have to be onboard with the idea

in the meantime the json override would be easier, also a small change will have a higher chance of being accepted by AUTO

whichever solution someone will have to muster the energy to do it since I am on holiday, it will be sometime for me work on it, maybe someone else will beat me to it as of now it's not a major problem, so it can waite

w-e-w avatar Feb 28 '23 07:02 w-e-w

that was the best idea to stay in time, it seems like an idea from someone who works for mocosoft

TresDtres avatar May 16 '23 11:05 TresDtres