From ac67048aef6f02f5875dc1fad723fd67fab06fa1 Mon Sep 17 00:00:00 2001 From: Filipe Moreira Date: Sat, 3 Oct 2026 13:43:18 -0300 Subject: [PATCH 1/3] fix: keep the session menu in front after installing ControlFS Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.en-US.md | 3 +++ CHANGELOG.md | 3 +++ docs/TESTING.md | 2 +- src/ConsoleMode/Resources/Strings.en-US.json | 1 + src/ConsoleMode/Resources/Strings.es-ES.json | 1 + src/ConsoleMode/Resources/Strings.pt-BR.json | 1 + src/ConsoleMode/Services/LocalizationService.cs | 1 + .../ViewModels/MainViewModel.SessionMenu.cs | 11 ++++++++--- 8 files changed, 19 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.en-US.md b/CHANGELOG.en-US.md index bde780f..754a650 100644 --- a/CHANGELOG.en-US.md +++ b/CHANGELOG.en-US.md @@ -4,6 +4,9 @@ English (US) release notes, mirroring CHANGELOG.md (Brazilian Portuguese). Befor ## [Unreleased] +### Fixes +- Session menu: after installing ControlFS from the "File explorer" row, the menu stays in front and the row says "Installed · press to open"; ControlFS opens on the next A. Before, it opened by itself behind the game and the menu went away. + ## [1.6.0-beta.5] ### Heads-up: beta version, not the stable one - This is a test version of 1.6. The stable version is still 1.5.1, and people on it don't get this update automatically: only those who turned on Settings → "Receive test versions (alpha and beta)" or are already on an alpha/beta. If something breaks, go back to 1.5.1 and report it with the feedback button (attach `consolemode.log`). diff --git a/CHANGELOG.md b/CHANGELOG.md index ed707fb..f151b51 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ Notas em português do Brasil; a versão em inglês (Estados Unidos) fica em `CH ## [Unreleased] +### Correções +- Menu da sessão: depois de instalar o ControlFS pela linha "Explorador de arquivos", o menu continua na frente e a linha diz "Instalado · aperte para abrir"; o ControlFS abre no próximo A. Antes ele abria sozinho atrás do jogo e o menu sumia. + ## [1.6.0-beta.5] ### Atenção: versão beta, não é a estável - Esta é uma versão de teste da 1.6. A versão estável continua sendo a 1.5.1, e quem está nela não recebe esta atualização automaticamente: só quem ligou Ajustes → "Receber versões de teste (alpha e beta)" ou já está numa alpha/beta. Se algo falhar, volte para a 1.5.1 e conte pelo botão de feedback (anexe o `consolemode.log`). diff --git a/docs/TESTING.md b/docs/TESTING.md index 3ea4e4e..569fbcc 100644 --- a/docs/TESTING.md +++ b/docs/TESTING.md @@ -170,7 +170,7 @@ Pré-condição: ControlFS instalado (https://github.com/nextestudios/ControlFS) - [ ] Com o ControlFS já aberto: A só o traz para a frente (não abre uma segunda instância). Resultado: ______ - [ ] A sessão **não** termina nem restaura a mesa enquanto o ControlFS está na frente; ao sair dele (Menu do ControlFS → Sair) volta-se ao jogo. Resultado: ______ - [ ] Select + Y com o ControlFS na frente abre o menu por cima dele (saída de emergência). Resultado: ______ -- [ ] **Instalar pelo menu** (desinstale o ControlFS antes): a linha diz "Não instalado · aperte para baixar e instalar". A começa o download: a linha mostra "Baixando… N%" com a barra enchendo, depois "Instalando…" com a barra em movimento, sem nenhuma janela de instalador nem pedido de administrador. Ao terminar, o menu fecha e o ControlFS abre em tela cheia na tela da sessão. Resultado: ______ +- [ ] **Instalar pelo menu** (desinstale o ControlFS antes): a linha diz "Não instalado · aperte para baixar e instalar". A começa o download: a linha mostra "Baixando… N%" com a barra enchendo, depois "Instalando…" com a barra em movimento, sem nenhuma janela de instalador nem pedido de administrador. Ao terminar, o menu continua aberto na frente e a linha diz "Instalado · aperte para abrir"; o ControlFS **não** abre sozinho. O A seguinte abre o ControlFS em tela cheia na tela da sessão, já na frente. Resultado: ______ - [ ] Durante o download o menu continua respondendo (direcional, volume); apertar A de novo na linha não começa um segundo download. Resultado: ______ - [ ] Fechar o menu durante a instalação: ela termina em segundo plano e o ControlFS **não** abre por cima do jogo; ao reabrir o menu a linha já diz "Navegue pelos seus arquivos com o controle". Resultado: ______ - [ ] Sem internet (cabo/Wi-Fi desligado): A na linha mostra "Não deu para instalar · aperte para abrir a página de download" e o log registra `ControlFS: instalar: ...`; o A seguinte abre a página de releases no navegador. Reabrindo o menu, a linha volta a oferecer a instalação. Resultado: ______ diff --git a/src/ConsoleMode/Resources/Strings.en-US.json b/src/ConsoleMode/Resources/Strings.en-US.json index 8799bb7..62526e5 100644 --- a/src/ConsoleMode/Resources/Strings.en-US.json +++ b/src/ConsoleMode/Resources/Strings.en-US.json @@ -93,6 +93,7 @@ "ControlFsDownloading": "Downloading… {0}%", "ControlFsInstalling": "Installing…", "ControlFsInstallFailed": "Couldn't install · press to open the download page", + "ControlFsInstalled": "Installed · press to open", "ControlFsMissingNote": "ControlFS is not installed. Opening its download page in the browser.", "SessionWindowsCard": "Windows", "SessionWindowsCount": "{0} open", diff --git a/src/ConsoleMode/Resources/Strings.es-ES.json b/src/ConsoleMode/Resources/Strings.es-ES.json index 8cc3c18..fb9cc6a 100644 --- a/src/ConsoleMode/Resources/Strings.es-ES.json +++ b/src/ConsoleMode/Resources/Strings.es-ES.json @@ -93,6 +93,7 @@ "ControlFsDownloading": "Descargando… {0}%", "ControlFsInstalling": "Instalando…", "ControlFsInstallFailed": "No se pudo instalar · pulsa para abrir la página de descarga", + "ControlFsInstalled": "Instalado · pulsa para abrir", "ControlFsMissingNote": "ControlFS no está instalado. Abriendo su página de descarga en el navegador.", "SessionWindowsCard": "Ventanas", "SessionWindowsCount": "{0} abiertas", diff --git a/src/ConsoleMode/Resources/Strings.pt-BR.json b/src/ConsoleMode/Resources/Strings.pt-BR.json index f0725e0..b09d8ee 100644 --- a/src/ConsoleMode/Resources/Strings.pt-BR.json +++ b/src/ConsoleMode/Resources/Strings.pt-BR.json @@ -93,6 +93,7 @@ "ControlFsDownloading": "Baixando… {0}%", "ControlFsInstalling": "Instalando…", "ControlFsInstallFailed": "Não deu para instalar · aperte para abrir a página de download", + "ControlFsInstalled": "Instalado · aperte para abrir", "ControlFsMissingNote": "O ControlFS não está instalado. Abrindo a página de download no navegador.", "SessionWindowsCard": "Janelas", "SessionWindowsCount": "{0} abertas", diff --git a/src/ConsoleMode/Services/LocalizationService.cs b/src/ConsoleMode/Services/LocalizationService.cs index 6c77de4..161b6de 100644 --- a/src/ConsoleMode/Services/LocalizationService.cs +++ b/src/ConsoleMode/Services/LocalizationService.cs @@ -197,6 +197,7 @@ internal void NotifyAll() public string ControlFsMissing => LocalizationService.Get(nameof(ControlFsMissing)); public string ControlFsInstalling => LocalizationService.Get(nameof(ControlFsInstalling)); public string ControlFsInstallFailed => LocalizationService.Get(nameof(ControlFsInstallFailed)); + public string ControlFsInstalled => LocalizationService.Get(nameof(ControlFsInstalled)); public string SessionWindowsCard => LocalizationService.Get(nameof(SessionWindowsCard)); public string SwitcherEmpty => LocalizationService.Get(nameof(SwitcherEmpty)); public string SwitcherOpen => LocalizationService.Get(nameof(SwitcherOpen)); diff --git a/src/ConsoleMode/ViewModels/MainViewModel.SessionMenu.cs b/src/ConsoleMode/ViewModels/MainViewModel.SessionMenu.cs index 64237ff..bf42911 100644 --- a/src/ConsoleMode/ViewModels/MainViewModel.SessionMenu.cs +++ b/src/ConsoleMode/ViewModels/MainViewModel.SessionMenu.cs @@ -87,6 +87,7 @@ public void ToggleSessionMenu() ControlFsInstalled = ControlFsService.FindExe() is not null; // A failed install is offered again each time the menu opens (the connection may be back). if (!ControlFsInstalling) ControlFsInstallFailed = false; + ControlFsJustInstalled = false; RefreshSessionHeader(); StartSessionClock(); _sessionMenu.Activate(); @@ -323,10 +324,13 @@ private async Task RunSessionActionAsync(Action action) [ObservableProperty, NotifyPropertyChangedFor(nameof(ControlFsRowText))] private bool _controlFsSetupRunning; /// The install failed: the row says so and the next press opens the download page instead. [ObservableProperty, NotifyPropertyChangedFor(nameof(ControlFsRowText))] private bool _controlFsInstallFailed; + /// Installed from the row while this menu was open: the row says it is ready to open. + [ObservableProperty, NotifyPropertyChangedFor(nameof(ControlFsRowText))] private bool _controlFsJustInstalled; public string ControlFsRowText => ControlFsSetupRunning ? Texts.ControlFsInstalling : ControlFsInstalling ? LocalizationService.Get("ControlFsDownloading", (int)ControlFsProgress) + : ControlFsJustInstalled ? Texts.ControlFsInstalled : ControlFsInstalled ? Texts.ControlFsOpen : ControlFsInstallFailed ? Texts.ControlFsInstallFailed : Texts.ControlFsMissing; @@ -335,7 +339,7 @@ private async Task RunSessionActionAsync(Action action) /// /// The pinned "File explorer (ControlFS)" row: the menu closes and ControlFS (a separate app, controller-first) /// opens or comes to the front. Without it installed, the same press downloads and installs it (the row shows - /// the progress) and then opens it; if that fails, the next press opens its download page. Outside a session it + /// the progress) and the next press opens it; if that fails, the next press opens its download page. Outside a session it /// works the same, so it can be tried in the preview. /// [RelayCommand] @@ -376,6 +380,7 @@ private async Task InstallControlFsAsync() await Task.Run(() => ControlFsInstaller.InstallAsync(progress)); AppLog.Write("ControlFS: instalado"); ControlFsInstalled = true; + ControlFsJustInstalled = true; } catch (Exception ex) { @@ -387,8 +392,8 @@ private async Task InstallControlFsAsync() ControlFsSetupRunning = false; ControlFsInstalling = false; } - // Open it only if the menu that asked is still there: never pop it over a game the user went back to. - if (ControlFsInstalled && IsSessionMenuOpen) OpenControlFs(); + // Not opened from here: by now the menu may have lost the foreground (or be gone), and ControlFS would come up + // behind the game. The row says it is installed; the next A opens it like any other time. } [RelayCommand] From 5baad33f398cd085cfa4ba4fa223690a68b47188 Mon Sep 17 00:00:00 2001 From: Filipe Moreira Date: Sat, 3 Oct 2026 13:52:33 -0300 Subject: [PATCH 2/3] docs: link ControlFS install fix to PR 137 Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.en-US.md | 2 +- CHANGELOG.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.en-US.md b/CHANGELOG.en-US.md index 754a650..5d50292 100644 --- a/CHANGELOG.en-US.md +++ b/CHANGELOG.en-US.md @@ -5,7 +5,7 @@ English (US) release notes, mirroring CHANGELOG.md (Brazilian Portuguese). Befor ## [Unreleased] ### Fixes -- Session menu: after installing ControlFS from the "File explorer" row, the menu stays in front and the row says "Installed · press to open"; ControlFS opens on the next A. Before, it opened by itself behind the game and the menu went away. +- Session menu: after installing ControlFS from the "File explorer" row, the menu stays in front and the row says "Installed · press to open"; ControlFS opens on the next A. Before, it opened by itself behind the game and the menu went away. (#137) ## [1.6.0-beta.5] ### Heads-up: beta version, not the stable one diff --git a/CHANGELOG.md b/CHANGELOG.md index f151b51..7d29163 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ Notas em português do Brasil; a versão em inglês (Estados Unidos) fica em `CH ## [Unreleased] ### Correções -- Menu da sessão: depois de instalar o ControlFS pela linha "Explorador de arquivos", o menu continua na frente e a linha diz "Instalado · aperte para abrir"; o ControlFS abre no próximo A. Antes ele abria sozinho atrás do jogo e o menu sumia. +- Menu da sessão: depois de instalar o ControlFS pela linha "Explorador de arquivos", o menu continua na frente e a linha diz "Instalado · aperte para abrir"; o ControlFS abre no próximo A. Antes ele abria sozinho atrás do jogo e o menu sumia. (#137) ## [1.6.0-beta.5] ### Atenção: versão beta, não é a estável From 485e61117f7db6a421ad554b2c76df75953906d3 Mon Sep 17 00:00:00 2001 From: Filipe Moreira Date: Sat, 3 Oct 2026 13:52:36 -0300 Subject: [PATCH 3/3] chore: prepare 1.6.0-beta.6 Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.en-US.md | 4 ++++ CHANGELOG.md | 4 ++++ src/ConsoleMode/ConsoleMode.csproj | 4 ++-- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.en-US.md b/CHANGELOG.en-US.md index 5d50292..d39999b 100644 --- a/CHANGELOG.en-US.md +++ b/CHANGELOG.en-US.md @@ -4,6 +4,10 @@ English (US) release notes, mirroring CHANGELOG.md (Brazilian Portuguese). Befor ## [Unreleased] +## [1.6.0-beta.6] +### Heads-up: beta version, not the stable one +- This is a test version of 1.6. The stable version is still 1.5.1, and people on it don't get this update automatically: only those who turned on Settings → "Receive test versions (alpha and beta)" or are already on an alpha/beta. If something breaks, go back to 1.5.1 and report it with the feedback button (attach `consolemode.log`). + ### Fixes - Session menu: after installing ControlFS from the "File explorer" row, the menu stays in front and the row says "Installed · press to open"; ControlFS opens on the next A. Before, it opened by itself behind the game and the menu went away. (#137) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d29163..f0d911f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ Notas em português do Brasil; a versão em inglês (Estados Unidos) fica em `CH ## [Unreleased] +## [1.6.0-beta.6] +### Atenção: versão beta, não é a estável +- Esta é uma versão de teste da 1.6. A versão estável continua sendo a 1.5.1, e quem está nela não recebe esta atualização automaticamente: só quem ligou Ajustes → "Receber versões de teste (alpha e beta)" ou já está numa alpha/beta. Se algo falhar, volte para a 1.5.1 e conte pelo botão de feedback (anexe o `consolemode.log`). + ### Correções - Menu da sessão: depois de instalar o ControlFS pela linha "Explorador de arquivos", o menu continua na frente e a linha diz "Instalado · aperte para abrir"; o ControlFS abre no próximo A. Antes ele abria sozinho atrás do jogo e o menu sumia. (#137) diff --git a/src/ConsoleMode/ConsoleMode.csproj b/src/ConsoleMode/ConsoleMode.csproj index ae98e87..83fc632 100644 --- a/src/ConsoleMode/ConsoleMode.csproj +++ b/src/ConsoleMode/ConsoleMode.csproj @@ -17,10 +17,10 @@ true latest x64 - 1.6.0-beta.5 + 1.6.0-beta.6 1.6.0.0 1.6.0.0 - 1.6.0-beta.5 + 1.6.0-beta.6 Console Mode Console Mode lippdev