mirror of
https://github.com/SteamDeckHomebrew/decky-loader.git
synced 2026-07-02 07:49:53 +00:00
Compare commits
6 Commits
v2.4.10-pre1
...
v2.4.15
| Author | SHA1 | Date | |
|---|---|---|---|
| 1b6e18bcb3 | |||
| 0ad0016c62 | |||
| a2716449f9 | |||
| 649eed89c9 | |||
| 83680fffa2 | |||
| d695b90baf |
+4
-3
@@ -56,12 +56,15 @@ basicConfig(
|
||||
|
||||
logger = getLogger("Main")
|
||||
|
||||
async def chown_plugin_dir():
|
||||
def chown_plugin_dir():
|
||||
code_chown = call(["chown", "-R", USER+":"+GROUP, CONFIG["plugin_path"]])
|
||||
code_chmod = call(["chmod", "-R", "555", CONFIG["plugin_path"]])
|
||||
if code_chown != 0 or code_chmod != 0:
|
||||
logger.error(f"chown/chmod exited with a non-zero exit code (chown: {code_chown}, chmod: {code_chmod})")
|
||||
|
||||
if CONFIG["chown_plugin_path"] == True:
|
||||
chown_plugin_dir()
|
||||
|
||||
class PluginManager:
|
||||
def __init__(self, loop) -> None:
|
||||
self.loop = loop
|
||||
@@ -87,8 +90,6 @@ class PluginManager:
|
||||
self.loop.create_task(start_systemd_unit(REMOTE_DEBUGGER_UNIT))
|
||||
else:
|
||||
self.loop.create_task(stop_systemd_unit(REMOTE_DEBUGGER_UNIT))
|
||||
if CONFIG["chown_plugin_path"] == True:
|
||||
chown_plugin_dir()
|
||||
self.loop.create_task(self.loader_reinjector())
|
||||
self.loop.create_task(self.load_plugins())
|
||||
|
||||
|
||||
+16
-2
@@ -233,7 +233,7 @@ class Utilities:
|
||||
self.rdt_proxy_server.close()
|
||||
self.rdt_proxy_task.cancel()
|
||||
|
||||
async def enable_rdt(self):
|
||||
async def _enable_rdt(self):
|
||||
# TODO un-hardcode port
|
||||
try:
|
||||
self.stop_rdt_proxy()
|
||||
@@ -243,11 +243,22 @@ class Utilities:
|
||||
self.logger.info("Connecting to React DevTools at " + ip)
|
||||
async with ClientSession() as web:
|
||||
res = await web.request("GET", "http://" + ip + ":8097", ssl=helpers.get_ssl_context())
|
||||
script = """
|
||||
if (!window.deckyHasConnectedRDT) {
|
||||
window.deckyHasConnectedRDT = true;
|
||||
// This fixes the overlay when hovering over an element in RDT
|
||||
Object.defineProperty(window, '__REACT_DEVTOOLS_TARGET_WINDOW__', {
|
||||
enumerable: true,
|
||||
configurable: true,
|
||||
get: function() {
|
||||
return FocusNavController?.m_ActiveContext?.ActiveWindow || window;
|
||||
}
|
||||
});
|
||||
""" + await res.text() + "\n}"
|
||||
if res.status != 200:
|
||||
self.logger.error("Failed to connect to React DevTools at " + ip)
|
||||
return False
|
||||
self.start_rdt_proxy(ip, 8097)
|
||||
script = "if(!window.deckyHasConnectedRDT){window.deckyHasConnectedRDT=true;\n" + await res.text() + "\n}"
|
||||
self.logger.info("Connected to React DevTools, loading script")
|
||||
tab = await get_gamepadui_tab()
|
||||
# RDT needs to load before React itself to work.
|
||||
@@ -259,6 +270,9 @@ class Utilities:
|
||||
self.logger.error("Failed to connect to React DevTools")
|
||||
self.logger.error(format_exc())
|
||||
|
||||
async def enable_rdt(self):
|
||||
self.context.loop.create_task(self._enable_rdt())
|
||||
|
||||
async def disable_rdt(self):
|
||||
self.logger.info("Disabling React DevTools")
|
||||
tab = await get_gamepadui_tab()
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"decky-frontend-lib": "^3.18.8",
|
||||
"decky-frontend-lib": "^3.18.9",
|
||||
"react-file-icon": "^1.2.0",
|
||||
"react-icons": "^4.4.0",
|
||||
"react-markdown": "^8.0.3",
|
||||
|
||||
Generated
+4
-4
@@ -10,7 +10,7 @@ specifiers:
|
||||
'@types/react-file-icon': ^1.0.1
|
||||
'@types/react-router': 5.1.18
|
||||
'@types/webpack': ^5.28.0
|
||||
decky-frontend-lib: ^3.18.8
|
||||
decky-frontend-lib: ^3.18.9
|
||||
husky: ^8.0.1
|
||||
import-sort-style-module: ^6.0.0
|
||||
inquirer: ^8.2.4
|
||||
@@ -30,7 +30,7 @@ specifiers:
|
||||
typescript: ^4.7.4
|
||||
|
||||
dependencies:
|
||||
decky-frontend-lib: 3.18.8
|
||||
decky-frontend-lib: 3.18.9
|
||||
react-file-icon: 1.2.0_wcqkhtmu7mswc6yz4uyexck3ty
|
||||
react-icons: 4.4.0_react@16.14.0
|
||||
react-markdown: 8.0.3_vshvapmxg47tngu7tvrsqpq55u
|
||||
@@ -944,8 +944,8 @@ packages:
|
||||
dependencies:
|
||||
ms: 2.1.2
|
||||
|
||||
/decky-frontend-lib/3.18.8:
|
||||
resolution: {integrity: sha512-tgN35XgfsAePpmlxdCXnJ/TswmDoP2Dh9Ddl49bHbZMX2GV/H+7jT532Rrs/q8D4xX1LN1qA4alZ8Rr4q61PVg==}
|
||||
/decky-frontend-lib/3.18.9:
|
||||
resolution: {integrity: sha512-QNMHDDAHfL+JpvVVte4Vj8iyOqvz/2iyFEknbJ1/Kz7aPTygFUsJp5mq1FDVvVNjfCYfF3fYAaZVqZu3d7pCEA==}
|
||||
dev: false
|
||||
|
||||
/decode-named-character-reference/1.0.2:
|
||||
|
||||
@@ -68,6 +68,7 @@ const PluginCard: FC<PluginCardProps> = ({ plugin }) => {
|
||||
style={{
|
||||
display: 'flex',
|
||||
flexDirection: 'row',
|
||||
margin: '0 0 0 10px',
|
||||
}}
|
||||
className="deckyStoreCardBody"
|
||||
>
|
||||
@@ -77,6 +78,7 @@ const PluginCard: FC<PluginCardProps> = ({ plugin }) => {
|
||||
style={{
|
||||
width: 'auto',
|
||||
height: '160px',
|
||||
borderRadius: '5px',
|
||||
}}
|
||||
src={plugin.image_url}
|
||||
/>
|
||||
@@ -144,12 +146,14 @@ const PluginCard: FC<PluginCardProps> = ({ plugin }) => {
|
||||
display: 'flex',
|
||||
flexDirection: 'row',
|
||||
width: '100%',
|
||||
margin: '10px',
|
||||
}}
|
||||
>
|
||||
<div
|
||||
className="deckyStoreCardInstallButtonContainer"
|
||||
style={{
|
||||
flex: '1',
|
||||
margin: '0 10px 0 0',
|
||||
}}
|
||||
>
|
||||
<DialogButton
|
||||
|
||||
@@ -25,6 +25,7 @@ declare global {
|
||||
NavigateToInvites: Navigation.NavigateToInvites,
|
||||
NavigateToLibraryTab: Navigation.NavigateToLibraryTab,
|
||||
};
|
||||
(Router as unknown as any).deckyShim = true;
|
||||
Object.assign(Router, shims);
|
||||
}
|
||||
} catch (e) {
|
||||
|
||||
Reference in New Issue
Block a user