From dee8ec8ceda805ba51e1c79739b8a1e3d4838fe7 Mon Sep 17 00:00:00 2001 From: Neko Ayaka Date: Fri, 3 Oct 2025 16:33:32 +0800 Subject: [PATCH] feat(stage-tamagotchi): debugger Co-authored-by: Makito <5277268+sumimakito@users.noreply.github.com> --- apps/stage-tamagotchi/src/main/index.ts | 36 +++++++++++++++++++ .../renderer/components/Settings/CheckBar.vue | 29 --------------- .../ResourceStatusIsland/LoadingModules.vue | 2 +- .../{Tauri => }/WindowRouterLink.vue | 0 .../src/renderer/pages/index.vue | 19 ++++++++-- 5 files changed, 53 insertions(+), 33 deletions(-) delete mode 100644 apps/stage-tamagotchi/src/renderer/components/Settings/CheckBar.vue rename apps/stage-tamagotchi/src/renderer/components/{Tauri => }/WindowRouterLink.vue (100%) diff --git a/apps/stage-tamagotchi/src/main/index.ts b/apps/stage-tamagotchi/src/main/index.ts index f778b0d91..4410db2d2 100644 --- a/apps/stage-tamagotchi/src/main/index.ts +++ b/apps/stage-tamagotchi/src/main/index.ts @@ -1,3 +1,5 @@ +import http from 'node:http' + import { dirname, join } from 'node:path' import { env, platform } from 'node:process' import { fileURLToPath } from 'node:url' @@ -80,6 +82,40 @@ function createWindow(): void { // initialization and is ready to create browser windows. // Some APIs can only be used after this event occurs. app.whenReady().then(() => { + if (/^true$/i.test(env.APP_REMOTE_DEBUG || '')) { + const remoteDebugEndpoint = `http://localhost:${env.APP_REMOTE_DEBUG_PORT || '9222'}` + + http.get(`${remoteDebugEndpoint}/json`, (res) => { + let data = '' + res.on('data', chunk => data += chunk) + res.on('end', () => { + try { + const targets = JSON.parse(data) + if (targets.length <= 0) { + console.warn('[Remote Debugging] No targets found') + return + } + + let wsUrl = targets[0].webSocketDebuggerUrl + if (!wsUrl.startsWith('ws://')) { + console.warn('[Remote Debugging] Invalid WebSocket URL:', wsUrl) + return + } + + wsUrl = wsUrl.substring(5) + // eslint-disable-next-line no-console + console.log(`Inspect remotely: ${remoteDebugEndpoint}/devtools/inspector.html?ws=${wsUrl}`) + shell.openExternal(`${remoteDebugEndpoint}/devtools/inspector.html?ws=${wsUrl}`) + } + catch (err) { + console.error('[Remote Debugging] Failed to parse metadata from /json:', err) + } + }) + }).on('error', (err) => { + console.error('[Remote Debugging] Failed to fetch metadata from /json:', err) + }) + } + // Set app user model id for windows electronApp.setAppUserModelId('ai.moeru.airi') diff --git a/apps/stage-tamagotchi/src/renderer/components/Settings/CheckBar.vue b/apps/stage-tamagotchi/src/renderer/components/Settings/CheckBar.vue deleted file mode 100644 index 27b6ddc92..000000000 --- a/apps/stage-tamagotchi/src/renderer/components/Settings/CheckBar.vue +++ /dev/null @@ -1,29 +0,0 @@ - - - diff --git a/apps/stage-tamagotchi/src/renderer/components/Widgets/ResourceStatusIsland/LoadingModules.vue b/apps/stage-tamagotchi/src/renderer/components/Widgets/ResourceStatusIsland/LoadingModules.vue index 9f1b36c35..ec6b6269f 100644 --- a/apps/stage-tamagotchi/src/renderer/components/Widgets/ResourceStatusIsland/LoadingModules.vue +++ b/apps/stage-tamagotchi/src/renderer/components/Widgets/ResourceStatusIsland/LoadingModules.vue @@ -3,7 +3,7 @@ import { storeToRefs } from 'pinia' import { computed } from 'vue' import { useI18n } from 'vue-i18n' -import WindowRouterLink from '../../Tauri/WindowRouterLink.vue' +import WindowRouterLink from '../../WindowRouterLink.vue' import LoadingComponent from './LoadingComponent.vue' import { useResourcesStore } from '../../../stores/resources' diff --git a/apps/stage-tamagotchi/src/renderer/components/Tauri/WindowRouterLink.vue b/apps/stage-tamagotchi/src/renderer/components/WindowRouterLink.vue similarity index 100% rename from apps/stage-tamagotchi/src/renderer/components/Tauri/WindowRouterLink.vue rename to apps/stage-tamagotchi/src/renderer/components/WindowRouterLink.vue diff --git a/apps/stage-tamagotchi/src/renderer/pages/index.vue b/apps/stage-tamagotchi/src/renderer/pages/index.vue index 524925cea..f3df5335e 100644 --- a/apps/stage-tamagotchi/src/renderer/pages/index.vue +++ b/apps/stage-tamagotchi/src/renderer/pages/index.vue @@ -74,10 +74,23 @@ const modeIndicatorClass = computed(() => {
-
+
Loading...