<feed xmlns='http://www.w3.org/2005/Atom'>
<title>decky-loader/plugin_loader/plugin.py, branch v3.2.2</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/SteamDeckHomebrew/decky-loader/'/>
<entry>
<title>Work on react frontend loader</title>
<updated>2022-05-13T17:14:47+00:00</updated>
<author>
<name>Jonas Dellinger</name>
<email>jonas@dellinger.dev</email>
</author>
<published>2022-05-13T17:14:47+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/SteamDeckHomebrew/decky-loader/commit/?id=74438a31458af8bddd08d90eacc6d63677bab844'/>
<id>74438a31458af8bddd08d90eacc6d63677bab844</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed callsign debug bug, Fixed process spawn and termination bug</title>
<updated>2022-04-29T18:51:01+00:00</updated>
<author>
<name>marios</name>
<email>marios8543@gmail.com</email>
</author>
<published>2022-04-29T18:51:01+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/SteamDeckHomebrew/decky-loader/commit/?id=89ecca7c30f3898e4b772b7c9786fa58e5bb4ada'/>
<id>89ecca7c30f3898e4b772b7c9786fa58e5bb4ada</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Bug fixes</title>
<updated>2022-04-29T09:52:24+00:00</updated>
<author>
<name>marios</name>
<email>marios8543@gmail.com</email>
</author>
<published>2022-04-29T09:52:24+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/SteamDeckHomebrew/decky-loader/commit/?id=7d74e98f4f8a47daac85b5de1ef6aa29a1637c06'/>
<id>7d74e98f4f8a47daac85b5de1ef6aa29a1637c06</id>
<content type='text'>
- Fixed KeyError in execute_in_tab
- Changed the plugin process dispatch method, this *should* fix that annoying server hang issue.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Fixed KeyError in execute_in_tab
- Changed the plugin process dispatch method, this *should* fix that annoying server hang issue.
</pre>
</div>
</content>
</entry>
<entry>
<title>Callsigns (#37)</title>
<updated>2022-04-18T12:57:51+00:00</updated>
<author>
<name>marios</name>
<email>marios8543@gmail.com</email>
</author>
<published>2022-04-18T12:57:51+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/SteamDeckHomebrew/decky-loader/commit/?id=fa776f0d0b7b4ca7071f0aa912be84e81caf6b61'/>
<id>fa776f0d0b7b4ca7071f0aa912be84e81caf6b61</id>
<content type='text'>
* 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 &lt;werwolv98@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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 &lt;werwolv98@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>fixed passive plugin reload bug and close event loop properly</title>
<updated>2022-04-13T20:50:26+00:00</updated>
<author>
<name>tza</name>
<email>marios8543@gmail.com</email>
</author>
<published>2022-04-13T20:50:26+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/SteamDeckHomebrew/decky-loader/commit/?id=6694d5ab714cd27c88d51e2561a898718f2e8e69'/>
<id>6694d5ab714cd27c88d51e2561a898718f2e8e69</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Added support for passive plugins (that don't implement main.py)</title>
<updated>2022-04-13T19:47:22+00:00</updated>
<author>
<name>tza</name>
<email>marios8543@gmail.com</email>
</author>
<published>2022-04-13T19:47:22+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/SteamDeckHomebrew/decky-loader/commit/?id=f685eeb4207e972d98d5e1f92ec0a74cf38a3f85'/>
<id>f685eeb4207e972d98d5e1f92ec0a74cf38a3f85</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Root plugins (#35)</title>
<updated>2022-04-12T23:14:44+00:00</updated>
<author>
<name>marios</name>
<email>marios8543@gmail.com</email>
</author>
<published>2022-04-12T23:14:44+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/SteamDeckHomebrew/decky-loader/commit/?id=e3d7b50bd91fa092a9d40be3ce016c330f9311ca'/>
<id>e3d7b50bd91fa092a9d40be3ce016c330f9311ca</id>
<content type='text'>
* 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</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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</pre>
</div>
</content>
</entry>
</feed>
