diff --git a/proto/anki/launcher.proto b/proto/anki/launcher.proto index 4fa4815aa..0f531960a 100644 --- a/proto/anki/launcher.proto +++ b/proto/anki/launcher.proto @@ -33,11 +33,7 @@ service LauncherService { // TODO: this should not be necessary service BackendLauncherService {} -// TODO: codegen -enum Event { - TERM_INPUT = 0; - WINDOWS_READY = 1; -} +enum Event { PTY_DATA = 0; } message I18nResourcesRequest { repeated string modules = 1; diff --git a/qt/launcher-gui/src-tauri/src/commands.rs b/qt/launcher-gui/src-tauri/src/commands.rs index 57cba37ec..9f18ffe7c 100644 --- a/qt/launcher-gui/src-tauri/src/commands.rs +++ b/qt/launcher-gui/src-tauri/src/commands.rs @@ -7,6 +7,7 @@ use anki_proto::launcher::get_mirrors_response; use anki_proto::launcher::state::Kind as StateProtoKind; use anki_proto::launcher::ChooseVersionRequest; use anki_proto::launcher::ChooseVersionResponse; +use anki_proto::launcher::Event; use anki_proto::launcher::GetLangsResponse; use anki_proto::launcher::GetMirrorsResponse; use anki_proto::launcher::I18nResourcesRequest; @@ -184,7 +185,7 @@ pub async fn choose_version( let version = input.version; let on_pty_data = move |data| { - let _ = app.emit("pty-data", data); + let _ = app.emit(Event::PtyData.as_str_name(), data); }; if !input.keep_existing || paths.pyproject_modified_by_user { diff --git a/qt/launcher-gui/src/routes/Term.svelte b/qt/launcher-gui/src/routes/Term.svelte index e6525819e..d9b20ec88 100644 --- a/qt/launcher-gui/src/routes/Term.svelte +++ b/qt/launcher-gui/src/routes/Term.svelte @@ -10,6 +10,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html import { Terminal } from "@xterm/xterm"; import { WebglAddon } from "@xterm/addon-webgl"; import "@xterm/xterm/css/xterm.css"; + import { Event as BackendEvent } from "@generated/anki/launcher_pb"; let { term = $bindable(), @@ -41,7 +42,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html console.log("WebGL addon threw an exception during load", e); } - const unlisten = listen("pty-data", (e) => { + const unlisten = listen(BackendEvent[BackendEvent.PTY_DATA], (e) => { const data = protoBase64.dec(e.payload); open = true; term!.write(data);