Open SimplySign's window by relaunching it, not by clicking a guessed coordinate - #76
Merged
Conversation
The measured coordinate worked on the spike runner and missed on the first release run: hosted runners differ in what else sits in the tray. Ask the tray's toolbar which process owns each button instead, and click where Windows says that button is, handling the chevron when the icon is folded away. Try simply launching the application again first, which is what a user typing its name would do and what a single-instance app answers by showing its window. Opening that window needs no credential, so it can be exercised without spending an approval: -ProbeOnly stops before the typing, and a throwaway workflow drives it on this branch. The login script is also parsed and its tray helper compiled on every build now, since a typo in it would otherwise cost a release attempt. Mail the approval request as well: an assigned issue is the one way to reach a mailbox without SMTP credentials in a public repository. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Xavier Roche <roche@httrack.com>
The probe found it on the first run. The tray icon turned out to be behind the chevron and owned by a different process than the one we launch, so neither the old coordinate nor a pid match could have found it; the second launch opens the window regardless. The tray enumeration stays as the fallback and, more usefully, as the diagnostic that explained this one. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Xavier Roche <roche@httrack.com>
GitHub already notifies a required reviewer; adding a second channel before confirming the first one is missing was premature, and it cost an issues: write permission and noise in a public tracker. The next approved run tells us whether the native mail arrives. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Xavier Roche <roche@httrack.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 first release run failed at the login: the tray coordinate measured during the spike missed. A probe on a hosted runner showed why, and it was not a near miss. SimplySign's icon sits behind the chevron there rather than in the visible area, and it belongs to a different process than the one the workflow launches, so neither the fixed coordinate nor a match on that process could have found it.
Launching the application a second time avoids the question: the running instance answers by opening its login window, with no coordinate involved. That is now the first thing tried, and it worked on the first probe. Locating the icon through the notification area's own toolbar remains as a fallback and as the diagnostic that explained this failure, which is worth more than the click.
Two things keep the next failure cheap:
-ProbeOnlystops before any credential is typed, so opening the window can be exercised without spending an approval on thesigningenvironment, and every build now parses this script and compiles the C# inside it, since a typo there costs a release attempt rather than a build.