<feed xmlns='http://www.w3.org/2005/Atom'>
<title>decky-loader/frontend/src/components/settings/pages/testing/index.tsx, 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>Add `key` prop inside `map`  (#867)</title>
<updated>2026-03-23T14:43:00+00:00</updated>
<author>
<name>ynhhoJ</name>
<email>22500212+ynhhoJ@users.noreply.github.com</email>
</author>
<published>2026-03-23T14:43:00+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/SteamDeckHomebrew/decky-loader/commit/?id=1e8bf43e5faddc4f3fb93d0967c18bb920474b47'/>
<id>1e8bf43e5faddc4f3fb93d0967c18bb920474b47</id>
<content type='text'>
* fix: add unique key to list items in TestingVersionList component

* fix: add unique key to PluginCard components in BrowseTab</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* fix: add unique key to list items in TestingVersionList component

* fix: add unique key to PluginCard components in BrowseTab</pre>
</div>
</content>
</entry>
<entry>
<title>Feat: Disable plugins (#850)</title>
<updated>2025-12-30T19:29:08+00:00</updated>
<author>
<name>jbofill</name>
<email>74568881+jessebofill@users.noreply.github.com</email>
</author>
<published>2025-12-30T19:29:08+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/SteamDeckHomebrew/decky-loader/commit/?id=9f586a1b97cf9069fbfbeee17e3909baf9e95f66'/>
<id>9f586a1b97cf9069fbfbeee17e3909baf9e95f66</id>
<content type='text'>
* implement base frontend changes necessary for plugin disabling

* implement frontend diisable functions/ modal

* plugin disable boilerplate / untested

* Feat disable plugins (#810)

* implement base frontend changes necessary for plugin disabling

* implement frontend diisable functions/ modal

---------

Co-authored-by: Jesse Bofill &lt;jesse_bofill@yahoo.com&gt;

* fix mistakes

* add frontend

* working plugin disable, not tested extensively

* fix uninstalled hidden plugins remaining in list

* hide plugin irrelevant plugin setting menu option when disabled

* fix hidden plugin issues

* reset disabled plugin on uninstall

* fix plugin load on reenable

* move disable settings uninstall cleanup

* add engilsh tranlsations for enable/ disable elements

* fix bug where wrong loadType can get passed to importPlugin

* show correct number of hidden plugins if plugin is both hidden and disabled

* fix: get fresh list of plugin updates when changed in settings plugin list

* fix: fix invalid semver plugin version from preventing latest updates

* retain x position when changing focus in list items  that have multiple horizontal focusables

* correction to pluging version checking validation

* make sure disabled plugins get checked for updates

* show number of disabled plugins at bottom of plugin view

* add notice to update modals that disabled plugins will be enabled upon installation

* run formatter

* Update backend/decky_loader/locales/en-US.json

Co-authored-by: EMERALD &lt;hudson.samuels@gmail.com&gt;

* chore: correct filename typo

* chore: change disabled icon

* chore: revert accidental defsettings changes

* format

* add timeout to frontend importPlugin

if a request hangs this prevent it from blocking other plugin loads.
backend diaptch_plugin which calls this for individual plugin load (as opposed to batch) is set to 15s.
other callers of importPlugin are not using timeout, same as before.

* fix plugin update checking loop

---------

Co-authored-by: marios &lt;marios8543@gmail.com&gt;
Co-authored-by: EMERALD &lt;hudson.samuels@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* implement base frontend changes necessary for plugin disabling

* implement frontend diisable functions/ modal

* plugin disable boilerplate / untested

* Feat disable plugins (#810)

* implement base frontend changes necessary for plugin disabling

* implement frontend diisable functions/ modal

---------

Co-authored-by: Jesse Bofill &lt;jesse_bofill@yahoo.com&gt;

* fix mistakes

* add frontend

* working plugin disable, not tested extensively

* fix uninstalled hidden plugins remaining in list

* hide plugin irrelevant plugin setting menu option when disabled

* fix hidden plugin issues

* reset disabled plugin on uninstall

* fix plugin load on reenable

* move disable settings uninstall cleanup

* add engilsh tranlsations for enable/ disable elements

* fix bug where wrong loadType can get passed to importPlugin

* show correct number of hidden plugins if plugin is both hidden and disabled

* fix: get fresh list of plugin updates when changed in settings plugin list

* fix: fix invalid semver plugin version from preventing latest updates

* retain x position when changing focus in list items  that have multiple horizontal focusables

* correction to pluging version checking validation

* make sure disabled plugins get checked for updates

* show number of disabled plugins at bottom of plugin view

* add notice to update modals that disabled plugins will be enabled upon installation

* run formatter

* Update backend/decky_loader/locales/en-US.json

Co-authored-by: EMERALD &lt;hudson.samuels@gmail.com&gt;

* chore: correct filename typo

* chore: change disabled icon

* chore: revert accidental defsettings changes

* format

* add timeout to frontend importPlugin

if a request hangs this prevent it from blocking other plugin loads.
backend diaptch_plugin which calls this for individual plugin load (as opposed to batch) is set to 15s.
other callers of importPlugin are not using timeout, same as before.

* fix plugin update checking loop

---------

Co-authored-by: marios &lt;marios8543@gmail.com&gt;
Co-authored-by: EMERALD &lt;hudson.samuels@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Rewrite router/tabs/toaster hooks (#661)</title>
<updated>2024-08-05T18:07:10+00:00</updated>
<author>
<name>AAGaming</name>
<email>aagaming@riseup.net</email>
</author>
<published>2024-08-05T18:07:10+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/SteamDeckHomebrew/decky-loader/commit/?id=131f0961ff451ec47376483178e092c8d7403b27'/>
<id>131f0961ff451ec47376483178e092c8d7403b27</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>styling fixes for SteamSpinner</title>
<updated>2024-07-04T05:27:22+00:00</updated>
<author>
<name>AAGaming</name>
<email>aagaming@riseup.net</email>
</author>
<published>2024-07-04T05:27:22+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/SteamDeckHomebrew/decky-loader/commit/?id=f73aced45249a25b3e0490907b71fe45dba3b991'/>
<id>f73aced45249a25b3e0490907b71fe45dba3b991</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>port to @decky/ui</title>
<updated>2024-05-12T19:47:08+00:00</updated>
<author>
<name>AAGaming</name>
<email>aagaming@riseup.net</email>
</author>
<published>2024-05-12T19:47:08+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/SteamDeckHomebrew/decky-loader/commit/?id=0b1c0694489b1b74b21c10ad29b59912edeb5e01'/>
<id>0b1c0694489b1b74b21c10ad29b59912edeb5e01</id>
<content type='text'>
TODO: update package.json to match once @decky/ui is on NPM
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
TODO: update package.json to match once @decky/ui is on NPM
</pre>
</div>
</content>
</entry>
<entry>
<title>Add loading bar to testing page and make downloading more robust</title>
<updated>2024-03-01T23:07:51+00:00</updated>
<author>
<name>Party Wumpus</name>
<email>48649272+PartyWumpus@users.noreply.github.com</email>
</author>
<published>2024-03-01T23:07:51+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/SteamDeckHomebrew/decky-loader/commit/?id=11b743a79285d458bf7ef31ac6f1c62ed46d7b86'/>
<id>11b743a79285d458bf7ef31ac6f1c62ed46d7b86</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>make frontend -&gt; backend errors actually work</title>
<updated>2024-02-22T16:38:50+00:00</updated>
<author>
<name>Party Wumpus</name>
<email>48649272+PartyWumpus@users.noreply.github.com</email>
</author>
<published>2024-02-22T16:38:50+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/SteamDeckHomebrew/decky-loader/commit/?id=89a4a69f6da706a0cd8c4036bc1aa4c6e44f6e11'/>
<id>89a4a69f6da706a0cd8c4036bc1aa4c6e44f6e11</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>more major websocket progress</title>
<updated>2024-02-21T06:08:25+00:00</updated>
<author>
<name>AAGaming</name>
<email>aagaming@riseup.net</email>
</author>
<published>2024-02-21T06:08:25+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/SteamDeckHomebrew/decky-loader/commit/?id=6d2e9365c0fb1bea804743245d79a5b97e3af108'/>
<id>6d2e9365c0fb1bea804743245d79a5b97e3af108</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Testing PRs from within decky (#496)</title>
<updated>2024-02-20T21:33:41+00:00</updated>
<author>
<name>Party Wumpus</name>
<email>48649272+PartyWumpus@users.noreply.github.com</email>
</author>
<published>2024-02-15T02:32:58+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/SteamDeckHomebrew/decky-loader/commit/?id=35f6f041c1e800a8df9c222a17c00663ad3c9090'/>
<id>35f6f041c1e800a8df9c222a17c00663ad3c9090</id>
<content type='text'>
* git no work so manually uploading files :(

* argh i wish git was working

* ok next time i'll make git work

* Update updater.py

* git please work next time this took ages without you

* fix me locales

* Update updater.py

* Update en-US.json

* Update updater.py

* Update updater.py

* i wish my python LSP stuff was working

* fix it

* Update updater.py

* Update updater.py

* Only show testing branch as an option if it is already selected

* Initial implementation for fetching the open PRs. Still need testing and a token to complete this.

* Wrong filter capitalization

* Fix a couple of typos in the python backend updater.

* Fix typos pt 3

* This should be the last one

* Prepend the PR version number with PR- to make it clearer that's the PR number.

* Update prettier to the latest version otherwise it will never be happy with the formatting.

* fix merge mistake

* fix pyright errors &amp; type hint most new code

* fix strict pyright errors...

* not sure why my local linter didn't catch this

* Reimplement the logic between PR and artifact build to limit API calls

* Fix pyright errors

* use nightly.link for downloads

* remove accidental dollar sign

* fix various logical errors. the code actually works now.

* set branch to testing when user downloads a testing version

---------

Co-authored-by: Marco Rodolfi &lt;marco.rodolfi@tuta.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* git no work so manually uploading files :(

* argh i wish git was working

* ok next time i'll make git work

* Update updater.py

* git please work next time this took ages without you

* fix me locales

* Update updater.py

* Update en-US.json

* Update updater.py

* Update updater.py

* i wish my python LSP stuff was working

* fix it

* Update updater.py

* Update updater.py

* Only show testing branch as an option if it is already selected

* Initial implementation for fetching the open PRs. Still need testing and a token to complete this.

* Wrong filter capitalization

* Fix a couple of typos in the python backend updater.

* Fix typos pt 3

* This should be the last one

* Prepend the PR version number with PR- to make it clearer that's the PR number.

* Update prettier to the latest version otherwise it will never be happy with the formatting.

* fix merge mistake

* fix pyright errors &amp; type hint most new code

* fix strict pyright errors...

* not sure why my local linter didn't catch this

* Reimplement the logic between PR and artifact build to limit API calls

* Fix pyright errors

* use nightly.link for downloads

* remove accidental dollar sign

* fix various logical errors. the code actually works now.

* set branch to testing when user downloads a testing version

---------

Co-authored-by: Marco Rodolfi &lt;marco.rodolfi@tuta.io&gt;
</pre>
</div>
</content>
</entry>
</feed>
