| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Create uninstall.sh
* Update uninstall.sh
First pass for a version that looks similar to the install scripts
* Update readme with uninstall info
Add uninstall script info to readme
* Update dist/uninstall.sh
Only remove services for now
Co-authored-by: TrainDoctor <11465594+TrainDoctor@users.noreply.github.com>
* Adjust echo to accurately reflect script actions
No longer deletes installed plugins, adjusted echo to match actions.
Co-authored-by: TrainDoctor <11465594+TrainDoctor@users.noreply.github.com>
|
|
|
|
- Fixed KeyError in execute_in_tab
- Changed the plugin process dispatch method, this *should* fix that annoying server hang issue.
|
|
failure fix,
- Added retry logic to the QuickAccess tab fetching in the method call listener.
- Added exception handling, in case a plugin method returns something that can't be serialized as JSON.
- Changed a few log calls from info to debug to prevent spam
- Added a filter for asyncio base_event log records, since they get spamy and don't provide any useful info most of the time. This can be turned off with the LOG_BASE_EVENTS envar.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Plugin callsigns, filechangehandler thread bug fix, plugin file perms
- Plugins are now assigned a callsign (a random string), which they use for all internal identification, like resource fetching and method calls. This is to ensure that plugins only access their own resources and methods.
- Made FileChangeHandler send off events to a queue, that is then consumed by the Loader, instead of calling import_plugin on its own, since that caused weird issues with the event loop and the thread watchdog is using.
- Plugins are now owned by root and have read-only permissions. This is handled automatically.
* Improved general look and feel of plugin tab
* Make all plugin entries have the same padding between them
* Make "No plugins installed" text look the same as "No new notifications"
Co-authored-by: WerWolv <werwolv98@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* root plugins
plugins can now specify if they want their methods to be ran as root. this is done via the multiprocess module. method calls are delegated to a separate process that is then down-privileged by default to user 1000, so the loader can safely be ran as root
except it isn't really safe because the plugin is imported as root anyway
* working implementation
- follows the new plugin format with the plugin.json file
- plugins are loaded in their own isolated process along with their own event loop and unix socket server for calling methods
- private methods are now prepended with _ instead of __
* converted format to f-strings
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fixed a bug where steam would sometimes fire message events on its own, causing them to be displayed as plugin titles.
|
|
- Integrated plugin downloader/installer. It accepts POST requests at /browser/install_plugin, containing an artifact (basically an author/repo string like you'd find on github), and a release version, then fetches the zip file from the repo releases and unzips it inside the plugin dir, after asking for user confirmation (pop-up message in the plugin menu).
- Injector get_tab method. Basically get_tabs with the usual search for a specific tab. Decided to implement this because it was needed again and again, and we kept pasting the same list search one-liner.
- Utilities now have access to the main PluginManager class
|
|
* Added support for including styles/scripts in the header of html files
* updated route name
|
|
|
|
|
|
|
|
|
|
this is for developers/testers
|
|
|
|
Closes #25
|
|
|
|
|
|
* updated loader to watch directories correctly and pull in main.py; also made sure we pull in main.py; WIP on pulling in the template correctly
* Making other changes to support pulling in templates from other pages
|
|
|
|
|