The Thunderbird CloudFile/FileLink API needs to have multiple "management" pages for configuring each account the user adds. Each page is the same, but they need to have independent options that are saved to and loaded from storage.
I am aware that part of this can be done with the AutomaticSettings.Trigger.addCustomLoadOverride() and AutomaticSettings.Trigger.addCustomSaveOverride() functions, but it requires a lot of nasty hacks which eliminate many of the benefits of this library. For reference, here is the recommend way to get and set options in these "management" pages without this library. It would also be helpful if the addCustomLoadOverride() function accepted an option group, like the addCustomSaveOverride() function does, instead of having to call it for every individual option.
For example, I would like to use this library to create a FileLink provider for Firefox Send, the end-to-end encrypted file sharing service originally created by Mozilla, which is now called just Send after it was discontinued by Mozilla last year and now maintained by the community.
Here is an example of what these "management" pages look like in Thunderbird's UI:

It is a mockup of the proposed extension with one account. Users can select one of their accounts on the right and then set the options on the left. Everything on the top and left is Thunderbird's UI, while the rest starting with "📤 Thunderbird Send" is the options page.
The Thunderbird CloudFile/FileLink API needs to have multiple "management" pages for configuring each account the user adds. Each page is the same, but they need to have independent options that are saved to and loaded from storage.
I am aware that part of this can be done with the
AutomaticSettings.Trigger.addCustomLoadOverride()andAutomaticSettings.Trigger.addCustomSaveOverride()functions, but it requires a lot of nasty hacks which eliminate many of the benefits of this library. For reference, here is the recommend way to get and set options in these "management" pages without this library. It would also be helpful if theaddCustomLoadOverride()function accepted an option group, like theaddCustomSaveOverride()function does, instead of having to call it for every individual option.For example, I would like to use this library to create a FileLink provider for Firefox Send, the end-to-end encrypted file sharing service originally created by Mozilla, which is now called just Send after it was discontinued by Mozilla last year and now maintained by the community.
Here is an example of what these "management" pages look like in Thunderbird's UI:

It is a mockup of the proposed extension with one account. Users can select one of their accounts on the right and then set the options on the left. Everything on the top and left is Thunderbird's UI, while the rest starting with "📤 Thunderbird Send" is the options page.