Skip to content

Preserve caller OmniAuth options - #5861

Open
OskarEichler wants to merge 1 commit into
heartcombo:mainfrom
OskarEichler:codex/preserve-omniauth-options-upstream
Open

Preserve caller OmniAuth options#5861
OskarEichler wants to merge 1 commit into
heartcombo:mainfrom
OskarEichler:codex/preserve-omniauth-options-upstream

Conversation

@OskarEichler

Copy link
Copy Markdown

Summary

  • duplicate the OmniAuth argument list and its trailing options hash before extracting Devise-only configuration
  • preserve :strategy_class in the caller's hash
  • accept frozen provider options while still omitting :strategy_class from middleware arguments

Devise::OmniAuth::Config currently deletes :strategy_class directly from the supplied hash. This mutates reusable initializer configuration and raises FrozenError when that configuration is frozen.

Verification

  • baseline mutable options lose :strategy_class
  • baseline frozen options raise FrozenError
  • fixed main and cumulative 5.0.4 consumer preserve the caller hash, resolve the requested strategy class, and expose middleware args without the Devise-only key
  • focused OmniAuth config suite: 8 runs, 8 assertions, 0 failures
  • full upstream and consumer Active Record suites: 878 runs, 2,470 assertions, 0 failures
  • Ruby syntax check passes

No public option names or middleware arguments change. No test files were changed. Prepared with Codex assistance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant