Skip to content

fix: add single-instance protection and startup crash logging (v1.0.8) - #22

Merged
pexatar merged 1 commit into
mainfrom
fix/single-instance-v1.0.8
May 4, 2026
Merged

pexatar merged 1 commit into
mainfrom
fix/single-instance-v1.0.8

Conversation

@pexatar

@pexatar pexatar commented May 4, 2026

Copy link
Copy Markdown
Owner

Launching PassKey when it is already running in the system tray now brings the existing window to the foreground (via a named EventWaitHandle) instead of silently spawning a second invisible process. This was the root cause of the "app installs but doesn't start" symptom reported on v1.0.7.

A startup crash log is also written to %LOCALAPPDATA%\PassKey\startup-crash.log when Application.Start() throws before the main window is created, making silent startup failures diagnosable without a debugger.

Description

Brief description of the changes in this PR.

Type of change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Refactoring (no functional changes)

Testing

Describe the tests you ran to verify your changes.

  • All existing tests pass (dotnet test)
  • New tests added for new functionality
  • Solution builds without warnings (dotnet build PassKey.sln -p:Platform=x64)

Checklist

  • My code follows the project's code style guidelines
  • I have added XML documentation to all new public types and members
  • I have updated the CHANGELOG.md if applicable
  • My changes do not introduce new compiler warnings

Launching PassKey when it is already running in the system tray now brings
the existing window to the foreground (via a named EventWaitHandle) instead
of silently spawning a second invisible process. This was the root cause of
the "app installs but doesn't start" symptom reported on v1.0.7.

A startup crash log is also written to %LOCALAPPDATA%\PassKey\startup-crash.log
when Application.Start() throws before the main window is created, making
silent startup failures diagnosable without a debugger.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@pexatar
pexatar merged commit 001edf9 into main May 4, 2026
1 check passed
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.

1 participant