From 0a9ed38d9e5e3f67efc0ecdc0d549d67ccb86fb8 Mon Sep 17 00:00:00 2001 From: Christopher Lott Date: Thu, 7 May 2026 22:44:59 +0200 Subject: remove dead code across frontend and backend - Remove TS ConfigurationManager class in configSchema.ts (called non-existent backend methods; only getDefaults() was used, replaced with direct import) - Remove Python update_config method and create_config_from_args (unreachable since plugin.py routes through update_config_from_dict; also carried a duplicate @staticmethod that would crash at runtime) - Delete configuration_helpers_generated.py entirely (all three functions were unused) - Remove their generators from generate_python_boilerplate.py - Remove dead generated code from config_schema_generated.py (create_config_dict, get_function_parameters, TOML_FIELDS, SCRIPT_FIELDS) - Remove duplicate import in config_schema.py - Remove unused config prop from UsageInstructions component --- py_modules/lsfg_vk/configuration.py | 24 ------------------------ 1 file changed, 24 deletions(-) (limited to 'py_modules/lsfg_vk/configuration.py') diff --git a/py_modules/lsfg_vk/configuration.py b/py_modules/lsfg_vk/configuration.py index 74a3694..e479f43 100644 --- a/py_modules/lsfg_vk/configuration.py +++ b/py_modules/lsfg_vk/configuration.py @@ -8,7 +8,6 @@ from typing import Dict, Any from .base_service import BaseService from .config_schema import ConfigurationManager, CONFIG_SCHEMA, ProfileData, DEFAULT_PROFILE_NAME from .config_schema_generated import ConfigurationData, get_script_generation_logic -from .configuration_helpers_generated import log_configuration_update from .types import ConfigurationResponse, ProfilesResponse, ProfileResponse @@ -81,29 +80,6 @@ class ConfigurationService(BaseService): self.log.error(error_msg) return self._error_response(ConfigurationResponse, str(e), config=None) - def update_config(self, **kwargs) -> ConfigurationResponse: - """Update TOML configuration using generated schema - SIMPLIFIED WITH GENERATED CODE - - Args: - **kwargs: Configuration field values (see shared_config.py for available fields) - - Returns: - ConfigurationResponse with success status - """ - try: - config = ConfigurationManager.create_config_from_args(**kwargs) - - return self.update_config_from_dict(config) - - except (OSError, IOError) as e: - error_msg = f"Error updating lsfg config: {str(e)}" - self.log.error(error_msg) - return self._error_response(ConfigurationResponse, str(e), config=None) - except ValueError as e: - error_msg = f"Invalid configuration arguments: {str(e)}" - self.log.error(error_msg) - return self._error_response(ConfigurationResponse, str(e), config=None) - def update_lsfg_script(self, config: ConfigurationData) -> ConfigurationResponse: """Update the ~/lsfg launch script with current configuration -- cgit v1.2.3 From 1260aa400e6d19e8d1cbc3d887c8ddcff3058be9 Mon Sep 17 00:00:00 2001 From: Janleyx <242423638+Janleyx@users.noreply.github.com> Date: Mon, 20 Jul 2026 17:35:23 -0400 Subject: wrap Armada launch inside lsfg script --- py_modules/lsfg_vk/configuration.py | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) (limited to 'py_modules/lsfg_vk/configuration.py') diff --git a/py_modules/lsfg_vk/configuration.py b/py_modules/lsfg_vk/configuration.py index e479f43..f7a171a 100644 --- a/py_modules/lsfg_vk/configuration.py +++ b/py_modules/lsfg_vk/configuration.py @@ -8,6 +8,7 @@ from typing import Dict, Any from .base_service import BaseService from .config_schema import ConfigurationManager, CONFIG_SCHEMA, ProfileData, DEFAULT_PROFILE_NAME from .config_schema_generated import ConfigurationData, get_script_generation_logic +from .constants import ARMADA_DEVICE_ENV, ARMADA_GAME_LAUNCH from .types import ConfigurationResponse, ProfilesResponse, ProfileResponse @@ -123,10 +124,8 @@ class ConfigurationService(BaseService): generate_script_lines = get_script_generation_logic() lines.extend(generate_script_lines(config)) - lines.extend([ - "export LSFG_PROCESS=decky-lsfg-vk", - 'exec "$@"' - ]) + lines.append("export LSFG_PROCESS=decky-lsfg-vk") + lines.extend(self._generate_game_launch_lines()) return "\n".join(lines) + "\n" @@ -154,12 +153,22 @@ class ConfigurationService(BaseService): generate_script_lines = get_script_generation_logic() lines.extend(generate_script_lines(merged_config)) - lines.extend([ - f"export LSFG_PROCESS={current_profile}", - 'exec "$@"' - ]) + lines.append(f"export LSFG_PROCESS={current_profile}") + lines.extend(self._generate_game_launch_lines()) return "\n".join(lines) + "\n" + + @staticmethod + def _generate_game_launch_lines() -> list[str]: + """Generate a portable exec block with Armada's host wrapper.""" + device_env = ARMADA_DEVICE_ENV.as_posix() + game_launch = ARMADA_GAME_LAUNCH.as_posix() + return [ + f'if [ -f "{device_env}" ] && [ -x "{game_launch}" ]; then', + f' exec "{game_launch}" "$@"', + "fi", + 'exec "$@"', + ] def _get_profile_data(self) -> ProfileData: """Get current profile data from config file""" -- cgit v1.2.3 From 2e55d0cb3205cf0770ec93610b5d3df18deacd34 Mon Sep 17 00:00:00 2001 From: Janleyx <242423638+Janleyx@users.noreply.github.com> Date: Mon, 20 Jul 2026 17:54:22 -0400 Subject: avoid double Armada launch wrapping --- py_modules/lsfg_vk/configuration.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'py_modules/lsfg_vk/configuration.py') diff --git a/py_modules/lsfg_vk/configuration.py b/py_modules/lsfg_vk/configuration.py index f7a171a..fce3738 100644 --- a/py_modules/lsfg_vk/configuration.py +++ b/py_modules/lsfg_vk/configuration.py @@ -164,8 +164,14 @@ class ConfigurationService(BaseService): device_env = ARMADA_DEVICE_ENV.as_posix() game_launch = ARMADA_GAME_LAUNCH.as_posix() return [ - f'if [ -f "{device_env}" ] && [ -x "{game_launch}" ]; then', - f' exec "{game_launch}" "$@"', + f'armada_game_launch="{game_launch}"', + 'for argument in "$@"; do', + ' if [ "$argument" = "$armada_game_launch" ]; then', + ' exec "$@"', + " fi", + "done", + f'if [ -f "{device_env}" ] && [ -x "$armada_game_launch" ]; then', + ' exec "$armada_game_launch" "$@"', "fi", 'exec "$@"', ] -- cgit v1.2.3