Skip to content

fix(oauth): harden Muse device responses while preserving renewal - #15920

Merged
diegosouzapw merged 1 commit into
release/v3.8.52from
fix/15869-muse-device-hardening-drain
Oct 9, 2026
Merged

diegosouzapw merged 1 commit into
release/v3.8.52from
fix/15869-muse-device-hardening-drain

Conversation

@diegosouzapw

Copy link
Copy Markdown
Collaborator

Refs #15869.

Muse Code accepted upstream device verification links without origin validation and passed arbitrary poll errors/descriptions into the shared OAuth result. This ports the device-response protections from the closed #14267 onto the current renewable implementation: HTTPS auth.meta.com only, no embedded credentials, bounded numeric device-code expiry, fixed polling error codes, malformed-response handling, redirect rejection and a 20-second request timeout.

The DCA lifecycle remains intact: postExchange, mapTokens and the remint provider are unchanged. Valid plain-only verification links remain supported. The new persistence regression writes both DCA-only and minted connections to disposable SQLite, reloads the database, and remints an inference key from the persisted DCA credential.

Validation:

  • RED on f9989a1469a424847ba8e67b331351b7c352968d: 37 tests, 32 failures and 5 passing controls before production changes.
  • GREEN: 47 tests passing, zero failures/skips, across the two new regressions and the existing Muse OAuth suite.
  • Scoped ESLint, core typecheck, file-size, cyclomatic/cognitive complexity, changelog integrity and test discovery passed.

No live Meta login or credential changes were performed. This PR leaves #15869 open for hosted CI, review and merge; no claim that those remote gates have already passed.

Release-green tracker #15306 remains open. A failure is only attributed to the base after comparing its exact signature on this candidate’s base; no gate or baseline is relaxed.

Dashboard typecheck remains red with the same three diagnostic groups reproduced on untouched exact base f9989a1469a424847ba8e67b331351b7c352968d: useModelImportHandlers.ts TS2339 (17), TS2345 (1), and engineConfigSave.ts TS2345 (1). Candidate and base checks both exited 1; this patch does not modify those paths or relax the baseline.

Normal commit hooks passed, including lint-staged, gate manifest, documentation sync, any-budget, tracked-artifacts and attribution checks. Independent source review found no blocker in the scoped device-code changes.

@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

CI Coverage Report

  • Coverage job: skipped
  • PR test policy: success

Coverage artifact was not available for this run.

@diegosouzapw
diegosouzapw merged commit f08f722 into release/v3.8.52 Oct 9, 2026
33 of 51 checks passed
@diegosouzapw
diegosouzapw deleted the fix/15869-muse-device-hardening-drain branch October 18, 2026 23:49
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