Skip to content

refactor(confighttp): HTML page handlers into generic getPage function - #4645

Merged
ReenigneArcher merged 14 commits into
masterfrom
refactor/confighttp/common-functions
Mar 8, 2026
Merged

refactor(confighttp): HTML page handlers into generic getPage function#4645
ReenigneArcher merged 14 commits into
masterfrom
refactor/confighttp/common-functions

Conversation

@ReenigneArcher

@ReenigneArcher ReenigneArcher commented Jan 30, 2026

Copy link
Copy Markdown
Member

Description

Initial motivation for the PR was to consolidate multiple individual HTML page handler functions into a single getPage function. This works by providing the page as a parameter. Then HTTP handler functions were updated to take response and request by const reference, which was a clang-tidy suggestion. New helper functions for page handlers were added to simplify the server route setup.

Introduced check_request_body_empty to validate that certain API endpoints receive no request body, replacing previous content-type checks where appropriate. I am not 100% sure if this is necessary. Docs were updated to only include the Content-Type headers when necessary.

Also, added some initial tests for confighttp.cpp/h.

Lastly, I had to add macros to ignore some error/warnings in tests/tests_common.h due to failures in the ArchLinux build. I am not fully understanding what caused these errors to start occurring.

Screenshot

Issues Fixed or Closed

Roadmap Issues

Type of Change

  • feat: New feature (non-breaking change which adds functionality)
  • fix: Bug fix (non-breaking change which fixes an issue)
  • docs: Documentation only changes
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semicolons, etc.)
  • refactor: Code change that neither fixes a bug nor adds a feature
  • perf: Code change that improves performance
  • test: Adding missing tests or correcting existing tests
  • build: Changes that affect the build system or external dependencies
  • ci: Changes to CI configuration files and scripts
  • chore: Other changes that don't modify src or test files
  • revert: Reverts a previous commit
  • BREAKING CHANGE: Introduces a breaking change (can be combined with any type above)

Checklist

  • Code follows the style guidelines of this project
  • Code has been self-reviewed
  • Code has been commented, particularly in hard-to-understand areas
  • Code docstring/documentation-blocks for new or existing methods/components have been added or updated
  • Unit tests have been added or updated for any new or modified functionality

AI Usage

  • None: No AI tools were used in creating this PR
  • Light: AI provided minor assistance (formatting, simple suggestions)
  • Moderate: AI helped with code generation or debugging specific parts
  • Heavy: AI generated most or all of the code changes

@codecov

codecov Bot commented Jan 30, 2026

Copy link
Copy Markdown

Bundle Report

