diff options
| author | AAGaming <aagaming@riseup.net> | 2024-06-13 17:47:53 -0400 |
|---|---|---|
| committer | AAGaming <aagaming@riseup.net> | 2024-06-13 17:47:53 -0400 |
| commit | 54aecee64e5c549a440127995f94aeb77fb9d0dd (patch) | |
| tree | 9dc1caa3e8fedc4722edb7b53257b1003173d48a | |
| parent | 822b6bcaaa69389aeea815c313fefb20f1a080f7 (diff) | |
| download | decky-loader-54aecee64e5c549a440127995f94aeb77fb9d0dd.tar.gz decky-loader-54aecee64e5c549a440127995f94aeb77fb9d0dd.zip | |
hook up plugin events properly
| -rw-r--r-- | backend/decky_loader/loader.py | 2 | ||||
| -rw-r--r-- | backend/decky_loader/plugin/imports/decky.py | 2 | ||||
| -rw-r--r-- | backend/decky_loader/plugin/plugin.py | 2 | ||||
| -rw-r--r-- | backend/decky_loader/plugin/sandboxed_plugin.py | 2 | ||||
| -rw-r--r-- | frontend/pnpm-lock.yaml | 6 | ||||
| -rw-r--r-- | frontend/src/toaster.tsx | 2 | ||||
| -rw-r--r-- | frontend/src/wsrouter.ts | 6 |
7 files changed, 10 insertions, 12 deletions
diff --git a/backend/decky_loader/loader.py b/backend/decky_loader/loader.py index 2ebbecd9..90c54211 100644 --- a/backend/decky_loader/loader.py +++ b/backend/decky_loader/loader.py @@ -144,7 +144,7 @@ class Loader: try: async def plugin_emitted_event(event: str, args: Any): self.logger.debug(f"PLUGIN EMITTED EVENT: {event} with args {args}") - await self.ws.emit(f"loader/plugin_event", {plugin:plugin.name, event:event, args:args}) + await self.ws.emit(f"loader/plugin_event", {"plugin": plugin.name, "event": event, "args": args}) plugin = PluginWrapper(file, plugin_directory, self.plugin_path, plugin_emitted_event) if plugin.name in self.plugins: diff --git a/backend/decky_loader/plugin/imports/decky.py b/backend/decky_loader/plugin/imports/decky.py index 384c3860..94c3b57a 100644 --- a/backend/decky_loader/plugin/imports/decky.py +++ b/backend/decky_loader/plugin/imports/decky.py @@ -206,6 +206,8 @@ logging.basicConfig(filename=DECKY_PLUGIN_LOG, format='[%(asctime)s][%(levelname)s]: %(message)s', force=True) logger: logging.Logger = logging.getLogger() +# Also log to stdout +logger.addHandler(logging.StreamHandler()) """The main plugin logger writing to `DECKY_PLUGIN_LOG`.""" logger.setLevel(logging.INFO) diff --git a/backend/decky_loader/plugin/plugin.py b/backend/decky_loader/plugin/plugin.py index aff35e5c..61b5ca4f 100644 --- a/backend/decky_loader/plugin/plugin.py +++ b/backend/decky_loader/plugin/plugin.py @@ -90,7 +90,7 @@ class PluginWrapper: return await request.wait_for_result() - async def execute_method(self, method_name: str, args: List[Any]): + async def execute_method(self, method_name: str, *args: List[Any]): if self.passive: raise RuntimeError("This plugin is passive (aka does not implement main.py)") diff --git a/backend/decky_loader/plugin/sandboxed_plugin.py b/backend/decky_loader/plugin/sandboxed_plugin.py index cb149816..7e618590 100644 --- a/backend/decky_loader/plugin/sandboxed_plugin.py +++ b/backend/decky_loader/plugin/sandboxed_plugin.py @@ -166,7 +166,7 @@ class SandboxedPlugin: d: SocketResponseDict = {"type": SocketMessageType.RESPONSE, "res": None, "success": True, "id": data["id"]} try: - if data["legacy"]: + if data.get("legacy"): if self.api_version > 0: raise Exception("Legacy methods may not be used on api_version > 0") # Legacy kwargs diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index 5c5ce0ac..edcb93c1 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -7,7 +7,7 @@ settings: dependencies: '@decky/ui': specifier: ^4.0.2 - version: 4.0.2 + version: link:../../lib filesize: specifier: ^10.1.2 version: 10.1.2 @@ -335,10 +335,6 @@ packages: resolution: {integrity: sha512-YChHjlk//lOiIM2tlNSd6Qk9aduFJOtG+uRv1JaTzLewPRj4dDeupC+mbJJfarMGYa4nsLnJ6BsubTqboeb+VQ==} dev: true - /@decky/ui@4.0.2: - resolution: {integrity: sha512-sU1Dz2dOyysEcXus3iix/7lgaR3V8H/0VPUHuQkiD7CibPw1ksUDYR2DUwNo48S0Pe4D4nDp9hOEOFyfrWWLDw==} - dev: false - /@esbuild/aix-ppc64@0.20.2: resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} engines: {node: '>=12'} diff --git a/frontend/src/toaster.tsx b/frontend/src/toaster.tsx index 7f08cb01..7b93c91c 100644 --- a/frontend/src/toaster.tsx +++ b/frontend/src/toaster.tsx @@ -79,7 +79,7 @@ class Toaster extends Logger { }; instance = findToasterRoot(tree, 0); while (!instance) { - this.error( + this.warn( 'Failed to find Toaster root node, reattempting in 5 seconds. A developer may need to increase the recursion limit.', ); await sleep(5000); diff --git a/frontend/src/wsrouter.ts b/frontend/src/wsrouter.ts index 75d74cde..00d0bd2e 100644 --- a/frontend/src/wsrouter.ts +++ b/frontend/src/wsrouter.ts @@ -136,7 +136,7 @@ export class WSRouter extends Logger { if (this.runningCalls.has(data.id)) { this.runningCalls.get(data.id)!.resolve(data.result); this.runningCalls.delete(data.id); - this.debug(`Resolved PY call ${data.id} with value`, data.result); + this.debug(`[${data.id}] Resolved PY call with value`, data.result); } break; @@ -145,7 +145,7 @@ export class WSRouter extends Logger { let err = new PyError(data.error.name, data.error.error, data.error.traceback); this.runningCalls.get(data.id)!.reject(err); this.runningCalls.delete(data.id); - this.debug(`Rejected PY call ${data.id} with error`, data.error); + this.debug(`[${data.id}] Rejected PY call with error`, data.error); } break; @@ -183,7 +183,7 @@ export class WSRouter extends Logger { this.runningCalls.set(id, resolver); - this.debug(`Calling PY method ${route} with args`, args); + this.debug(`[${id}] Calling PY method ${route} with args`, args); this.write({ type: MessageType.CALL, route, args, id }); |
