diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 8ea125274b..4b1dfc414f 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -3564,3 +3564,4 @@ _room: resolution: "解像度" yourDeviceNotSupported_title: "お使いのデバイスはMisskeyRoomをサポートしていません。" yourDeviceNotSupported_description: "MisskeyRoomを動作させるには、WebGPUをサポートするデバイスが必要です。" + failedToInitialize: "初期化に失敗しました" diff --git a/packages/frontend/src/pages/room.vue b/packages/frontend/src/pages/room.vue index a2fd8a1eb5..14f10a72ca 100644 --- a/packages/frontend/src/pages/room.vue +++ b/packages/frontend/src/pages/room.vue @@ -285,7 +285,16 @@ onMounted(async () => { return; } - controller.init(canvas.value!); + try { + await controller.init(canvas.value!); + } catch (err) { + os.alert({ + type: 'error', + title: i18n.ts._room.failedToInitialize, + text: (err instanceof Error ? err.message : String(err)), + }); + return; + } canvas.value!.focus(); diff --git a/packages/i18n/src/autogen/locale.ts b/packages/i18n/src/autogen/locale.ts index 9f3f9619f5..a3399d272e 100644 --- a/packages/i18n/src/autogen/locale.ts +++ b/packages/i18n/src/autogen/locale.ts @@ -13299,5 +13299,9 @@ export interface Locale extends ILocale { * MisskeyRoomを動作させるには、WebGPUをサポートするデバイスが必要です。 */ "yourDeviceNotSupported_description": string; + /** + * 初期化に失敗しました + */ + "failedToInitialize": string; }; }