Skip to content

fix(app_check): sync SPM pins to 12.17.0 and fix Windows Activate override after #18505 - #18515

Merged
Lyokone merged 2 commits into
mainfrom
fix/rce-sitekey-api-and-spm-sync
Aug 3, 2026
Merged

fix(app_check): sync SPM pins to 12.17.0 and fix Windows Activate override after #18505#18515
Lyokone merged 2 commits into
mainfrom
fix/rce-sitekey-api-and-spm-sync

Conversation

@Lyokone

@Lyokone Lyokone commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Description

Follow-up to #18505, which is now merged. Two pieces it needed but didn't include are still missing on main, and they break two jobs.

Rebased onto main — this PR is now just those two fixes (28 Package.swift version lines + 2 Windows files).

1. SPM Package.swift pins were never synced to 12.17.0

#18489 bumped only the CocoaPods pin (firebase_sdk_version.rb → 12.17.0). The 28 SPM Package.swift files are still at 12.16.0 — syncing them is a separate follow-up step (#18487 did it for 12.16.0) that was missed this time.

Now that #18505 has landed, the code passes a siteKey to the reCAPTCHA provider, which only exists in 12.17.0. So the SPM build compiles new code against the old SDK:

build path pin result on current main
CocoaPods (ios) 12.17.0 ok
SPM (swift-integration) 12.16.0 Extra argument 'siteKey' in call

Regenerated with dart run scripts/generate_versions_spm.dart (verified idempotent — a second run is a no-op, and no Package.swift is left at 12.16.0).

2. Windows Activate override no longer matches its base declaration

#18505 regenerated windows/messages.g.h, so FirebaseAppCheckHostApi::Activate now takes a 5th recaptcha_site_key parameter. The hand-written override in firebase_app_check_plugin.h/.cpp was not updated, so on current main:

firebase_app_check_plugin.h(43,8): error C3668:
  'FirebaseAppCheckPlugin::Activate': method with override specifier 'override'
  did not override any base class methods

reCAPTCHA is a mobile-only provider, so the site key is unused on Windows.

Verification

Both target jobs already passed on this branch's previous run, which carried the same two fixes:

  • swift-integration — pass (was failing with Extra argument 'siteKey')
  • windows — pass (was failing with error C3668)
  • agp9-compatibility, windows-firestore, format, analyze, test, build_examples_dart, pub_dry_run, pub_get_check — pass

Locally: clang-format clean, and the override signature now matches the generated declaration exactly.

Unrelated failures

These fail independently of this change and reproduce on other branches:

  • web-wasm / e2e-fdcfirebase_data_connect websocket + listen e2e timeouts (pre-existing; identical on unrelated dependabot branches)
  • macos (tests) — transient pod install failure, github.com/firebase/firebase-ios-sdk.git returned HTTP 503
  • android (cloud_firestore example)TimeoutException after 0:05:00 test timeout
  • ios (tests) — 2 firebase_storage download-cancel tests (351 passed / 2 failed). This job builds via CocoaPods, which was already pinned to 12.17.0 before this PR, so a change to SPM pins and Windows C++ cannot affect it.

Related Issues

Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
  • All existing and new tests are passing.
  • I updated/added relevant documentation (doc comments with ///).
  • The analyzer (melos run analyze) does not report any problems on my PR.
  • I read and followed the Flutter Style Guide.
  • I signed the CLA.
  • I am willing to follow-up on review comments in a timely manner.

Breaking Change

  • Yes, this is a breaking change.
  • No, this is not a breaking change.

Build fixes only — no API surface change. (The breaking recaptchaSiteKey move landed in #18505.)

@gemini-code-assist

Copy link
Copy Markdown
Contributor
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Lyokone added 2 commits August 3, 2026 11:53
…ckages

The CocoaPods pin in firebase_sdk_version.rb was bumped to 12.17.0 in #18489,
but the SPM Package.swift files were left at 12.16.0. That makes the CocoaPods
and SPM builds compile against different Firebase iOS SDKs, which is why the
reCAPTCHA provider API change shows up as "Missing argument for parameter
'siteKey'" in the CocoaPods build and "Extra argument 'siteKey'" in the SPM
(swift-integration) build.

Generated with `dart run scripts/generate_versions_spm.dart`.
The pigeon-generated FirebaseAppCheckHostApi::Activate now takes
recaptcha_site_key, so the hand-written override no longer matched the base
declaration and failed with error C3668. reCAPTCHA is a mobile-only provider,
so the site key is unused on Windows.
@Lyokone
Lyokone force-pushed the fix/rce-sitekey-api-and-spm-sync branch from 252f7af to a7a3705 Compare August 3, 2026 09:55
@Lyokone Lyokone changed the title fix(app_check): adapt reCAPTCHA provider API to Firebase SDK 34.17.0 / 12.17.0 and sync SPM pins fix(app_check): sync SPM pins to 12.17.0 and fix Windows Activate override after #18505 Aug 3, 2026
@Lyokone
Lyokone merged commit ce1f6e0 into main Aug 3, 2026
41 of 46 checks passed
@Lyokone
Lyokone deleted the fix/rce-sitekey-api-and-spm-sync branch August 3, 2026 11:04
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.

3 participants