Changes will increase total bundle size by 853 bytes (0.11%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle name Size Change
sunshine-esm 774.17kB 853 bytes (0.11%) ⬆️

Affected Assets, Files, and Routes:

view changes for bundle: sunshine-esm

Assets Changed:

Asset Name Size Change Total Size Change (%)
assets/_plugin-*.js 307 bytes 350.97kB 0.09%
assets/_plugin-*.css 113 bytes 231.27kB 0.05%
assets/config-*.js 433 bytes 67.43kB 0.65%

@codecov

codecov Bot commented Jan 30, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 26.18026% with 172 lines in your changes missing coverage. Please review.
✅ Project coverage is 17.52%. Comparing base (3fbbe88) to head (e8d59ee).
⚠️ Report is 223 commits behind head on master.

Files with missing lines Patch % Lines
src/confighttp.cpp 29.75% 72 Missing and 72 partials ⚠️
src/config.cpp 0.00% 18 Missing and 10 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #4645      +/-   ##
==========================================
+ Coverage   16.74%   17.52%   +0.78%     
==========================================
  Files         106      106              
  Lines       21762    21813      +51     
  Branches     9737     9770      +33     
==========================================
+ Hits         3644     3823     +179     
+ Misses      13397    13257     -140     
- Partials     4721     4733      +12     
Flag Coverage Δ
Archlinux 12.05% <19.61%> (+0.99%) ⬆️
FreeBSD-14.3-aarch64 ?
FreeBSD-14.3-amd64 13.86% <17.85%> (+0.81%) ⬆️
Homebrew-ubuntu-22.04 14.36% <23.92%> (+1.10%) ⬆️
Linux-AppImage 12.54% <23.92%> (+1.07%) ⬆️
Windows-AMD64 14.49% <22.00%> (+1.06%) ⬆️
Windows-ARM64 13.11% <17.48%> (+0.76%) ⬆️
macOS-arm64 18.22% <21.07%> (+1.25%) ⬆️
macOS-x86_64 16.71% <20.30%> (+1.17%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/config.h 0.00% <ø> (ø)
src/config.cpp 3.18% <0.00%> (+0.01%) ⬆️
src/confighttp.cpp 19.97% <29.75%> (+18.25%) ⬆️

... and 20 files with indirect coverage changes

@ReenigneArcher
ReenigneArcher force-pushed the refactor/confighttp/common-functions branch 2 times, most recently from edee013 to 1f0d6d4 Compare January 30, 2026 21:42
@ReenigneArcher
ReenigneArcher force-pushed the refactor/confighttp/common-functions branch 6 times, most recently from d19f7c2 to cb500b9 Compare January 31, 2026 15:29
@ReenigneArcher
ReenigneArcher marked this pull request as draft January 31, 2026 15:56
@ReenigneArcher
ReenigneArcher force-pushed the refactor/confighttp/common-functions branch from 38816e8 to b1252cf Compare February 1, 2026 20:40
@Yundi339

This comment was marked as resolved.

@ReenigneArcher

This comment was marked as resolved.

@ReenigneArcher
ReenigneArcher force-pushed the refactor/confighttp/common-functions branch from b1252cf to d4bc50f Compare February 28, 2026 14:10
Consolidated multiple individual HTML page handler functions into a single getPage function that serves different HTML files based on parameters. Updated server route bindings to use the new generic handler, reducing code duplication and improving maintainability.
Updated all HTTP handler functions to take const reference parameters for response and request objects, improving const-correctness and clarity. Introduced a helper for page handlers and refactored server route setup to use concise lambda expressions and handler typedefs, reducing code duplication and improving maintainability.
Introduced check_request_body_empty to validate that certain API endpoints receive no request body, replacing previous content-type checks where appropriate. This improves request validation and ensures correct client usage for endpoints that do not expect a body.
Updated function signatures in confighttp.cpp to ensure consistent spacing between type and parameter names, improving code readability and style consistency.
Refactors the generateExamples function to only include Content-Type headers and body parameters in cURL, JavaScript, and PowerShell examples when a request body is present. This prevents unnecessary headers and parameters in generated code samples for endpoints that do not require a body.
Add initial unit tests for confighttp using a real HTTPS client/server (tests/unit/test_confighttp.cpp). Update confighttp public API and types: add necessary includes (nlohmann::json, Simple-Web-Server), introduce HTTPS type aliases (https_server_t, resp_https_t, req_https_t), and declare helper functions (print_req, send_response, send_unauthorized, send_redirect, authenticate, not_found, bad_request, check_* utilities, getPage, etc.). Align implementations in src/confighttp.cpp with the header by removing default parameters from not_found, bad_request, and getPage signatures. These changes improve test coverage and clarify the confighttp interface.
Wrap test header includes with #pragma GCC diagnostic push/pop to ignore -Warray-bounds and -Wstringop-overflow on GCC (excluding clang). This suppresses known false-positive warnings originating from Boost.Asio's basic_resolver_results.hpp on some GCC versions (notably observed on Arch Linux) and restores diagnostics after the includes.
Rename confighttp::getNodeModules to confighttp::getAsset and update the server resource mapping. Add function declarations for getAsset and getLocale to confighttp.h. Expand unit tests (tests/unit/test_confighttp.cpp): include iostream, persist/restore locale in setup/teardown, create a test HTML file in WEB_DIR, register multiple test routes exercising send_response, send_redirect, check_content_type, check_request_body_empty, getPage, and getLocale, and add many corresponding test cases to improve coverage and validate headers, content types, redirects, auth behavior, and JSON responses.
Override SUNSHINE_ASSETS_DIR in tests to ${CMAKE_CURRENT_BINARY_DIR}/test_assets so tests use a writable assets directory. Update test_confighttp setup to create a temporary web directory, use std::filesystem::create_directories for WEB_DIR, and write test_page.html directly (removing the previous try/catch and existence checks). These changes simplify test setup and ensure test files are created in writable temp locations.
Implement CSRF protection across HTTP API endpoints and expose a token endpoint. Changes include:

- Add docs: API and configuration docs updated to describe CSRF protection and the new GET /api/csrf-token endpoint.
- Config: add csrf_allowed_origins to config struct; parse comma-separated origin lists; include built-in localhost defaults and append web UI port-specific origins once port is known.
- confighttp: implement CSRF token generation, storage (with expiration), client identification, and validation logic. Validation allows same-origin requests via Origin/Referer to bypass tokens and requires X-CSRF-Token header or csrf_token query param for cross-origin requests. Register GET /api/csrf-token and integrate validation into state-changing endpoints.
- Web UI: add form field and localization strings for csrf_allowed_origins and include it in config HTML.
- Tests: add unit tests for CSRF token generation, header/query validation, same-origin exemptions, and restore/cleanup of config state.

Also remove usages of the old empty-body checker where CSRF/authentication flow was applied. This commit wires CSRF protection end-to-end (docs, config, server, UI, and tests).
Clean up src/confighttp.cpp: remove unused <set> include, simplify shared_ptr typedefs, and apply const correctness (make 'now' const and use const auto for header/query iterators and token lookup). Use if-with-init for authorization, origin and referer header checks and for parsing Basic auth and CSRF token index. Tighten origin prefix validation to require ":" or "/" after allowed origins. Make numerous small comment/grammar tweaks and minor formatting clarifications to improve readability and robustness.
@ReenigneArcher
ReenigneArcher force-pushed the refactor/confighttp/common-functions branch from d4bc50f to 35a5a38 Compare March 8, 2026 14:36
@ReenigneArcher
ReenigneArcher force-pushed the refactor/confighttp/common-functions branch from 39c5f00 to 92b2cc1 Compare March 8, 2026 16:37
@ReenigneArcher
ReenigneArcher force-pushed the refactor/confighttp/common-functions branch from 92b2cc1 to 783d672 Compare March 8, 2026 17:56
@ReenigneArcher
ReenigneArcher marked this pull request as ready for review March 8, 2026 18:02
Treat requests with no Origin or Referer header as safe (typical of non-browser clients) and only require CSRF tokens for browser-like cross-origin requests. In confighttp.cpp the Origin and Referer headers are looked up once and if both are absent the request is allowed; otherwise a mismatched Origin/Referer will trigger the existing token check. The docs/api.md text was updated to clarify that non-browser clients (curl, scripts, custom apps) are exempt from CSRF protection, to explain why (CSRF requires a browser to silently attach credentials), and to rename the example to indicate it is a browser-equivalent cross-origin flow.
Change is_allowed_origin to take a std::string_view to avoid unnecessary string copies when checking allowed CSRF origins. Add a new test helper assert_json_error_response that consolidates Content-Type, security header, and JSON body assertions, and refactor NotFoundResponse and BadRequestResponse tests to use this helper to remove duplicated checks.
@ReenigneArcher
ReenigneArcher force-pushed the refactor/confighttp/common-functions branch from bb2704b to e8d59ee Compare March 8, 2026 19:12
@sonarqubecloud

sonarqubecloud Bot commented Mar 8, 2026

Copy link
Copy Markdown

@ReenigneArcher
ReenigneArcher merged commit f04f6a2 into master Mar 8, 2026
72 checks passed
@ReenigneArcher
ReenigneArcher deleted the refactor/confighttp/common-functions branch March 8, 2026 22:36
@psyke83

psyke83 commented Mar 9, 2026

Copy link
Copy Markdown
Contributor

I think this commit has broken the webui? Clicking "save" has no response on my local builds, but reverting this fixes it. Maybe it's because I'm running through a reverse proxy?

@ReenigneArcher

Copy link
Copy Markdown
Member Author

@psyke83 I should have updated the commit title before I merged it. It also adds CSRF protection. You can add your trusted domains to the csrf_allowed_origins option. It's on the network tab of the UI. You would have to do this from localhost or manually edit the config file.

@psyke83

psyke83 commented Mar 9, 2026

Copy link
Copy Markdown
Contributor

Ah, I only read the PR description before commenting - sorry. It works correctly over reverse proxy when I set the trusted domain.

eball added a commit to Above-Os/Sunshine that referenced this pull request Jun 24, 2026
* chore(l10n): update translations (#4793)

* build(homebrew): dynamic link opus (#4826)

* fix(linux/wlgrab): add frame_timestamp using wayland's ready timestamp (#4787)

Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>

* fix(linux): use FQDN naming for all Linux packaging types (#4779)

Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>

* build(deps): bump lucide-vue-next from 0.576.0 to 0.577.0 (#4818)

Bumps [lucide-vue-next](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next) from 0.576.0 to 0.577.0.
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/0.577.0/packages/lucide-vue-next)

---
updated-dependencies:
- dependency-name: lucide-vue-next
  dependency-version: 0.577.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* refactor(confighttp): HTML page handlers into generic getPage function (#4645)

* build(deps): move nvapi to official NVIDIA repo and bump to R590 (#3725)

* build(deps): bump vue-i18n from 11.2.8 to 11.3.0 (#4828)

Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 11.2.8 to 11.3.0.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.3.0/packages/vue-i18n)

---
updated-dependencies:
- dependency-name: vue-i18n
  dependency-version: 11.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat(linux/xdgportal): implement event-driven capture (#4768)

* build(windows): sign windows executables (#4829)

* build(deps): bump vue from 3.5.29 to 3.5.30 (#4834)

Bumps [vue](https://github.com/vuejs/core) from 3.5.29 to 3.5.30.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.29...v3.5.30)

---
updated-dependencies:
- dependency-name: vue
  dependency-version: 3.5.30
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(l10n): update translations (#4831)

* fix(web-ui): add missing featured apps platform icons (#4837)

* ci(windows): disable signing for arm64 (#4838)

* fix(linux/xdgportal): descriptor/pointer cleanups (#4840)

* feat(web-ui): add browse feature to find directories/executables/files (#4848)

* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `5de4612` to `37eb3e5` (#4844)

build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools

Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `5de4612` to `37eb3e5`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/5de461271d05f43f267b954ac6010b410378ae47...37eb3e5bdc5a14d13ee27b85265aae2c5e9a60c2)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
  dependency-version: 37eb3e5bdc5a14d13ee27b85265aae2c5e9a60c2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump actions/download-artifact from 8.0.0 to 8.0.1 in the github-actions group across 1 directory (#4842)

build(deps): bump actions/download-artifact

Bumps the github-actions group with 1 update in the / directory: [actions/download-artifact](https://github.com/actions/download-artifact).


Updates `actions/download-artifact` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3...3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: 8.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(l10n): update translations (#4841)

* build(Fedora): Adjust version ranges for GCC selection (#4851)

* fix(linux/xdgportal): avoid duplicate frame insertion (#4839)

* build(deps): bump vmactions/freebsd-vm from 1.4.2 to 1.4.3 (#4849)

Bumps [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) from 1.4.2 to 1.4.3.
- [Release notes](https://github.com/vmactions/freebsd-vm/releases)
- [Commits](https://github.com/vmactions/freebsd-vm/compare/c9f815bc7aa0d34c9fdd0619b034a32d6ca7b57e...4807432c7cab1c3f97688665332c0b932062d31f)

---
updated-dependencies:
- dependency-name: vmactions/freebsd-vm
  dependency-version: 1.4.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `fc11224` to `a61b494` (#4850)

build(deps): bump packaging/linux/flatpak/deps/shared-modules

Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `fc11224` to `a61b494`.
- [Commits](https://github.com/flathub/shared-modules/compare/fc1122496c63b13aa96ca2351a9662294291b9e0...a61b4949d10e96e5f8923284a1c847964ac3f9ad)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
  dependency-version: a61b4949d10e96e5f8923284a1c847964ac3f9ad
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(linux): generate glad sources at compile time (#4798)

Co-authored-by: Conn O'Griofa <connogriofa@gmail.com>

* build(deps): bump third-party/doxyconfig from `ba47416` to `a9f0c38` (#4853)

Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `ba47416` to `a9f0c38`.
- [Commits](https://github.com/LizardByte/doxyconfig/compare/ba47416c88a7f5661fa1ed24b7300ef62185e877...a9f0c38766e53d29f1141098db237e51ba3d64d8)

---
updated-dependencies:
- dependency-name: third-party/doxyconfig
  dependency-version: a9f0c38766e53d29f1141098db237e51ba3d64d8
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(i18n): clarify cmd notes (#4856)

* build(deps): bump third-party/inputtino from `504f0ab` to `73e9fa1` (#4860)

Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `504f0ab` to `73e9fa1`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/504f0abc7da8ebc351f8300fb2ed98db5438ee48...73e9fa11179c86c8801e1dbce1c329d2ca07621a)

---
updated-dependencies:
- dependency-name: third-party/inputtino
  dependency-version: 73e9fa11179c86c8801e1dbce1c329d2ca07621a
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump third-party/glad from `dcc4f69` to `73db193` (#4858)

Bumps [third-party/glad](https://github.com/Dav1dde/glad) from `dcc4f69` to `73db193`.
- [Release notes](https://github.com/Dav1dde/glad/releases)
- [Commits](https://github.com/Dav1dde/glad/compare/dcc4f69620ce15e3d40b3e8d907d293bd297dbe1...73db193f853e2ee079bf3ca8a64aa2eaf6459043)

---
updated-dependencies:
- dependency-name: third-party/glad
  dependency-version: 73db193f853e2ee079bf3ca8a64aa2eaf6459043
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(linux/xdgportal): allow unified systemd service for all capture methods (#4854)

* feat(linux/keyboard): add F13-F24 keycodes (#4833)

* build(deps): bump apple-actions/import-codesign-certs from 6.0.0 to 6.1.0 (#4864)

build(deps): bump apple-actions/import-codesign-certs

Bumps [apple-actions/import-codesign-certs](https://github.com/apple-actions/import-codesign-certs) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/apple-actions/import-codesign-certs/releases)
- [Commits](https://github.com/apple-actions/import-codesign-certs/compare/b610f78488812c1e56b20e6df63ec42d833f2d14...fe74d46e82474f87e1ba79832ad28a4013d0e33a)

---
updated-dependencies:
- dependency-name: apple-actions/import-codesign-certs
  dependency-version: 6.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump third-party/nv-codec-headers from `22441b5` to `fe32761` (#4866)

build(deps): bump third-party/nv-codec-headers

Bumps [third-party/nv-codec-headers](https://github.com/FFmpeg/nv-codec-headers) from `22441b5` to `fe32761`.
- [Release notes](https://github.com/FFmpeg/nv-codec-headers/releases)
- [Commits](https://github.com/FFmpeg/nv-codec-headers/compare/22441b505d9d9afc1e3002290820909846c24bdc...fe32761e7a8bc79fcf560f356bf3898271bf4d56)

---
updated-dependencies:
- dependency-name: third-party/nv-codec-headers
  dependency-version: fe32761e7a8bc79fcf560f356bf3898271bf4d56
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump actions/cache from 5.0.3 to 5.0.4 in the github-actions group across 1 directory (#4870)

build(deps): bump actions/cache

Bumps the github-actions group with 1 update in the / directory: [actions/cache](https://github.com/actions/cache).


Updates `actions/cache` from 5.0.3 to 5.0.4
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/cdf6c1fa76f9f475f3d7449005a359c84ca0f306...668228422ae6a00e4ad889ee87cd7109ec5666a7)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: 5.0.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump codecov/codecov-action from 5.5.2 to 5.5.3 (#4871)

Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.5.2 to 5.5.3.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/671740ac38dd9b0130fbe1cec585b89eea48d3de...1af58845a975a7985b0beb0cbe6fbbb71a41dbad)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: 5.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `37eb3e5` to `cc1d7b8` (#4872)

build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools

Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `37eb3e5` to `cc1d7b8`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/37eb3e5bdc5a14d13ee27b85265aae2c5e9a60c2...cc1d7b8ddc859d611faed53c263af78a0aeb0c5c)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
  dependency-version: cc1d7b8ddc859d611faed53c263af78a0aeb0c5c
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump third-party/inputtino from `73e9fa1` to `f4ce2b0` (#4873)

Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `73e9fa1` to `f4ce2b0`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/73e9fa11179c86c8801e1dbce1c329d2ca07621a...f4ce2b0df536ef309e9ff318f75b460f7097d7c1)

---
updated-dependencies:
- dependency-name: third-party/inputtino
  dependency-version: f4ce2b0df536ef309e9ff318f75b460f7097d7c1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(linux): use FQDN service name in desktop launcher (#4874)

* fix(linux/xdgportal): portalgrab capture stability & mutter compatibility (#4875)

* feat(macOS): Capture audio on macOS using Tap API (#4209)

Co-authored-by: David Lane <42013603+ReenigneArcher@users.noreply.github.com>

* feat(linux/glad): implement EGL_IMG_context_priority (#4857)

* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `cc1d7b8` to `5c73dc4` (#4880)

build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools

Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `cc1d7b8` to `5c73dc4`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/cc1d7b8ddc859d611faed53c263af78a0aeb0c5c...5c73dc44f2be1cc5968e4700ba67c32dfa11ba23)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
  dependency-version: 5c73dc44f2be1cc5968e4700ba67c32dfa11ba23
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump marked from 17.0.4 to 17.0.5 (#4881)

Bumps [marked](https://github.com/markedjs/marked) from 17.0.4 to 17.0.5.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](https://github.com/markedjs/marked/compare/v17.0.4...v17.0.5)

---
updated-dependencies:
- dependency-name: marked
  dependency-version: 17.0.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump third-party/doxyconfig from `a9f0c38` to `334ad6a` (#4888)

Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `a9f0c38` to `334ad6a`.
- [Release notes](https://github.com/LizardByte/doxyconfig/releases)
- [Commits](https://github.com/LizardByte/doxyconfig/compare/a9f0c38766e53d29f1141098db237e51ba3d64d8...334ad6a7421663be9edbaf4897c33b524642ca70)

---
updated-dependencies:
- dependency-name: third-party/doxyconfig
  dependency-version: 334ad6a7421663be9edbaf4897c33b524642ca70
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump third-party/libdisplaydevice from `b46492b` to `fe7e6a8` (#4887)

build(deps): bump third-party/libdisplaydevice

Bumps [third-party/libdisplaydevice](https://github.com/LizardByte/libdisplaydevice) from `b46492b` to `fe7e6a8`.
- [Release notes](https://github.com/LizardByte/libdisplaydevice/releases)
- [Commits](https://github.com/LizardByte/libdisplaydevice/compare/b46492be8e5d1933ead8fb8867a7910ed10b610a...fe7e6a81f65deae91594702e1a185f47229745b9)

---
updated-dependencies:
- dependency-name: third-party/libdisplaydevice
  dependency-version: fe7e6a81f65deae91594702e1a185f47229745b9
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `a61b494` to `2f1fb18` (#4886)

build(deps): bump packaging/linux/flatpak/deps/shared-modules

Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `a61b494` to `2f1fb18`.
- [Commits](https://github.com/flathub/shared-modules/compare/a61b4949d10e96e5f8923284a1c847964ac3f9ad...2f1fb187252a619f4775e3126395584041b071fb)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
  dependency-version: 2f1fb187252a619f4775e3126395584041b071fb
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(csrf): make errors more apparent (#4889)

* fix: clear tray icon when unpairing the last paired client (#4890)

* feat(linux): add thread priority support for POSIX systems (#4885)

* build: fix build-deps tag matching (#4899)

* build(deps): bump third-party/tray from `4caf0d0` to `563dee4` (#4894)

Bumps [third-party/tray](https://github.com/LizardByte/tray) from `4caf0d0` to `563dee4`.
- [Release notes](https://github.com/LizardByte/tray/releases)
- [Commits](https://github.com/LizardByte/tray/compare/4caf0d0868aa45b98373249db8761551f7da7b03...563dee475f8878d252ab2b9938d3a014e776ed08)

---
updated-dependencies:
- dependency-name: third-party/tray
  dependency-version: 563dee475f8878d252ab2b9938d3a014e776ed08
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump msys2/setup-msys2 from 2.30.0 to 2.31.0 (#4893)

Bumps [msys2/setup-msys2](https://github.com/msys2/setup-msys2) from 2.30.0 to 2.31.0.
- [Release notes](https://github.com/msys2/setup-msys2/releases)
- [Changelog](https://github.com/msys2/setup-msys2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/msys2/setup-msys2/compare/4f806de0a5a7294ffabaff804b38a9b435a73bda...cafece8e6baf9247cf9b1bf95097b0b983cc558d)

---
updated-dependencies:
- dependency-name: msys2/setup-msys2
  dependency-version: 2.31.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump lucide-vue-next from 0.577.0 to 1.0.0 (#4905)

Bumps [lucide-vue-next](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next) from 0.577.0 to 1.0.0.
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/1.0.0/packages/lucide-vue-next)

---
updated-dependencies:
- dependency-name: lucide-vue-next
  dependency-version: 1.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump azure/trusted-signing-action from 1.1.0 to 1.2.0 (#4903)

Bumps [azure/trusted-signing-action](https://github.com/azure/trusted-signing-action) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/azure/trusted-signing-action/releases)
- [Commits](https://github.com/azure/trusted-signing-action/compare/87c2e83e6868da99d3380aa309851b32ed9a8346...b443cf8ea4124818d2ea9f043cba29fc3ec47b16)

---
updated-dependencies:
- dependency-name: azure/trusted-signing-action
  dependency-version: 1.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `5c73dc4` to `caca92b` (#4910)

build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools

Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `5c73dc4` to `caca92b`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/5c73dc44f2be1cc5968e4700ba67c32dfa11ba23...caca92bc6898ea40d6521b581fef2402ba3b3aae)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
  dependency-version: caca92bc6898ea40d6521b581fef2402ba3b3aae
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump vue from 3.5.30 to 3.5.31 (#4911)

Bumps [vue](https://github.com/vuejs/core) from 3.5.30 to 3.5.31.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.30...v3.5.31)

---
updated-dependencies:
- dependency-name: vue
  dependency-version: 3.5.31
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump LizardByte/actions from 2026.227.200013 to 2026.328.161128 in the lizardbyte-actions group across 1 directory (#4920)

build(deps): bump LizardByte/actions

Bumps the lizardbyte-actions group with 1 update in the / directory: [LizardByte/actions](https://github.com/lizardbyte/actions).


Updates `LizardByte/actions` from 2026.227.200013 to 2026.328.161128
- [Release notes](https://github.com/lizardbyte/actions/releases)
- [Commits](https://github.com/lizardbyte/actions/compare/70bb8d394d1c92f6113aeec6ae9cc959a5763d15...0affa4f7bcb27562658960eee840eff8ff844578)

---
updated-dependencies:
- dependency-name: LizardByte/actions
  dependency-version: 2026.328.161128
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: lizardbyte-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* test(windows): fix display device tests with clang (#4921)

* chore: update global workflows (#4916)

* build(deps): bump codecov/codecov-action from 5.5.3 to 6.0.0 (#4913)

Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.5.3 to 6.0.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/1af58845a975a7985b0beb0cbe6fbbb71a41dbad...57e3a136b779b570ffcdbf80b3bdc90e7fab3de2)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build: Allow FFMPEG_PLATFORM_LIBRARIES to be overridden by the user (#4915)

* fix: restore stdin-based pairing (#4912)

* build(deps): bump third-party/moonlight-common-c from `6268780` to `7022b33` (#4923)

build(deps): bump third-party/moonlight-common-c

Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `6268780` to `7022b33`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/62687809b1f7410c3db4be2527503a54ae408d70...7022b337a9a682f1d974aed69f6065fa57b4164f)

---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
  dependency-version: 7022b337a9a682f1d974aed69f6065fa57b4164f
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat(api/ui): add client enable/disable access control (#4771)

* fix(windows): update-path.bat registry command syntax in installer (#4902)

* build(deps): bump vmactions/freebsd-vm from 1.4.3 to 1.4.4 (#4928)

Bumps [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) from 1.4.3 to 1.4.4.
- [Release notes](https://github.com/vmactions/freebsd-vm/releases)
- [Commits](https://github.com/vmactions/freebsd-vm/compare/4807432c7cab1c3f97688665332c0b932062d31f...7ca82f79fe3078fecded6d3a2bff094995447bbd)

---
updated-dependencies:
- dependency-name: vmactions/freebsd-vm
  dependency-version: 1.4.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat(linux): Add Vulkan video encoder (#4603)

* build(deps): bump third-party/moonlight-common-c from `7022b33` to `7b026e7` (#4930)

build(deps): bump third-party/moonlight-common-c

Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `7022b33` to `7b026e7`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/7022b337a9a682f1d974aed69f6065fa57b4164f...7b026e77be62175104640e7e722b758df6d3d0d7)

---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
  dependency-version: 7b026e77be62175104640e7e722b758df6d3d0d7
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump third-party/nvapi from `9296d67` to `9b181ea` (#4917)

Bumps [third-party/nvapi](https://github.com/NVIDIA/nvapi) from `9296d67` to `9b181ea`.
- [Commits](https://github.com/NVIDIA/nvapi/compare/9296d671e71608d6d6b7749ed93989af4ada8858...9b181ea572f680327fe01a14a0f1f41c78034104)

---
updated-dependencies:
- dependency-name: third-party/nvapi
  dependency-version: 9b181ea572f680327fe01a14a0f1f41c78034104
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: update global workflows (#4936)

* build(deps): bump vue from 3.5.31 to 3.5.32 (#4941)

Bumps [vue](https://github.com/vuejs/core) from 3.5.31 to 3.5.32.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.31...v3.5.32)

---
updated-dependencies:
- dependency-name: vue
  dependency-version: 3.5.32
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump marked from 17.0.5 to 18.0.0 (#4957)

Bumps [marked](https://github.com/markedjs/marked) from 17.0.5 to 18.0.0.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](https://github.com/markedjs/marked/compare/v17.0.5...v18.0.0)

---
updated-dependencies:
- dependency-name: marked
  dependency-version: 18.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump vue-i18n from 11.3.0 to 11.3.1 (#4953)

Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 11.3.0 to 11.3.1.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.3.1/packages/vue-i18n)

---
updated-dependencies:
- dependency-name: vue-i18n
  dependency-version: 11.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `2f1fb18` to `6ea20c8` (#4949)

build(deps): bump packaging/linux/flatpak/deps/shared-modules

Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `2f1fb18` to `6ea20c8`.
- [Commits](https://github.com/flathub/shared-modules/compare/2f1fb187252a619f4775e3126395584041b071fb...6ea20c834ed5378c4ab5d36676650921eeac1367)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
  dependency-version: 6ea20c834ed5378c4ab5d36676650921eeac1367
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: redact logging of sensitive config & CSRF validation (#4955)

* fix(linux): correct "Pulseadio" typo in PulseAudio log messages (#4956)

* fix(linux/vulkan): add 16-bit DRM format support for HDR DMA-BUF import (#4962)

* fix(linux/xdgportal): Properly support multiple screens by exposing pipewire streams as separate displays (#4931)

* fix(linux/postins): allow running on rpm-ostree environments (#4963)

* build(deps): bump actions/github-script from 8.0.0 to 9.0.0 (#4970)

build(deps): bump actions/github-script in /

Bumps [actions/github-script](https://github.com/actions/github-script) in `/` from 8.0.0 to 9.0.0.


Updates `actions/github-script` from 8.0.0 to 9.0.0
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/ed597411d8f924073f98dfc5c65a23a2325f34cd...3a2844b7e9c422d3c10d287c895573f7108da1b3)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github_actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump vue-i18n from 11.3.1 to 11.3.2 (#4964)

Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 11.3.1 to 11.3.2.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.3.2/packages/vue-i18n)

---
updated-dependencies:
- dependency-name: vue-i18n
  dependency-version: 11.3.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(linux/xdgportal): Improve multi-monitor support and work around breaking kmsgrab (#4969)

* chore: update global workflows (#4976)

* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `caca92b` to `9d9ad80` (#4983)

build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools

Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `caca92b` to `9d9ad80`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/caca92bc6898ea40d6521b581fef2402ba3b3aae...9d9ad80a55d730e4284d1f09a93da667c84a118a)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
  dependency-version: 9d9ad80a55d730e4284d1f09a93da667c84a118a
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `6ea20c8` to `b8236c7` (#4975)

build(deps): bump packaging/linux/flatpak/deps/shared-modules

Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `6ea20c8` to `b8236c7`.
- [Commits](https://github.com/flathub/shared-modules/compare/6ea20c834ed5378c4ab5d36676650921eeac1367...b8236c7961e3dd447b1b9605375a54a12f9f24b6)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
  dependency-version: b8236c7961e3dd447b1b9605375a54a12f9f24b6
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 (#4974)

build(deps): bump peter-evans/create-pull-request in /

Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) in `/` from 8.1.0 to 8.1.1.


Updates `peter-evans/create-pull-request` from 8.1.0 to 8.1.1
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/c0f553fe549906ede9cf27b5156039d195d2ece0...5f6978faf089d4d20b00c7766989d076bb2fc7f1)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-version: 8.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github_actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 (#4973)

build(deps): bump actions/upload-artifact in /

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) in `/` from 7.0.0 to 7.0.1.


Updates `actions/upload-artifact` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/bbbca2ddaa5d8feaa63e36b76fdaad77386f024f...043fb46d1a93c77aae656e7c1c64a875d1fc6a0a)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github_actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(linux/xdgportal): Additional error handling and minor code improvements (#4979)

* feat(linux/vulkan): enable RADV low-latency Vulkan Video encoding (#4984)

* build(deps-dev): bump vite from 6.4.1 to 6.4.2 (#4985)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.4.1 to 6.4.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.4.2
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* revert: "feat(linux/vulkan): enable RADV low-latency Vulkan Video encoding" (#4989)

* chore: update global workflows (#4990)

* fix(linux/vulkan): encoder not working on NVIDIA GPUs (#4994)

* chore(deps): update dependency @vitejs/plugin-vue to v6.0.6 (#4992)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update actions/cache action to v5.0.5 (#4991)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(linux/vulkan): guard deprecated FFmpeg Vulkan queue lock/unlock (#5005)

* chore(deps): update dependency setuptools to v81 (#5003)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update lizardbyte/actions action to v2026.417.35446 (#5012)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency marked to v18.0.1 (#5011)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update vmactions/freebsd-vm action to v1.4.5 (#5001)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `9d9ad80` to `34ecf07` (#5015)

build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools

Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `9d9ad80` to `34ecf07`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/9d9ad80a55d730e4284d1f09a93da667c84a118a...34ecf07ef4843f36b3078637ca13f1dbb1c2963a)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
  dependency-version: 34ecf07ef4843f36b3078637ca13f1dbb1c2963a
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): update msys2/setup-msys2 action to v2.31.1 (#5016)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @codecov/vite-plugin to v2 (#4996)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(linux): auto-detect GPU with connected display for VAAPI and Vulkan (#4961)

* refactor(linux/xdgportal): Split pipewire code into it's own file so it can be reused (#5008)

* fix(rtsp): ignore clientRefreshRateX100 if more than 1% variance from framerate (#5027)

Co-authored-by: Andy Grundman <105828+andygrundman@users.noreply.github.com>

* fix: Resolve minimum_fps_target related issues on all platforms (#4967)

* fix(linux/vulkan): remove deprecated FFmpeg Vulkan queue lock/unlock (#5031)

* feat(nvenc): support for split frame encoding on GPUs with 2+ nvenc blocks (#4892)

Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>

* refactor(linux/xdgportal): Move elevated privilege check/drop to misc.cpp (#5026)

* fix(linux/vulkan): change default rate control from VBR to CBR (#5032)

* chore(deps): update actions/setup-node action to v6.4.0 (#5033)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency marked to v18.0.2 (#5022)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* build(deps): bump third-party/nv-codec-headers from `e844e5b` to `33a9ede` (#5035)

build(deps): bump third-party/nv-codec-headers

Bumps [third-party/nv-codec-headers](https://github.com/FFmpeg/nv-codec-headers) from `e844e5b` to `33a9ede`.
- [Release notes](https://github.com/FFmpeg/nv-codec-headers/releases)
- [Commits](https://github.com/FFmpeg/nv-codec-headers/compare/e844e5b26f46bb77479f063029595293aa8f812d...33a9ede8d9914299d9262539c576a15bd0a19621)

---
updated-dependencies:
- dependency-name: third-party/nv-codec-headers
  dependency-version: 33a9ede8d9914299d9262539c576a15bd0a19621
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(linux): multi-GPU segfault + wlr GPU auto selection, DMA-BUF metadata planes and revert wlr vulkan support (#5030)

* chore(deps): update apple-actions/import-codesign-certs action to v7 (#5037)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: touch scaling bug and initialize display variables as 0 (#4758)

Co-authored-by: Chase Payne <27069224+nonary@users.noreply.github.com>

* fix(network): restore ExternalIP in server info response (#5043)

* chore(deps): update dependency vue to v3.5.33 (#5042)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(linux/pipewire): Fix absolute touchinput for multi-monitor (#5041)

* refactor(linux): remove leftovers from portalgrab -> pipewire split (#5039)

* docs(readme): restructure feature compatibility tables (#5040)

* fix(linux/pipewire): calculate env_width/env_height from all displays for pipewire_display_t  (#5050)

* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `34ecf07` to `e39e586` (#5052)

build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools

Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `34ecf07` to `e39e586`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/34ecf07ef4843f36b3078637ca13f1dbb1c2963a...e39e58633c61060e3705b5a24d1b52e99a79f1b5)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
  dependency-version: e39e58633c61060e3705b5a24d1b52e99a79f1b5
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): update dependency vue-i18n to v11.4.0 (#5048)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat(linux/xdgportal): Simplify display matching logic (#5053)

* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `e39e586` to `50a0768` (#5055)

build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools

Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `e39e586` to `50a0768`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/e39e58633c61060e3705b5a24d1b52e99a79f1b5...50a07682428880637a315e4225499b719317344f)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
  dependency-version: 50a07682428880637a315e4225499b719317344f
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat(linux/pipewire): Add support for pipewire stream selection by object serial (#5054)

* build(deps): bump third-party/build-deps from `c08f69d` to `cd7d45a` (#5056)

* build(deps): bump third-party/build-deps from `c08f69d` to `cd7d45a`

Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `c08f69d` to `cd7d45a`.
- [Release notes](https://github.com/LizardByte/build-deps/releases)
- [Commits](https://github.com/LizardByte/build-deps/compare/c08f69db10450bd06cf79045e79b9179c99bae70...cd7d45a4a1916d7949046162d81e859112ad3ab1)

---
updated-dependencies:
- dependency-name: third-party/build-deps
  dependency-version: cd7d45a4a1916d7949046162d81e859112ad3ab1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update FFmpeg flatpak sources to v2026.425

Bump the FFmpeg prebuilt artifacts used by the Flatpak module to release v2026.425.130933. Updated download URLs and SHA256 checksums for x86_64 and aarch64 builds (dest-filename remains ffmpeg.tar.gz). No other changes.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>

* feat(capture/linux): add KWin direct screencast capture method (#5009)

Co-authored-by: Ramalama2 <6314556+Ramalama2@users.noreply.github.com>

* feat(linux/pipewire): Handle HDR(Rec. 2020/SMPTE 2084 PQ) visuals (#5025)

* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `50a0768` to `1895ec8` (#5073)

build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools

Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `50a0768` to `1895ec8`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/50a07682428880637a315e4225499b719317344f...1895ec86e460198100089435ecb7c387ebd2264d)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
  dependency-version: 1895ec86e460198100089435ecb7c387ebd2264d
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `b8236c7` to `2dfad85` (#5070)

build(deps): bump packaging/linux/flatpak/deps/shared-modules

Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `b8236c7` to `2dfad85`.
- [Commits](https://github.com/flathub/shared-modules/compare/b8236c7961e3dd447b1b9605375a54a12f9f24b6...2dfad855131c70ff7cafd32f3f4901c6d82b9247)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
  dependency-version: 2dfad855131c70ff7cafd32f3f4901c6d82b9247
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump third-party/wlr-protocols from `a741f0a` to `bf4fc79` (#5072)

Bumps [third-party/wlr-protocols](https://github.com/LizardByte-infrastructure/wlr-protocols) from `a741f0a` to `bf4fc79`.
- [Commits](https://github.com/LizardByte-infrastructure/wlr-protocols/compare/a741f0ac5d655338a5100fc34bc8cec87d237346...bf4fc79abc359eea5a0edec0ac6d4a2b2955f82a)

---
updated-dependencies:
- dependency-name: third-party/wlr-protocols
  dependency-version: bf4fc79abc359eea5a0edec0ac6d4a2b2955f82a
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): update dependency marked to v18.0.3 (#5068)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat(input): implement multiseat support and virtual device naming (#4954)

* fix(linux): security: drop CAP_SYS_ADMIN when possible, retain CAP_SYS_NICE (#5075)

* feat(linux/wlgrab): match output_name by xdg_output name (#5071)

* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `1895ec8` to `dda10aa` (#5077)

build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools

Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `1895ec8` to `dda10aa`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/1895ec86e460198100089435ecb7c387ebd2264d...dda10aa5949811589747e6e485da6ae2e86b5d2b)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
  dependency-version: dda10aa5949811589747e6e485da6ae2e86b5d2b
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): update dependency vue to v3.5.34 (#5078)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* build(linux): add ubuntu 26.04 support (#5051)

* build(linux): fix gcov detection for ArchLinux (#5081)

* chore(deps): update dependency vue-i18n to v11.4.2 (#5080)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Merge commit from fork

* build(web-ui): commit lock file (#5083)

* fix: show actual bind address in Web UI log message (#4897)

* build(windows): Always setup Node.js in Windows CI (#5084)

* feat(nvenc): support intraRefresh for h264, add outputRecoveryPointSEI=1 to intra-refresh config for h264 and hevc (#5091)

* fix: building without the system tray enabled (#5092)

* build(deps): bump third-party/build-deps from `cd7d45a` to `d8b1d18` (#5097)

Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `cd7d45a` to `d8b1d18`.
- [Release notes](https://github.com/LizardByte/build-deps/releases)
- [Commits](https://github.com/LizardByte/build-deps/compare/cd7d45a4a1916d7949046162d81e859112ad3ab1...d8b1d18b7e82f8ee396bdd05e226896fa523b0df)

---
updated-dependencies:
- dependency-name: third-party/build-deps
  dependency-version: d8b1d18b7e82f8ee396bdd05e226896fa523b0df
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `2dfad85` to `8c3f3cf` (#5098)

build(deps): bump packaging/linux/flatpak/deps/shared-modules

Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `2dfad85` to `8c3f3cf`.
- [Commits](https://github.com/flathub/shared-modules/compare/2dfad855131c70ff7cafd32f3f4901c6d82b9247...8c3f3cfa5a4af9a696ff0bfb3ed0eba404faaf5d)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
  dependency-version: 8c3f3cfa5a4af9a696ff0bfb3ed0eba404faaf5d
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* ci: remove moonlight discord release announcement (#5099)

* build(deps): Add SUNSHINE_SYSTEM_VULKAN_HEADERS option (#5103)

Signed-off-by: James Le Cuirot <chewi@gentoo.org>

* build(macos): configure C++ standard and ICU root (#5101)

* fix(macos): preserve modifier state in input events (#5102)

* build(windows): drop unused boost-locale (#5116)

* ci(windows): add linkage check (#5118)

* chore(deps): update azure/trusted-signing-action action to v2 (#5117)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(macos): provide left/right identity for modifiers (#5115)

* feat(web-ui): add logout (#5121)

* build(deps): bump third-party/moonlight-common-c from `7b026e7` to `2600bea` (#5123)

build(deps): bump third-party/moonlight-common-c

Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `7b026e7` to `2600bea`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/7b026e77be62175104640e7e722b758df6d3d0d7...2600beaf13f18bfa43453609cf5e3b84a4227760)

---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
  dependency-version: 2600beaf13f18bfa43453609cf5e3b84a4227760
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): update dependency @vitejs/plugin-vue to v6.0.7 (#5122)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* build(deps): bump third-party/plasma-wayland-protocols from `18afc45` to `4c015e9` (#5124)

build(deps): bump third-party/plasma-wayland-protocols

Bumps [third-party/plasma-wayland-protocols](https://github.com/KDE/plasma-wayland-protocols) from `18afc45` to `4c015e9`.
- [Commits](https://github.com/KDE/plasma-wayland-protocols/compare/18afc45c092857e998c890afce1e7e71f808d819...4c015e90ae6c88f2ffa766e899387ef431eade49)

---
updated-dependencies:
- dependency-name: third-party/plasma-wayland-protocols
  dependency-version: 4c015e90ae6c88f2ffa766e899387ef431eade49
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(linux/pipewire): Add 10-bit RGB formats with 2-bit Alpha to format_map (#5088)

* chore: update global workflows (#5126)

* fix(audio): fix install of Steam Streaming Speakers driver (#5125)

* build(deps): bump third-party/doxyconfig from `334ad6a` to `e552f7c` (#5127)

Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `334ad6a` to `e552f7c`.
- [Release notes](https://github.com/LizardByte/doxyconfig/releases)
- [Commits](https://github.com/LizardByte/doxyconfig/compare/334ad6a7421663be9edbaf4897c33b524642ca70...e552f7c9f00cd0cf24764a37d0905935b3d2c188)

---
updated-dependencies:
- dependency-name: third-party/doxyconfig
  dependency-version: e552f7c9f00cd0cf24764a37d0905935b3d2c188
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build: bump freebsd version to 14.4 and build-deps to v2026.516.30821 (#5129)

* build(deps): bump third-party/inputtino from `f4ce2b0` to `b887f6a` (#5135)

Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `f4ce2b0` to `b887f6a`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/f4ce2b0df536ef309e9ff318f75b460f7097d7c1...b887f6a37a4f6babea66ee7b9a79bc8f520d7554)

---
updated-dependencies:
- dependency-name: third-party/inputtino
  dependency-version: b887f6a37a4f6babea66ee7b9a79bc8f520d7554
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(macos): scale remote scroll input using macOS scroll speed (#5133)

* chore(deps): update dependency vue-i18n to v11.4.3 (#5139)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore: fixes for release automation (#5142)

* chore(deps): update dependency vue-i18n to v11.4.4 (#5143)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency date-fns to v4.2.1 (#5145)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update codecov/codecov-action action to v6.0.1 (#5149)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(web): disconnect only the disabled client instead of all sessions (#5138)

* chore(deps): update dependency marked to v18.0.4 (#5151)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore: rename copilot-instructions.md to AGENTS.md (#5156)

* fix(Windows-installer): move ViGEmBus to ThirdParty group (#5157)

* feat(rtsp): add option to limit packetsize for clients that cannot configure it (#5153)

Signed-off-by: Georgi Valkov <gvalkov@gmail.com>

* feat(web-ui): Added Filtering & Searching to the Apps page (#5158)

Co-authored-by: Noklef <281545466+Noklef@users.noreply.github.com>

* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `dda10aa` to `ee65dc7` (#5155)

build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools

Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `dda10aa` to `ee65dc7`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/dda10aa5949811589747e6e485da6ae2e86b5d2b...ee65dc7a798be56de8c4c1ab73411461cac020b4)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
  dependency-version: ee65dc7a798be56de8c4c1ab73411461cac020b4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(crowdin): set commit message (#5160)

* chore(l10n): update translations (#5161)

* fix(web): the packetsize upper limit is 65535 (#5167)

Signed-off-by: Georgi Valkov <gvalkov@gmail.com>

* chore(l10n): update translations (#5162)

* chore(deps): update dependency date-fns to v4.3.0 (#5172)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `ee65dc7` to `96e2fe8` (#5165)

build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools

Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `ee65dc7` to `96e2fe8`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/ee65dc7a798be56de8c4c1ab73411461cac020b4...96e2fe8bf7d2e5791ca1bdce2dba373f1e27c425)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
  dependency-version: 96e2fe8bf7d2e5791ca1bdce2dba373f1e27c425
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): update lizardbyte/actions action to v2026.522.121358 (#5173)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(web-ui): add documentation link and version-aware URLs (#5176)

* chore(deps): update lizardbyte/actions action to v2026.524.145234 (#5177)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): migrate from lucide-vue-next to @lucide/vue (#5179)

* chore(l10n): update translations (#5178)

* chore: Add CLion run configuration for 'sunshine' (#5181)

* build(freebsd): fix npm install (#5182)

* fix(linux): migrate to qt tray (#4907)

Co-authored-by: Kishi <41839133+Kishi85@users.noreply.github.com>

* fix: explicitly check construct function error in thread_safe.h (#5184)

* build(macos): quote SHOULD_SIGN env expansion in install script (#5185)

* fix(macos/packaging): add NSLocalNetworkUsageDescription so Bonjour can register (#5186)

* chore(l10n): update translations (#5193)

* fix(linux/vulkan): preserve host aspect ratio in encoder output (#5130)

* fix(macos): drop max_ref_frames=1 for h264_videotoolbox and enable PARALLEL_ENCODING (#5200)

* chore(deps): update dependency vue to v3.5.35 (#5204)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(l10n): update translations (#5196)

* build(Archlinux): Shallow clone dependent submodules (#5206)

* chore(deps): update dependency @lucide/vue to v1.17.0 (#5210)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update actions/setup-dotnet action to v5.3.0 (#5208)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(linux/vulkan): Ensure RADV vulkan video encoding is enabled on newer versions of Mesa (#5211)

* fix(linux/kwin): retry init with fully dropped elevated privileges in case KWin is missing CAP_SYS_NICE on linux (#5212)

* feat(web-ui): Updated `Add` / `Edit` app form to use modals + new `Delete` App UI flow (#5166)

* chore(deps): bump wayland-protocols to 1.48 (#5219)

* chore(deps): update dependency date-fns to v4.4.0 (#5215)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(l10n): update translations (#5220)

* build(deps): bump third-party/tray from `6332649` to `df9af11` (#5221)

Bumps [third-party/tray](https://github.com/LizardByte/tray) from `6332649` to `df9af11`.
- [Release notes](https://github.com/LizardByte/tray/releases)
- [Commits](https://github.com/LizardByte/tray/compare/6332649ac6c051453c00327919e84472c7a2f660...df9af119085e2cd3f1a9e88e4cc865963879d468)

---
updated-dependencies:
- dependency-name: third-party/tray
  dependency-version: df9af119085e2cd3f1a9e88e4cc865963879d468
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(python): migrate to uv (#5222)

* build(homebrew): fix service install on linux (#5223)

* chore(gh-pages): remove unused jquery dependency (#5235)

* docs(contributing): refresh clang-format guidance (#5233)

* chore(deps): update vmactions/freebsd-vm action to v1.4.6 (#5226)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(l10n): update translations (#5229)

* chore(deps): update dependency bootstrap-icons to v1.13.1 (#5239)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency vite to v6.4.3 (#5238)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update official github actions to v6.0.3 (#5242)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency simple-icons to v13 (#5243)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency simple-icons to v16 (#5248)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: David Lane <42013603+ReenigneArcher@users.noreply.github.com>

* chore(deps): use lizardbyte-common for python helpers (#5250)

* chore(deps): update lizardbyte/actions action to v2026.605.34721 (#5253)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency marked to v18.0.5 (#5251)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update astral-sh/setup-uv action to v8.2.0 (#5245)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update codecov/codecov-action action to v7 (#5262)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency vue-i18n to v11.4.5 (#5256)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `96e2fe8` to `ac5a296` (#5263)

build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools

Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `96e2fe8` to `ac5a296`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/96e2fe8bf7d2e5791ca1bdce2dba373f1e27c425...ac5a296ac6111aa2319daf532f609a067b88d8a9)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
  dependency-version: ac5a296ac6111aa2319daf532f609a067b88d8a9
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump third-party/wayland-protocols from `02e63e7` to `ee78491` (#5271)

build(deps): bump third-party/wayland-protocols

Bumps [third-party/wayland-protocols](https://github.com/LizardByte-infrastructure/wayland-protocols) from `02e63e7` to `ee78491`.
- [Commits](https://github.com/LizardByte-infrastructure/wayland-protocols/compare/02e63e74a807afed95bc25a386173110afef24e3...ee78491a237eaff9389a0ccf8680521d074407d3)

---
updated-dependencies:
- dependency-name: third-party/wayland-protocols
  dependency-version: ee78491a237eaff9389a0ccf8680521d074407d3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(homebrew): bump ubuntu to 24.04 (#5272)

* fix(wayland): support DMA-BUF modifiers for wlroots capture (#5132)

* chore(deps): bump libdisplaydevice (#5280)

* chore(deps): update vue monorepo to v3.5.37 (#5281)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(tray): fix compiling without system tray enabled (#5284)

* chore(deps): update msys2/setup-msys2 action to v2.32.0 (#5285)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update lucide monorepo to v1.18.0 (#5287)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update vue monorepo to v3.5.38 (#5283)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* build(Linux/AppImage): replace gtk plugin with qt plugin for system tray (#5295)

* feat(linux): Add hardware yuv444 chromasubsampling support on nvidia cards (cuda/cuda gl) (#4965)

* chore(deps): lock file maintenance (#5269)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* build(deps): bump third-party/tray from `df9af11` to `8ea4c68` (#5296)

Bumps [third-party/tray](https://github.com/LizardByte/tray) from `df9af11` to `8ea4c68`.
- [Release notes](https://github.com/LizardByte/tray/releases)
- [Commits](https://github.com/LizardByte/tray/compare/df9af119085e2cd3f1a9e88e4cc865963879d468...8ea4c6835d623b1095a6c8885d70e6c836ca2307)

---
updated-dependencies:
- dependency-name: third-party/tray
  dependency-version: 8ea4c6835d623b1095a6c8885d70e6c836ca2307
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): update lucide monorepo to v1.20.0 (#5297)

Co-authored-by: renovate[bot] <29139614+renovate[…
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.

3 participants