Skip to content

Add configurable QoS for the managed Syncthing process - #294

Draft
robios wants to merge 1 commit into
syncthing:v2from
robios:feature/issue-293
Draft

Add configurable QoS for the managed Syncthing process#294
robios wants to merge 1 commit into
syncthing:v2from
robios:feature/issue-293

Conversation

@robios

@robios robios commented Jul 28, 2026

Copy link
Copy Markdown

Summary

  • add Normal, Utility, and Background priority choices to Preferences
  • persist the selected quality of service and apply it when launching Syncthing
  • restart the managed Syncthing process when the setting changes
  • preserve Background as the fallback for existing installations
  • document the new preference

Why

The wrapper currently launches Syncthing with background QoS unconditionally.
On systems with large folders, macOS background scheduling can make full scans
substantially slower. Normal and Utility allow users to trade energy impact for
scan performance without changing Syncthing's own configuration.

Closes #293

Testing

  • make debug
  • launched the resulting app on macOS 15.6 (Apple Silicon)
  • switched between Normal, Utility, and Background
  • verified that changing the setting restarts Syncthing
  • verified that the Syncthing health endpoint returns OK
  • used Normal and Utility with a folder containing about 393,000 local files;
    both avoid the severe slowdown observed with Background

Compatibility

If the preference has never been set, or contains an unknown value, the app
continues to use Background. This preserves the behavior of existing
installations.

Draft status

This is ready for design feedback. Additional controlled scan timings and
longer-running Utility usage can be added before marking the PR ready for
review.

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.

Allow configuring daemon QoS to avoid slow large-folder scans

1 participant