Skip to content

v1.4.1#126

Merged
TiTidom-RC merged 20 commits into
masterfrom
beta
Jun 27, 2026
Merged

v1.4.1#126
TiTidom-RC merged 20 commits into
masterfrom
beta

Conversation

@TiTidom-RC

Copy link
Copy Markdown
Owner

This pull request introduces a new log filtering feature for the tvremote plugin, allowing users to manage log filters and customize log levels. It also adds a JavaScript syntax check workflow and restricts existing CI workflows to only trigger on relevant file changes. Additionally, translation files have been updated to support the new features in French, English, German, and Spanish.

Log filtering feature:

  • Added backend support for log filters, including methods to create, read, and save log filter configurations in logfilters.json (tvremote.class.php), and an AJAX endpoint to save filters (tvremote.ajax.php). [1] [2]
  • Updated the daemon start command to include log filter settings.
  • Added new translation strings for log filter management in all supported languages. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]

Continuous Integration improvements:

  • Added a new GitHub Actions workflow (js-check.yml) to check JavaScript syntax on pull requests targeting the beta branch.
  • Updated PHP and Python CI workflows to only run when relevant files are changed, reducing unnecessary workflow runs. [1] [2] [3]

Other updates:

  • Added logfilters to the list of recognized words in VSCode settings for better developer experience.
  • Added and improved error handling and translation for invalid data formats and file save errors in all supported languages. [1] [2] [3] [4] [5] [6]

Introduce a log filters feature to allow pattern-based remapping or dropping of daemon log records.

- UI: add a modal (desktop/modal/logfilters.tvremote.php) and JS (desktop/js/logfilters.tvremote.js) to manage filters (enable/disable, pattern, target level). Add a button and checkbox in plugin configuration to open the manager and enable filters.
- Backend PHP: add AJAX handler (saveLogFilters) in core/ajax/tvremote.ajax.php and file helpers in core/class/tvremote.class.php (create/get/save logfilters.json). Install/update now initializes config key and ensures the filters file exists.
- Daemon/Python: extend config to include log filters settings and file path (resources/tvremoted/config.py), add a PatternRemapFilter to remap/drop log records and wire it into logging when enabled (resources/tvremoted/tvremoted.py). Add command-line arg propagation from PHP when starting the daemon.
- Other: bump pluginVersion to 1.4.0, add data/filters/README.md and ignore data/filters/*.json in .gitignore, update .vscode/settings.json.

Notes: logfilters.json is stored in data/filters/ and is gitignored; enabling filters requires restarting the daemon.
Add an info log entry that reports whether log filters are enabled and the number of configured filter rules during daemon startup. This makes it easier to debug and verify the daemon's logging/filter configuration at launch.
Update the success alert in desktop/js/logfilters.tvremote.js (window.initLogFilters) to inform the user that they must restart the daemon for saved log filter changes to take effect. This clarifies required follow-up action after saving filters.
Introduce a blank line between the log_filters_file_path definition and the remote lists to improve code readability. No functional changes.
add whitespace for readability in config.py
Update plugin version to 1.4.1 and reduce log verbosity in tvremoted: change several notification logs (is_available, is_on, current_app, volume_info) from INFO to DEBUG, and switch an on-demand ADB connection log to DEBUG to reduce noise during normal operation. Files changed: plugin_info/info.json, resources/tvremoted/tvremoted.py.
Add path filters to pull_request triggers so workflows only run for relevant files on the beta branch. checkPHP.yml and checkPHPCompat.yml now include '**/*.php', and checkPython.yml includes 'resources/**/*.py'. This reduces unnecessary CI runs and conserves resources by running language-specific checks only when corresponding files change.
Limit CI workflows to relevant file changes
Introduce a GitHub Actions workflow that runs on pull requests to the beta branch when .js files change. It checks out the repo, sets up Node.js 22, and runs `node --check` on all .js files (excluding node_modules) to catch syntax errors early.
Add JavaScript syntax-check workflow
Enable manual runs from the Actions UI by adding workflow_dispatch to the CI workflows. Updated .github/workflows/checkPHP.yml, checkPHPCompat.yml, checkPython.yml, and js-check.yml to include the manual dispatch trigger while preserving the existing branch/path filters.
Add workflow_dispatch to GitHub workflows
Update the js-check workflow to use actions/setup-node@v5 (was @v4). This ensures the workflow uses the latest setup-node release, improving compatibility with Node.js 22 and picking up fixes and enhancements from the newer action version.
Bump actions/setup-node to v5
@TiTidom-RC
TiTidom-RC merged commit 352dde7 into master Jun 27, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant