Commit Graph

19 Commits

Author SHA1 Message Date
suchmememanyskill
fd325ef1cc Add cross-platform support to decky (#387)
* Import generic watchdog observer over platform specific import

* Use os.path rather than genericpath

* Split off socket management in plugin.py

* Don't specify multiprocessing start type

Default on linux is already fork

* Move all platform-specific functions to seperate files

TODO: make plugin.py platform agnostic

* fix import

* add backwards compat to helpers.py

* add backwards compatibility to helpers.py harder

* Testing autobuild for win

* Testing autobuild for win, try 2

* Testing autobuild for win, try 3

* Testing autobuild for win, try 4

* Create the plugins folder before attempting to use it

* Implement win get_username()

* Create win install script

* Fix branch guess from version

* Create .loader.version in install script

* Add .cmd shim to facilitate auto-restarts

* Properly fix branch guess from version

* Fix updater on windows

* Try 2 of fixing updates for windows

* Test

* pain

* Update install script

* Powershell doesn't believe in utf8

* Powershell good

* add ON_LINUX variable to localplatform

* Fix more merge issues

* test

* Move custom imports to main.py

* Move custom imports to after __main__ check 

Due to windows' default behaviour being spawn, it will spawn a new process and thus import into sys.path multiple times

* Log errors in get_system_pythonpaths() and get_loader_version() + 

split get_system_pythonpaths() on newline

* Remove whitespace in result of get_system_pythonpaths()

* use python3 on linux and python on windows in get_system_pythonpaths()

* Remove fork-specific urls

* Fix MIME types not working on Windows
2023-03-21 17:37:23 -07:00
Philipp Richter
f1e679c3fb Expose a 'decky_plugin' module to decky plugins (#353)
* Expose a 'decky_plugin' module to decky plugins

* expose decky user home path
* support 'py_modules' python modules in plugins
* allow for a '_migration' method in plugins to have an explicit file
  moving step

* Expose the plugin python module as .pyi stub interface

* Expose system and user python paths to plugins
2023-02-19 14:42:55 -08:00
TrainDoctor
994da868af Add python logging to browser and plugin 2023-01-29 15:16:16 -08:00
TrainDoctor
2e53fb217a Add better handling for unloading of plugins 2023-01-29 13:59:02 -08:00
Philipp Richter
c2b76d9099 Expose useful env vars to plugin processes (#349)
* recommended paths for storing data
* improve helper functions
2023-01-22 16:54:05 -08:00
Nik
0474095a40 Potentially fix locale issues (#284) 2022-12-16 06:23:04 -08:00
TrainDoctor
6346da6fe5 Actually utilize the unload function 2022-10-22 18:44:44 -07:00
TrainDoctor
af51a29055 Added unload hook for plugins. 2022-10-22 18:36:49 -07:00
AAGaming
c774451ff4 don't crash when plugin backends do 2022-09-18 14:51:17 -04:00
Philipp Richter
6f84cf94b5 Fix LimitOverrunError when a lot of data is passed to the backend (fixes #158) (#161)
* Fix LimitOverrunError when a lot of data is passed to the backend

* Raise socket's buffer limit to something more sensible
2022-08-31 10:46:40 -07:00
Chris Simons
b9a87cd785 set gid along with uid (#152) 2022-08-24 17:22:07 -07:00
AAGaming
8b3f569a09 Add plugin updater, notification badge, fixes 2022-08-21 16:41:25 -04:00
AAGaming
162d1b561b fix lockup in _open_socket_if_not_exists, probably fix ci prereleases 2022-07-15 10:34:47 -04:00
Jonas Dellinger
a95bf94d87 fix(loader): multiprocessing.set_start_method once, queue for plugin import 2022-06-13 10:57:16 +02:00
Jonas Dellinger
12f4c7faff fix(loader): eplixcitly set process start method and import fsevents on mac 2022-06-13 10:34:46 +02:00
Jonas Dellinger
71dd0ea449 Cleanup after merge 2022-05-26 13:30:14 +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