Skip to content

Web-first login + restore OAuth key on session load/save (v2.3.0) - #106

Merged
ekkx merged 2 commits into
masterfrom
release/v2.3.0
Jul 23, 2026
Merged

Web-first login + restore OAuth key on session load/save (v2.3.0)#106
ekkx merged 2 commits into
masterfrom
release/v2.3.0

Conversation

@ekkx

@ekkx ekkx commented Jul 23, 2026

Copy link
Copy Markdown
Owner

Summary

  • Web-first login. The browser login endpoint becomes the primary path; the app login is now a fallback (device attestation rejects SDK-issued device UUIDs). The fallback fires only on a plain Unauthorized; 2FA, other typed errors, and 2xx-decode failures surface directly. The web login now returns the same typed error (with raw body) as the generated clients.
  • Fix session restore. Loading a session straight from disk did not restore the establishing OAuth key, so a web session refreshed with the app key and 401'd. Activation is consolidated so the cached-login and load-session paths never diverge.
  • New public loadSession / saveSession in TypeScript and Python (parity with Go / Rust).
  • Sync to Yay! API 4.26.5 and remove the unused I0A enum (not referenced by any operation).

Version bumped to 2.3.0 across Go / TypeScript / Python / Rust. Contract details in PORTING.md §6.2.

All four language test suites pass.

ekkx added 2 commits July 23, 2026 12:33
Sync generated models and clients to API 4.26.5. Removes the unused
I0A enum, which was not referenced by any operation.
- Make the browser login endpoint the primary path; the app login is a
  fallback (device attestation rejects SDK-issued device UUIDs). Gate the
  fallback on a plain unauthorized only; surface 2FA / non-401 / 2xx
  decode failures directly. The web login now returns the same typed
  error (with raw body) as the generated clients.
- Fix load session not restoring the establishing OAuth key: a web
  session loaded straight from disk refreshed with the app key and 401'd.
  Consolidate activation so the cached-login and load-session paths never
  diverge.
- Add public load/save session to TypeScript and Python (parity with
  Go / Rust).
- Bump version to 2.3.0 across Go / TypeScript / Python / Rust.
@ekkx
ekkx merged commit 1de3757 into master Jul 23, 2026
14 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