Repository navigation
Conversation
A leftover elevated obs64 cannot be stopped by a non-elevated Desktop, so browser sources were silently unavailable. Show a one-time warning at startup instead. Also mark forced shutdowns as intended so crash-handler does not show a misleading crash dialog. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
On Windows, app.exit(0) can terminate the process before the asynchronous shutdown-intent message is delivered, leaving forced shutdown able to trigger a misleading crash dialog.
1 open issue
What changed in this PR
This PR adds a startup warning when a leftover elevated OBS process blocks browser sources and attempts to prevent misleading crash dialogs during forced shutdown. Both integrations require updated native dependencies.
Changes:
- Display a localized warning while allowing startup to continue.
- Call the optional crash-handler shutdown-intent API before exiting.
- Guard new API calls for compatibility with older dependencies.
| File | Description |
|---|---|
main.js |
Adds shutdown-intent notification to forced shutdown. |
app/i18n/en-US/app.json |
Adds English text for the startup warning. |
app/app.ts |
Detects an unkillable stale server and displays the warning. |
Review effort: Balanced
Comment on lines
+371
to
+372
| if (typeof crashHandler.markShutdownIntent === 'function') { | ||
| crashHandler.markShutdownIntent(process.pid); |
BundleMonFiles added (4)
Total files change +15.58MB Final result: ✅ View report in BundleMon website ➡️ |
This branch has not been deployed
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.

Problem: An elevated leftover obs64 can't be stopped by a non-elevated Desktop, so browser sources are silently unavailable. A forced shutdown also made crash-handler show a misleading crash dialog.
Change: At startup, if the natives report an unkillable stale server, show a one-time warning (close the previous session or run as administrator); startup continues.
forceShutdownnow tells crash-handler the exit is intended.Effect: Users see why browser sources are missing; no false crash dialog on forced shutdown.
Needs osn and crash-handler version bumps (via the bump script); until then both calls are no-ops. Related: crash-handler streamlabs/crash-handler#139, osn streamlabs/obs-studio-node#1830.
Tests:
tsc --noEmit0 errors; eslint/prettier clean;app-shutdownunit tests 10/10.Not verified: Desktop not launched; dialog not seen on screen (needs new natives).
🤖 Generated with Claude Code