Commit Graph

74 Commits

Author SHA1 Message Date
marios
44776b393e added open store button 2022-05-26 21:14:32 +03:00
Jonas Dellinger
ad1f57795e Fix LegacyPlugin 2022-05-26 13:31:18 +02:00
Jonas Dellinger
71dd0ea449 Cleanup after merge 2022-05-26 13:30:14 +02:00
Jonas Dellinger
a06efc08bc Run build on all branches 2022-05-26 09:33:55 +02:00
Jonas Dellinger
39e56fed3d Switch to inotify, RegexMatchingEventHandler and use set for reloading plugins 2022-05-26 09:29:49 +02:00
marios
4b923c1dc7 display overhaul, compatibility with legacy plugins, fixes 2022-05-26 04:00:18 +03:00
Jonas Dellinger
d23f1ac56c Added support for static assets, remove frontend_bundle field 2022-05-25 21:35:03 +02:00
Jonas Dellinger
74438a3145 Work on react frontend loader 2022-05-13 19:14:47 +02:00
Patrick Kubiak
945db5de47 Use unique ids in call_server_method (#55) 2022-05-10 17:13:53 +03:00
marios
28746e3962 Update README.md 2022-05-04 11:43:28 +03:00
Gabriel Jones
279b1e8c40 Uninstall script addition (#48)
* 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>
2022-05-04 11:42:03 +03:00
marios
89ecca7c30 Fixed callsign debug bug, Fixed process spawn and termination bug v1.2.2 2022-04-29 21:51:01 +03:00
marios
7d74e98f4f Bug fixes
- Fixed KeyError in execute_in_tab
- Changed the plugin process dispatch method, this *should* fix that annoying server hang issue.
2022-04-29 12:52:24 +03:00
marios
fe1f6473e9 method call listener retry bug fix, method call response serializaiton 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.
2022-04-26 23:37:01 +03:00
WerWolv
73559ae8c7 Make sure install scripts don't create folders as root v1.2.1 2022-04-22 21:48:36 +02:00
WerWolv
340ea91d1c Fixed calling backend functions after restarting steam 2022-04-22 18:43:52 +02:00
WerWolv
3f3f6bd475 Allow inject_css_into_tab to create more than just a single css rule 2022-04-22 14:30:58 +02:00
WerWolv
4b2f8cd8f5 Make sure old user plugin loader is being removed 2022-04-21 18:03:05 +02:00
WerWolv
604006a7cb Fixed root check 2022-04-21 17:46:53 +02:00
WerWolv
7aa4e9106a Make release script actually work again 2022-04-21 17:44:12 +02:00
marios
fa776f0d0b Callsigns (#37)
* 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>
v1.2.0
2022-04-18 15:57:51 +03:00
WerWolv
4576fed01b Properly delete old user plugin loader service on install 2022-04-13 23:18:58 +02:00
tza
de435e22fb added default value to injector tab run_async 2022-04-14 00:01:35 +03:00
tza
6694d5ab71 fixed passive plugin reload bug and close event loop properly 2022-04-13 23:50:26 +03:00
WerWolv
c084abecfc Fixed install script root access 2022-04-13 22:19:48 +02:00
tza
f685eeb420 Added support for passive plugins (that don't implement main.py) 2022-04-13 22:47:22 +03:00
marios
6250fafa6e Fix release script 2022-04-13 21:50:18 +03:00
WerWolv
efa5dc61c7 Update install scripts to install loader as system service 2022-04-13 12:55:33 +02:00
marios
e3d7b50bd9 Root plugins (#35)
* 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
2022-04-13 02:14:44 +03:00
WerWolv
0359fd966a Use f-strings instead of .format 2022-04-12 22:27:46 +02:00
WerWolv
fe9faefd0b Added functions to inject and remove css from tabs 2022-04-12 21:59:09 +02:00
WerWolv
012274b1a0 Added library function to execute code in a different tab 2022-04-12 21:15:36 +02:00
Spyrex
070d11154f Bundle stylesheets (#34) 2022-04-11 11:48:41 +02:00
Spyrex
02f73b795d Add vscode debugging (#33) 2022-04-11 12:45:00 +03:00
tza
4ffe2fdf24 added sha-256 hash checking to browser 2022-04-09 00:14:15 +03:00
tza
2045bedee3 plugin title bug fix v1.1.0 2022-04-08 13:47:06 +03:00
tza
e35dd5a028 plugin menu title change bug
Fixed a bug where steam would sometimes fire message events on its own, causing them to be displayed as plugin titles.
2022-04-07 23:22:23 +03:00
tza
c65427e693 initial browser/installer commit, injector get_tab and stateful utils
- 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
2022-04-07 22:38:26 +03:00
ttay24
0f14f2707b Added support for including styles/scripts in the header of html files (#29)
* Added support for including styles/scripts in the header of html files

* updated route name
2022-04-07 20:25:03 +03:00
WerWolv
2188aa0343 Moved install commands to new line to make them more readable 2022-04-07 10:20:25 +02:00
WerWolv
3dec82672a Reinject loader if steam got restarted 2022-04-07 09:58:26 +02:00
WerWolv
a3619d1d3a Fixed first plugin button being smaller than the other ones 2022-04-07 09:08:28 +02:00
WerWolv
3a39c88144 Prevent errors from being printed on first install 2022-04-07 01:17:22 +02:00
TrainDoctor
8c0bb20d05 Update readme to show install instructions (#28)
this is for developers/testers
2022-04-07 00:18:42 +02:00
WerWolv
90bd7df52c Tell curl to follow redirection in install command 2022-04-06 20:10:05 +02:00
WerWolv
6644827094 Directly reference install script in install command
Closes #25
2022-04-06 20:07:58 +02:00
tza
fe53bcf127 Change title when inside plugin view 2022-04-06 13:57:21 +03:00
tza
a6943dd7a2 enabled logging, fixed loader refresh bug, removed template 2022-04-06 12:53:19 +03:00
ttay24
85e5554c05 Feature/20 plugins as folders (#24)
* 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
2022-04-06 12:40:11 +03:00
Spyrex
8e315fd24d Disable scrolling for tile_view_iframe (#19) 2022-04-06 01:42:15 +03:00