Skip to content

chore(release): sync develop into main (interactive auth fix) - #25

Merged
marcinobel merged 1 commit into
mainfrom
develop
Sep 18, 2026
Merged

marcinobel merged 1 commit into
mainfrom
develop

Conversation

@marcinobel

Copy link
Copy Markdown
Member

Brings develop into main ahead of the 0.1.5 release.

Contents (1 commit):

revcli auth no longer shuts the browser down as soon as Google Maps renders. It used to exit
immediately whenever the profile already held a signed-in session, which made it impossible to
sign in or switch accounts. The window now stays open and closes when sign-in is detected or when
you close it. Already recorded in CHANGELOG.md under [Unreleased] → Fixed.

Merge with a merge commit — develop → main is the trunk sync.

`revcli auth` closed the window as soon as Google Maps rendered whenever
the profile already held a Google session — "already signed in, no action
needed" — which made the one command whose job is credential entry
useless for signing in or switching accounts. The only way through was
`revcli auth logout` first.

The window now stays open either way: for credential entry when signed
out, and for account switching when signed in. It closes when sign-in is
detected or when the user closes it.

`waitForSignIn()` returns `SignInOutcome` ("signed-in" | "browser-closed")
instead of `void`, so each caller can treat a closed window differently:
fatal for a scrape, which cannot continue without a session, but a normal
end for `auth`. `waitForBrowserClose()` covers the signed-in case, polling
`pages()` as well as the context `close` event because closing the last
window on macOS leaves the process alive.

Also fixed while in the flow: the 5-minute timeout threw out of an async
Commander action, which `program.parse()` does not await, so it surfaced
as an unhandled rejection with a raw stack trace. It now reports the
timeout and exits 1.

Verified on the real command: the window stayed open past 12s where it
previously closed after ~4s, and the CLI exited cleanly ~2s after the
window was closed. 10 new tests in tests/auth.test.ts (287 -> 297) pin
both end states of each waiter; AGENTS.md, README and CHANGELOG updated.
@marcinobel
marcinobel merged commit ab70b9a into main Sep 18, 2026
2 checks 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