Repository navigation
Run a worker from the desktop app - #1003
Merged
Merged
Conversation
…l controls `psf-guard worker --config FILE` reads the worker's settings from a file only its user can read, and `--tray` runs the desktop app's worker in the macOS menu bar or the Windows system tray, with Tauri's tray and no window. The worker keeps a status (connection, running tasks and their progress, the latest problem) and can pause taking new tasks. A tray worker serves its status, pause, resume and quit on a localhost port, behind a secret in a file beside its settings, for the desktop app. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…t it at login Settings › Run a worker in the desktop app saves the worker's settings, starts it in the menu bar or the system tray, shows its connection and running task, and pauses, restarts or stops it through its local controls. "Start the worker when I log in" adds a LaunchAgent on macOS and a Run entry on Windows. The tray exits when the worker is stopped on purpose, and a second start leaves a running worker alone. Settings › Workers on a server now shows a new token on its own, for the app. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Open PSF Guard, and opening the app from the Dock or the Finder while the tray runs, start the app's executable directly. The main app now runs with tauri-plugin-single-instance, registered first, and loads the registry and starts its desktop server only after that check, so a second launch brings the window forward instead of starting a second server. - The tray serves its controls on a thread of its own until it exits, so Stop and Restart wait for the worker to leave the server, and a worker that the server refused, or whose settings cannot run, shows why. Start quits such a tray before starting a new one. - The status shows a lost connection until a claim succeeds again. - The host name is read without starting `hostname`, which opened a console window on Windows. - The worker's logs start `worker`, so the app's week of logs no longer counts them; the settings live in the local profile on Windows; the control client ignores system proxies; the control file is named after its settings file; --config and --tray refuse the other options. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…indows seiza-stacking 0.51.2 starts RC-Astro tools with CREATE_NO_WINDOW, so the tray worker and the Windows service open no console window for each rc-astro probe and run. It also brings 0.51.1's faster blind registration for mosaics. Stacking output stays 0.51.0, so cached stacks remain valid. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
theatrus
force-pushed
the
desktop-worker
branch
from
October 26, 2026 01:42
de12bc4 to
9fe4005
Compare
…s and optional shared storage The desktop app's worker is the This computer section of Settings › Workers, not a tab of its own. Its labels are short: Server address, Token, Name, Work, Tasks at once, Start at login, and Start, Pause, Resume, Restart and Stop; the tray menu has Pause, Resume, Open PSF Guard and Quit. Task files transfer through the server; shared storage is an option under Files on this computer, and under Shared storage on a server, whose messages now say "shared folder" rather than "exchange folder". The guide describes transfer through the server as the default. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The desktop app can run a worker for another PSF Guard server on macOS or Windows. Open Settings › Workers › Worker on this computer, enter the server address and worker token, then click Save worker settings and Start worker. The worker continues running in the menu bar or system tray after the app window closes.
The worker computer runs processing tasks; the server stores the catalog and results. Workers for this server lists connections, creates worker tokens and controls where tasks run. The desktop form configures this computer’s connection to a server.
Changes include:
The Workers guide, design record, release notes, accessible labels and tests use the same terminology.
Screenshots
Browser fixtures simulate Tauri commands. These screenshots verify the rendered form; they do not demonstrate native tray or login behavior.
Phone: labeled shared-folder mappings
Validation
cargo fmt --all -- --check.npm run lint,npm run build; focused desktop/server worker Vitest files: 11 passed.scripts/e2e-local.mjs e2e/desktop-worker-settings.spec.ts e2e/worker-settings.spec.ts: 4 passed, Chromium and WebKit, including phone-width mapping fields, saved-token behavior, worker startup and token revocation. The desktop/phone screenshot cases were also rerun successfully after correcting the captures.git diff --check; screenshots visually inspected.Native Windows tray/login behavior and bundled-app single-instance behavior were not exercised in this language pass. The original branch reported manual macOS tray connection, pause/resume, shutdown and duplicate-start checks at 7b9ffba; those checks were not repeated here.
Known limits