Clipboard history VM coverage, version sync, and brew formula - #243
Merged
Merged
Conversation
- packaging/vmtest/checks.sh: new clipboard-history subcommand drives SetClipboard over the bus and asserts both markers surface in query --provider clipboard, against an engine on a private socket - design: dropdown/dropdown_menu from the palette; the kind filter uses them in the launcher font instead of Iced's default chrome - versions: workspace 0.28.1 to match the manifest tag; bump_version.sh moves every source together; version_sync test pins the invariant - packaging/homebrew/compass.rb: Linux-only formula draft for the experimental tap (sha256 pending the release tag)
runuser keeps root's HOME, so the unlock operated on /root's keyring while the session daemon kept the user's locked one; secret-tool then hung the full 60s probe timeout on the lock prompt. Set HOME from getent, verify Locked after unlock, and recreate with a known password when still locked. Also pipe the probe secret on stdin (closed stdin stored an empty secret) and put timeouts around engine ping/shutdown and SetClipboard, which had no bound.
The export -f ran before engine() was defined, so the check died on 'export: engine: not a function' before its first echo.
The replacement daemon needs a moment to own the bus name, so the Locked read raced it and came back empty. Wait for the service, then unlock the fresh daemon directly.
Gating on the login collection's Locked property proved unreliable and --replace races the fresh daemon's bus ownership. Probe the roundtrip as ground truth; when the autologin-locked login keyring is unusable, create an unlocked collection over D-Bus and point the default alias at it, which is what the Secret portal serves the Flatpak from.
Reopening the stdin pipe through runuser fails with EACCES; reading fd 0 directly works.
The daemon rejects any other alias; 'default' both names the collection and points the alias at it, so no SetAlias is needed.
The daemon password-protects new D-Bus collections through an interactive prompt, so the sidecar could never work headless. Drop it: try an empty password too, then delete the unknown-password login file, stop the supervising autostart units, and --replace --unlock fresh. Also removes a stale duplicated unlock block.
--replace never dethroned the PAM-started login daemon, which kept the bus name while our replacement hung behind it. Kill every keyring daemon, mask the user units against socket activation, and start one fresh daemon with a known password, retried against respawns.
comm caps process names at 15 chars, so -x with the 21-char daemon name never matches. Use -f with a bracketed first letter, which also keeps the wrapper's own command line from matching.
wayland_display calls uid, but only wayland_display was exported, so every engine call behind timeout logged 'uid: command not found' (and ran with an empty WAYLAND_DISPLAY). Cosmetic on ping, real anywhere the display matters.
checks.sh grew an engine() forwarder (fixed flags plus caller args), which the flatpak call-site guard could not parse. Stand ping in for the caller side so the fixed flags are still validated.
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.
Proven on the VM tier (clipboard-history check green in run 36335601846: both markers recorded). Brings: the clipboard-history VM check with keyring handling, version-sync test plus bump_version.sh as source of truth, the Linux Homebrew formula reference copy, and chroot image builds (#240). The dropdown half already landed via #242; identical content here merges clean.