fix(app_check): sync SPM pins to 12.17.0 and fix Windows Activate override after #18505 - #18515
Conversation
Using Gemini Code AssistThe 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
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 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. |
…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.
252f7af to
a7a3705
Compare
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 (28Package.swiftversion lines + 2 Windows files).1. SPM
Package.swiftpins were never synced to 12.17.0#18489 bumped only the CocoaPods pin (
firebase_sdk_version.rb→ 12.17.0). The 28 SPMPackage.swiftfiles 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
siteKeyto the reCAPTCHA provider, which only exists in 12.17.0. So the SPM build compiles new code against the old SDK:mainios)swift-integration)Extra argument 'siteKey' in callRegenerated with
dart run scripts/generate_versions_spm.dart(verified idempotent — a second run is a no-op, and noPackage.swiftis left at 12.16.0).2. Windows
Activateoverride no longer matches its base declaration#18505 regenerated
windows/messages.g.h, soFirebaseAppCheckHostApi::Activatenow takes a 5threcaptcha_site_keyparameter. The hand-written override infirebase_app_check_plugin.h/.cppwas not updated, so on currentmain: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 withExtra argument 'siteKey')windows— pass (was failing witherror C3668)agp9-compatibility,windows-firestore,format,analyze,test,build_examples_dart,pub_dry_run,pub_get_check— passLocally:
clang-formatclean, 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-fdc—firebase_data_connectwebsocket + listen e2e timeouts (pre-existing; identical on unrelated dependabot branches)macos (tests)— transientpod installfailure,github.com/firebase/firebase-ios-sdk.gitreturned HTTP 503android (cloud_firestore example)—TimeoutException after 0:05:00test timeoutios (tests)— 2firebase_storagedownload-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
///).melos run analyze) does not report any problems on my PR.Breaking Change
Build fixes only — no API surface change. (The breaking
recaptchaSiteKeymove landed in #18505.)