YAML is a modern configuration format which is human readable
and supports more conventions than JSON.
However, some people may still prefer to write in JSON, so add the
option for users to write legacy JSON if they want to and to provide
backwards compatability with older plugins.
Signed-off-by: kingbri <bdashore3@proton.me>
Plugin lists are universal across clients and OS-specific cases
should be appropriately handled.
OSes can now be added to the deeplink action case and Ferrite scans
for either iOS-specific or fallthrough actions.
There must be 1 action that corresponds to an OS and/or 1 fallback
case, otherwise the action will not show in the plugins list.
Also remove some extraneous files.
Signed-off-by: kingbri <bdashore3@proton.me>
Make all tasks run in parallel to increase responsiveness and efficiency
when fetching new data.
However, parallel tasks means that toast errors are no longer feasible.
Instead, add a logging system which has a more detailed view of
app messages and direct the user there if there is an error.
Signed-off-by: kingbri <bdashore3@proton.me>
Plugins are now a unified format for both sources and actions. Actions
dictate what to do with a link and can now be added through a plugin
JSON file.
Backups have also been versioned to improve performance and add action
support.
Tags are used to give small amounts of information before a user
installs a plugin.
Signed-off-by: kingbri <bdashore3@proton.me>