Make Git Mog frictionless for first-time users - #36
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a91251bdb1
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| child.once("spawn", () => { | ||
| child.unref(); | ||
| finish({ status: "opened" }); |
There was a problem hiding this comment.
Wait for the opener result before reporting success
When the platform opener starts but then exits unsuccessfully—for example, xdg-open finds no browser or URI handler—this resolves opened on the child’s spawn event, clears the 450 ms timeout, and never observes the exit status. Node’s spawn event only confirms that the child process spawned successfully, so the authorization UI incorrectly says “Browser opened” and suppresses the manual URL even though nothing opened; wait for a successful exit or treat an early nonzero exit as failed.
Useful? React with 👍 / 👎.
Outcome
This makes Git Mog’s first run, authorization, result hierarchy, and Private Context wording substantially easier to skim without changing scoring, winner selection, evidence, or privacy boundaries.
Authorization and interaction
--sign-in/--private-context.--no-openandGITMOG_NO_BROWSER=1suppress automatic opening.Capability boundary
node:child_process, and it imports onlyspawn./usr/bin/open, native Windowsrundll32.exewithurl.dll,FileProtocolHandler, and/usr/bin/xdg-openwhen a Linux GUI session is present.cmd.exe, environment-selected browser, arbitrary executable, general URL opener, or target-derived process argument.Product and editorial changes
Invariants
Acceptance evidence
--no-openshowed the manual fallback and cancelled cleanly. The separate live Private Context permission grant remains pending explicit safety approval.DESKTOP-GJUDDtarget was not listed. No physical native-Windows GUI claim is made. Hosted Windows x64/ARM64 evidence covers package and exact command construction only.No npm version, npm stage, tag, GitHub Release, deployment, or repository-setting mutation is included in this PR.