From 4f5ecf8f63fe32071e317e9c8ccb28104ad73565 Mon Sep 17 00:00:00 2001 From: ChakraFusion <112588066+ChakraFusion@users.noreply.github.com> Date: Mon, 26 Oct 2026 10:47:29 +0100 Subject: [PATCH] Track game: the games running now come first The game being played is the one most often tracked, and "Track game" made it be searched for by name. It now lists first the games the game database knows with a program running now, by where the program is installed (GameDB.IdentifyProgram), once each, programs of the system itself left out; picking one tracks it with that program. A game tracked already says so, as in the search results. GET /api/gamedb/running; the new text is in the catalogs (en, zh-Hans, zh-Hant). Co-Authored-By: Claude Opus 5.5 --- cmd/opensave-app/frontend/src/locales/en.json | 3 ++ .../frontend/src/locales/zh-Hans.json | 3 ++ .../frontend/src/locales/zh-Hant.json | 3 ++ .../src/views/home/TrackGameDialog.svelte | 35 +++++++++++- internal/api/routes.go | 1 + internal/api/routes_gamedb.go | 6 +++ internal/daemon/gamedb.go | 44 +++++++++++++++ internal/daemon/running_games_test.go | 53 +++++++++++++++++++ 8 files changed, 146 insertions(+), 2 deletions(-) create mode 100644 internal/daemon/running_games_test.go diff --git a/cmd/opensave-app/frontend/src/locales/en.json b/cmd/opensave-app/frontend/src/locales/en.json index 9b7d6d99..bbdc2ddb 100644 --- a/cmd/opensave-app/frontend/src/locales/en.json +++ b/cmd/opensave-app/frontend/src/locales/en.json @@ -348,6 +348,9 @@ "home.trackGameHint": "Find a game by name, or choose its program or save folder", "home.addGame.recognisedAs": "Recognised as \"{name}\" — its cover art comes from the game database.", "home.findGame.title": "Track a game from the game database", + "home.findGame.runningNow": "Running now", + "home.findGame.lookingAtRunning": "Looking at what is running…", + "home.findGame.nothingRunning": "No game the game database knows is running right now.", "home.findGame.findByName": "Find by name", "home.findGame.searchPlaceholder": "e.g. Crimson Desert", "home.findGame.searching": "Searching…", diff --git a/cmd/opensave-app/frontend/src/locales/zh-Hans.json b/cmd/opensave-app/frontend/src/locales/zh-Hans.json index 7d92a282..82c5e045 100644 --- a/cmd/opensave-app/frontend/src/locales/zh-Hans.json +++ b/cmd/opensave-app/frontend/src/locales/zh-Hans.json @@ -306,6 +306,9 @@ "home.trackGameHint": "按名称查找游戏,或选择其程序或存档文件夹", "home.addGame.recognisedAs": "已识别为“{name}”——封面来自游戏数据库。", "home.findGame.title": "从游戏数据库跟踪游戏", + "home.findGame.runningNow": "正在运行", + "home.findGame.lookingAtRunning": "正在查看正在运行的程序…", + "home.findGame.nothingRunning": "当前没有游戏数据库收录的游戏在运行。", "home.findGame.findByName": "按名称查找", "home.findGame.searchPlaceholder": "例如:Crimson Desert", "home.findGame.searching": "搜索中…", diff --git a/cmd/opensave-app/frontend/src/locales/zh-Hant.json b/cmd/opensave-app/frontend/src/locales/zh-Hant.json index 4752f44f..c3645e28 100644 --- a/cmd/opensave-app/frontend/src/locales/zh-Hant.json +++ b/cmd/opensave-app/frontend/src/locales/zh-Hant.json @@ -306,6 +306,9 @@ "home.trackGameHint": "按名稱查詢遊戲,或選擇其程式或存檔資料夾", "home.addGame.recognisedAs": "已識別為“{name}”——封面來自遊戲資料庫。", "home.findGame.title": "從遊戲資料庫跟踪遊戲", + "home.findGame.runningNow": "正在執行", + "home.findGame.lookingAtRunning": "正在查看正在執行的程式…", + "home.findGame.nothingRunning": "目前沒有遊戲資料庫收錄的遊戲在執行。", "home.findGame.findByName": "按名稱查詢", "home.findGame.searchPlaceholder": "例如:Crimson Desert", "home.findGame.searching": "搜尋中…", diff --git a/cmd/opensave-app/frontend/src/views/home/TrackGameDialog.svelte b/cmd/opensave-app/frontend/src/views/home/TrackGameDialog.svelte index 127ffef8..222f4f2d 100644 --- a/cmd/opensave-app/frontend/src/views/home/TrackGameDialog.svelte +++ b/cmd/opensave-app/frontend/src/views/home/TrackGameDialog.svelte @@ -1,6 +1,7 @@