From fe16e1c85216c0df86c13cda9397aed829e04f4b Mon Sep 17 00:00:00 2001 From: Mat4m0 Date: Mon, 31 Aug 2026 02:10:10 +0200 Subject: [PATCH] feat(linux): protect saved login with Secret portal --- .../src/components/GeneralUpdateSettings.vue | 4 +- .../UpdateGameFilesSettings.test.ts | 16 ++ apps/launcher/src/launcher-view-model.ts | 1 + apps/launcher/src/update-game-files-copy.ts | 6 + forge.config.ts | 2 +- packaging/linux/io.github.mat4m0.gwonmac.yml | 1 - scripts/build-linux-secret-portal.mjs | 31 +++ scripts/build.mjs | 10 +- scripts/package-ignore.ts | 1 + src/main/app-updater.ts | 16 +- src/main/linux-portal-keychain.ts | 234 ++++++++++++++++++ src/main/main.ts | 22 +- src/native/linux-secret-portal/main.cpp | 232 +++++++++++++++++ src/shared/contracts.ts | 5 + tests/policy/forbidden-artifacts.test.ts | 1 + tests/policy/source-linux-flatpak.test.ts | 2 +- tests/policy/source-native-keychain.test.ts | 12 +- tests/policy/source-release-pipeline.test.ts | 6 +- .../policy/source-saved-login-surface.test.ts | 7 +- tests/unit/app-updater.test.ts | 20 ++ tests/unit/linux-portal-keychain.test.ts | 81 ++++++ 21 files changed, 683 insertions(+), 27 deletions(-) create mode 100644 scripts/build-linux-secret-portal.mjs create mode 100644 src/main/linux-portal-keychain.ts create mode 100644 src/native/linux-secret-portal/main.cpp create mode 100644 tests/unit/linux-portal-keychain.test.ts diff --git a/apps/launcher/src/components/GeneralUpdateSettings.vue b/apps/launcher/src/components/GeneralUpdateSettings.vue index cf6183f7..b3f82324 100644 --- a/apps/launcher/src/components/GeneralUpdateSettings.vue +++ b/apps/launcher/src/components/GeneralUpdateSettings.vue @@ -33,14 +33,14 @@ function performAction(): Promise {