Skip to content

Experimental support for AsyncSequence on Firestore snapshot listeners #11508

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 178 commits into
base: auth-swift
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
178 commits
Select commit Hold shift + click to select a range
ec94f57
🧪 Experimental support for AsyncSequences on Firestore snapshot liste…
peterfriese Jul 5, 2023
e731d4b
🎨 Formatting
peterfriese Jul 5, 2023
5286ea7
🔥 Remove superfluous method
peterfriese Jul 5, 2023
50f5629
📝 Fix copyright
peterfriese Jul 5, 2023
1e13834
✨ Add AsyncSequence support to DocumentReference
peterfriese Jul 7, 2023
5a68fdf
🚚 Rename addSnapshotListener -> snapshotSequence
peterfriese Jul 7, 2023
19b19f5
🐛 Use includeMetadataChanges parameter
peterfriese Jul 7, 2023
9100d3a
✨ Show how to use AsyncSequence in a view model
peterfriese Jul 7, 2023
f19be90
💄 Style
peterfriese Jul 7, 2023
c6f5f9c
🧵 Make sure to not update from the background thread
peterfriese Jul 7, 2023
f25fbfe
[App Check] Fix JSON key ordering in `HeartbeatsPayload` (#11482)
andrewheard Jun 27, 2023
027c2c0
Remove isFetchInProgress check for real-time initiated Fetches (#11465)
qdpham13 Jun 28, 2023
9aa5eaf
Firebase Auth TOTP support (#11261)
Xiaoshouzi-gh Jun 29, 2023
5cc66dd
[Auth] Fix Firebase Auth build on visionOS (#11488)
andrewheard Jun 29, 2023
59354df
[Messaging] Fix build issues on visionOS (#11483)
andrewheard Jun 29, 2023
45e9dac
Analytics 10.12.0 (#11487)
htcgh Jun 29, 2023
86bc06d
[Release] Update CHANGELOGs for 10.12.0 release (#11493)
ncooke3 Jun 29, 2023
59132d0
[Release] Minor changelog nits (#11495)
ncooke3 Jun 29, 2023
9303f32
[Release] Chandelog note about keychain access (#11496)
ncooke3 Jun 29, 2023
b80bf92
[visionOS] Provide support for building Firestore on visionOS (#11492)
ncooke3 Jun 29, 2023
acf2eb7
Add FID into real-time RC requests (#11485)
qdpham13 Jun 29, 2023
012d90c
[Firestore] Make Swift code compatible with Xcode 13.3.1 (#11497)
ncooke3 Jun 30, 2023
5bb6444
[Auth] Forward declare type in header (#11501)
ncooke3 Jun 30, 2023
cd2df6e
Add changelog entry for Remote Config (#11500)
qdpham13 Jun 30, 2023
5eaea70
[Release] Update Package.swift for 10.12.0 release (#11499)
ncooke3 Jul 1, 2023
93212e4
[Infra] Run 'zip / quickstart_framework_firestore' on Xcode 14 (#11503)
ncooke3 Jul 4, 2023
f99d40a
[Docs] Add a release note w.r.t. Xcode 15 Beta 1 support (#11510)
ncooke3 Jul 6, 2023
213e130
[Docs] s/workaround/work around/ in 10.12.0 release note (#11511)
ncooke3 Jul 6, 2023
97e7b25
[Crashlytics] update deprecated kernel api for visionPro (#11515)
themiswang Jul 10, 2023
2683eeb
[Release] Update Carthage artifacts for Firebase 10.12.0 (#11528)
ncooke3 Jul 11, 2023
4aaafd2
Update to swiftformat 0.51.12 (#11531)
paulb777 Jul 11, 2023
30c03a6
checkpoint
paulb777 Dec 30, 2022
7537c01
Checkpoint - Subclassing fails at runtime in tests
paulb777 Jan 4, 2023
be5bc7a
Fails to find function
paulb777 Jan 4, 2023
e2c0a4c
Revert "Fails to find function"
paulb777 Jan 4, 2023
f31d377
Subclass override build failure
paulb777 Jan 4, 2023
b59dbe4
Revert "Subclass override build failure"
paulb777 Jan 4, 2023
190e42f
checkpoint
paulb777 Jan 5, 2023
b23e9ac
Clean unit tests, stub OauthProvider implementation
paulb777 Jan 6, 2023
71f8fd2
GameCenter Provider minus some error codes
paulb777 Jan 6, 2023
51a2fcd
port credential
paulb777 Jan 6, 2023
7e200eb
Port FIRAuthProvider strings to class property
paulb777 Jan 6, 2023
98e473a
Add Swift API tests to SPM build, port FederatedAuthProvider, and style
paulb777 Jan 6, 2023
687854a
AuthProviderStrings enum FR#9236 and tests
paulb777 Jan 6, 2023
cc52f2e
Checkpoint - partway through PhoneAuth implplementations
paulb777 Jan 11, 2023
7e6eae7
Some cleanup
paulb777 Jan 11, 2023
3946e90
checkpoint
paulb777 Jan 13, 2023
577d4f9
[WIP] Attempt at merging own ported swift code to official repo (#10696)
mortenbekditlevsen Jan 20, 2023
ccc6125
Changes to build with pod gen on mac (#10721)
paulb777 Jan 20, 2023
6150b76
Checkpoint PhoneProvider progress (#10722)
paulb777 Jan 20, 2023
43e212e
Style auth-swift (#10723)
paulb777 Jan 20, 2023
69f42ca
Converted FIRAuthUserDefaults and FIRAuthKeychainServices (#10731)
mortenbekditlevsen Jan 24, 2023
304a7ea
Fix build warnings and style (#10735)
paulb777 Jan 24, 2023
cdc7648
[FirebaseAuth] Expose non-public headers to Swift and build on iOS (#…
ncooke3 Feb 3, 2023
1c1bab2
[auth-swift] Remove commented-out imports (#10776)
ncooke3 Feb 3, 2023
f9241bf
[auth-swift] Remove module.modulemap as it is unneeded (#10778)
ncooke3 Feb 4, 2023
1e9a2f7
Fix unit test failure (#10781)
paulb777 Feb 6, 2023
88af2dc
Migrate Auth RPC calls to Swift (#10806)
paulb777 Feb 11, 2023
dd167c5
Post rebase updates for #10805 and #10441
paulb777 Feb 11, 2023
fadbedd
[auth-swift] Re-enable logging code (pt. 1) (#10817)
ncooke3 Feb 14, 2023
935c397
Three more RPCs to Swift (#10816)
paulb777 Feb 14, 2023
c68be9c
[auth-swift] First mock replacements (#10820)
paulb777 Feb 15, 2023
27a301e
Converted a few more files
mortenbekditlevsen Feb 14, 2023
73df2f1
[auth-swift] Styling #10819
paulb777 Feb 15, 2023
63d8484
[auth-swift] Depend on FirebaseCoreExtension rather than making it a …
ncooke3 Feb 15, 2023
5c8f089
[auth-swift] Re-enable logging code (pt. 2) (#10825)
ncooke3 Feb 15, 2023
76eb3a3
[auth-swift] Get 'FIRAuthKeychainServicesTests.m' tests passing (#10826)
ncooke3 Feb 15, 2023
cf4fad6
[auth-swift] Update AuthKeychainServices following #10759 (#10827)
ncooke3 Feb 16, 2023
0fa3828
[auth-swift] Resolve TODO by with 'FirebaseLogger' usage (#10828)
ncooke3 Feb 16, 2023
e7983a5
[auth-swift] Test improvements (#10829)
paulb777 Feb 16, 2023
605af7f
[auth-swift] Resolve missing implementation warning (#10830)
ncooke3 Feb 16, 2023
55cb94f
[auth-swift] Port 'FIRAuthKeychainServicesTests.m' -> 'AuthKeychainSe…
ncooke3 Feb 16, 2023
459274c
[auth-swift] Document flow in mock replacement test using fake (#10835)
paulb777 Feb 16, 2023
28ceaa1
[auth-swift] GetOOBConfirmationCode to Swift (#10837)
paulb777 Feb 17, 2023
97c09c7
[auth-swift] Fix test name (#10840)
ncooke3 Feb 17, 2023
197d600
[auth-swift] OAuthProvider and OAuthCredential (#10861)
paulb777 Feb 24, 2023
7362df7
[auth-swift] Initial Green CI (#10864)
paulb777 Feb 24, 2023
b3656f6
Two Password RPCs to Swift (#10866)
paulb777 Feb 25, 2023
1c902e5
[auth-swift] VerifyAssertion and SecureToken RPCs to Swift (#10888)
paulb777 Mar 3, 2023
3503d30
[auth-swift] CustomToken RPC to Swift (#10890)
paulb777 Mar 3, 2023
7af7693
[auth-swift] SignUpNewUser and SignInWithGameCenter RPC calls and uni…
paulb777 Mar 3, 2023
632a4c7
[auth-swift] MultiFactor and SendVerification RPC calls and unit test…
paulb777 Mar 3, 2023
161a02f
[auth-swift] VerifyClient RPC calls and unit tests (#10895)
paulb777 Mar 4, 2023
0c95953
[auth-swift] VerifyPhoneNumber RPC (#10897)
paulb777 Mar 4, 2023
6c01905
[auth-swift] Backend now completely in Swift (#10899)
paulb777 Mar 7, 2023
694db85
[auth-swift] Swift AuthDispatcher, two fakes, one test (#10903)
paulb777 Mar 7, 2023
a6086c6
[auth-swift] More AuthTests.swift (#10907)
paulb777 Mar 8, 2023
688d7dd
[auth-swift] More AuthTests.swift (#10909)
paulb777 Mar 8, 2023
f390411
RPCIssuer -> rpcIssuer (#10910)
paulb777 Mar 8, 2023
95255ce
[auth-swift] APNSToken.swift (#10918)
paulb777 Mar 9, 2023
a530172
[auth-swift] AuthAppCredentialManager.swift (#10927)
paulb777 Mar 10, 2023
3bb155a
[auth-swift] AuthDataResult.swift (#10928)
paulb777 Mar 10, 2023
2f91ec6
SecureTokenService.swift (#10938)
paulb777 Mar 11, 2023
ac422e2
[auth-swift] Restore integration tests (#10941)
paulb777 Mar 13, 2023
bd72660
[auth-swift] UserInfoImpl.swift and UserMetadata.swift (#10952)
paulb777 Mar 13, 2023
a02dacf
[auth-swift] Prep for keychain dependency injection (pt. 1) (#10976)
ncooke3 Mar 22, 2023
b6e8199
[auth-swift] Prep for keychain dependency injection (pt. 2) (#10990)
ncooke3 Mar 22, 2023
872e8dc
[auth-swift] Move AuthStorage protocol to own file; split up AuthKeyc…
ncooke3 Mar 23, 2023
57b0bac
[auth-swift] Migrate usage of FIRAuthKeychainServices to id<FIRAuthSt…
ncooke3 Mar 23, 2023
ba7bc9b
[auth-swift] Move keychain intitialization code into intializer (#10998)
ncooke3 Mar 23, 2023
3b5cd96
[auth-swift] Update initializer to accept keychain storage types (#11…
ncooke3 Mar 23, 2023
c42861a
AuthUser -> Swift (#10993)
paulb777 Mar 24, 2023
80ceca9
Reimplement #10068 in auth-swift after rebase (#11005)
paulb777 Mar 24, 2023
86333a2
Objective C property functions should be Swift computed properties (#…
paulb777 Mar 24, 2023
261574c
[auth-swift] User decoding and api cleanup (#11008)
paulb777 Mar 24, 2023
8f3f637
[auth-swift] Use stored keychain service at app cleanup (#11009)
ncooke3 Mar 25, 2023
a3a2b0a
[auth-swift] UserTests.swift Part 1 (#11013)
paulb777 Mar 26, 2023
e2011d9
AuthWebView and AuthWebViewController
mortenbekditlevsen Mar 26, 2023
0a2d0b7
build and test
paulb777 Mar 26, 2023
dde9054
style
paulb777 Mar 26, 2023
8be8a12
Catalyst test fix and comments
paulb777 Mar 26, 2023
49b755e
[auth-swift] UserProfileChangeRequest.swift (#11015)
paulb777 Mar 26, 2023
5e6c4f8
[auth-swift] GetIDTokenResult unit tests (#11019)
paulb777 Mar 27, 2023
0726c0d
[auth-swift] User reload() unit tests and fix (#11023)
paulb777 Mar 27, 2023
81f77ec
[auth-swift] Make request components for deterministic to avoid test …
ncooke3 Mar 28, 2023
a0dddc7
[auth-swift] User reauthenticate unit tests (#11026)
paulb777 Mar 28, 2023
7a1f9b1
[auth-swift] Finish Auth refactoring to allow for injecting fake keyc…
ncooke3 Mar 29, 2023
e7984b0
[auth-swift] First user link swift unit test and a fix (#11042)
paulb777 Mar 30, 2023
193e047
[auth-swift] More User link unit tests (#11043)
paulb777 Mar 30, 2023
5daa1c3
[auth-swift] Two more User unit tests (#11048)
paulb777 Mar 31, 2023
fc4aa2b
[auth-swift] Progress on PhoneAuthProvider.swift (#11055)
paulb777 Mar 31, 2023
2669fbb
[auth-swift] Merge AppCheck integration (#11061)
paulb777 Apr 2, 2023
42cfdb7
[auth-swift] Two cleanups (#11062)
paulb777 Apr 3, 2023
105dae4
[auth-swift] AuthAppCredentialManager.swift (#11069)
paulb777 Apr 4, 2023
9e2629f
[auth-swift] AuthAppCredentialManagerTests.swift (#11076)
paulb777 Apr 5, 2023
912fa56
[auth-swift] RevokeToken.swift (#11083)
paulb777 Apr 5, 2023
cd01b8d
[auth-swift] AuthNotificationManager (#11088)
paulb777 Apr 7, 2023
da7eddf
[auth-swift] Phone Auth progress (#11089)
paulb777 Apr 7, 2023
89bbe74
[auth-swift] AuthURLPresenter implementation and PhoneAuth request (#…
paulb777 Apr 9, 2023
1dc9a62
[auth-swift] AuthDefaultUIDelegate.swift and AuthURLPresenterTests.sw…
paulb777 Apr 10, 2023
6015dde
[auth-swift] Fix test by using DataWrapper API (#11099)
ncooke3 Apr 11, 2023
aa8924e
Checkpoint after first Phone Auth Rechaptcha unit test (#11106)
paulb777 Apr 11, 2023
a9f09dc
[auth-swift] Port 'FIRAuthStoredUserManager' (#11109)
ncooke3 Apr 11, 2023
244eae2
[auth-swift] More PhoneAuth Recaptcha tests (#11110)
paulb777 Apr 12, 2023
b30dc34
[auth-swift] More PhoneAuth unit tests (#11115)
paulb777 Apr 13, 2023
885602f
Pb more phone auth unit (#11126)
paulb777 Apr 14, 2023
3b33c75
[auth-swift] Finish PhoneAuthProviderTests.swift (#11130)
paulb777 Apr 14, 2023
72ca940
[auth-swift] Some unit test cleanup (#11133)
paulb777 Apr 14, 2023
caa7c3b
[auth-swift] Seven PhoneAuth related tests in UserTests.swift (#11172)
paulb777 Apr 24, 2023
8901863
[auth-swift] ActionCode classes to Swift (#11181)
paulb777 Apr 25, 2023
a4fa5ab
[auth-swift] Auth.swift (#11237)
paulb777 May 8, 2023
06446be
[auth-swift] Queue implementations and tests to Swift-only (#11249)
paulb777 May 9, 2023
4755623
[auth-swift] Eliminate FIRAuthExceptionUtils.m (#11251)
paulb777 May 9, 2023
2d86bf8
[auth-swift] AuthAPNSTokenType.swift (#11252)
paulb777 May 9, 2023
9d65c37
[auth-swift] PhoneMultiFactorGenerator.swift and more cleanup (#11258)
paulb777 May 9, 2023
ee94bd6
[auth-swift] unowned instead of weak for holding app in the component…
paulb777 May 10, 2023
bab85e9
[auth-swift] MultiFactorResolver.swift and MultiFactor.swift (#11262)
paulb777 May 10, 2023
9d24ecc
[auth-swift] AuthUIDelegate.swift (#11274)
paulb777 May 11, 2023
05eab69
[auth-swift] AuthSettings.swift (#11278)
paulb777 May 11, 2023
2514785
[auth-swift] CocoaPods Swift-only sources (#11279)
paulb777 May 11, 2023
85786e6
[auth-swift] Restore SPM (#11280)
paulb777 May 12, 2023
9350bbb
[auth-swift] AdditionalUserInfoTests.swift (#11283)
paulb777 May 12, 2023
be1dbb1
[auth-swift] AuthAPNSTokenManagerTests.swift (#11331)
paulb777 May 26, 2023
a8b3313
[auth-swift] AuthAPNSTokenTests.swift (#11335)
paulb777 May 26, 2023
f867cdc
[auth-swift] AuthAppCredentialTests.swift (#11336)
paulb777 May 26, 2023
73f4192
[auth-swift] AuthDispatcherTests.swift (#11339)
paulb777 May 26, 2023
322a305
[auth-swift] AuthLifecycleTests.swift (#11341)
paulb777 May 26, 2023
ace7dc4
[auth-swift] AuthUserDefaultsTests.swift (#11343)
paulb777 May 27, 2023
bf62ad8
[auth-swift] GitHubAuthProviderTests.swift and TwitterAuthProviderTes…
paulb777 May 28, 2023
6c6c034
[auth-swift] IdentityToolkitRequestTests.swift (#11346)
paulb777 May 28, 2023
7e6eb41
[auth-swift] Finish unit test Swiftification (#11348)
paulb777 May 28, 2023
cf6a8a2
[auth-swift] AuthTests.swift - 15 more unit tests (#11357)
paulb777 May 30, 2023
9f73315
More AuthTests.swift implementation (#11360)
paulb777 May 31, 2023
cecee45
[auth-swift] Refresh Tokens implementation and first test (#11373)
paulb777 Jun 1, 2023
447b15c
[auth-swift] Rest of token refresh unit tests (#11382)
paulb777 Jun 2, 2023
2e33715
[auth-swift] Rest of token refresh unit tests (#11387)
paulb777 Jun 3, 2023
78f3a2f
[auth-swift] Revoke Token unit tests (#11391)
paulb777 Jun 9, 2023
94bab05
[auth-swift] UserTests.swift progress (#11420)
paulb777 Jun 10, 2023
acbee63
[auth-swift] Bump to iOS 13, etc. (#11429)
paulb777 Jun 13, 2023
dc380a7
[auth-swift] associated type enum for PhoneAuthCredential (#11443)
paulb777 Jun 15, 2023
b0fd40e
[auth-swift] Finish coding coverage and fixes (#11445)
paulb777 Jun 15, 2023
c39dca7
[auth-swift] Refactor keychain implementation and tests (#11453)
paulb777 Jun 20, 2023
330ee81
Fix runtime warnings detected by Xcode 15 b3 (#11518)
paulb777 Jul 10, 2023
a2087fd
[auth-swift] Address a few todos (#11525)
paulb777 Jul 11, 2023
caea41a
[auth-swift] Rewrite Auth RPC types using Swift types (#11529)
paulb777 Jul 11, 2023
00bcca2
Post rebase style and other fixes
paulb777 Jul 12, 2023
d33ce7c
🚧 Add AsyncSequence for Auth
peterfriese Jul 14, 2023
6e00b72
🚧 AsyncSequences WIP
peterfriese Jul 14, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
75 changes: 39 additions & 36 deletions .github/workflows/auth.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,44 +34,47 @@ jobs:
run: scripts/configure_test_keychain.sh
- name: Build and test
run: |
scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseAuth.podspec --platforms=${{ matrix.target }}
scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseAuth.podspec --platforms=${{ matrix.target }} --allow-warnings
#TODO: Restore warnings check
# scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseAuth.podspec --platforms=${{ matrix.target }}

integration-tests:
# Don't run on private repo unless it is a PR.
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
# Disable until sample app is written in Swift with @testable
# integration-tests:
# # Don't run on private repo unless it is a PR.
# if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'

env:
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
runs-on: macos-12
steps:
- uses: actions/checkout@v3
- uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
with:
cache_key: ${{ matrix.os }}
- uses: ruby/setup-ruby@v1
- name: Setup Bundler
run: scripts/setup_bundler.sh
- name: Prereqs
run: scripts/install_prereqs.sh Auth iOS
- name: Install Secrets
run: |
scripts/decrypt_gha_secret.sh scripts/gha-encrypted/AuthCredentials.h.gpg \
FirebaseAuth/Tests/Sample/ApiTests/AuthCredentials.h "$plist_secret"
scripts/decrypt_gha_secret.sh scripts/gha-encrypted/AuthSample/Application.plist.gpg \
FirebaseAuth/Tests/Sample/Sample/Application.plist "$plist_secret"
scripts/decrypt_gha_secret.sh scripts/gha-encrypted/AuthSample/AuthCredentials.h.gpg \
FirebaseAuth/Tests/Sample/Sample/AuthCredentials.h "$plist_secret"
scripts/decrypt_gha_secret.sh scripts/gha-encrypted/AuthSample/GoogleService-Info.plist.gpg \
FirebaseAuth/Tests/Sample/Sample/GoogleService-Info.plist "$plist_secret"
scripts/decrypt_gha_secret.sh scripts/gha-encrypted/AuthSample/GoogleService-Info_multi.plist.gpg \
FirebaseAuth/Tests/Sample/Sample/GoogleService-Info_multi.plist "$plist_secret"
scripts/decrypt_gha_secret.sh scripts/gha-encrypted/AuthSample/Sample.entitlements.gpg \
FirebaseAuth/Tests/Sample/Sample/Sample.entitlements "$plist_secret"
scripts/decrypt_gha_secret.sh scripts/gha-encrypted/AuthSample/Credentials.swift.gpg \
FirebaseAuth/Tests/Sample/SwiftApiTests/Credentials.swift "$plist_secret"

- name: BuildAndTest # can be replaced with pod lib lint with CocoaPods 1.10
run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/build.sh Auth iOS)
# env:
# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
# runs-on: macos-12
# steps:
# - uses: actions/checkout@v3
# - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
# with:
# cache_key: ${{ matrix.os }}
# - uses: ruby/setup-ruby@v1
# - name: Setup Bundler
# run: scripts/setup_bundler.sh
# - name: Prereqs
# run: scripts/install_prereqs.sh Auth iOS
# - name: Install Secrets
# run: |
# scripts/decrypt_gha_secret.sh scripts/gha-encrypted/AuthCredentials.h.gpg \
# FirebaseAuth/Tests/Sample/ApiTests/AuthCredentials.h "$plist_secret"
# scripts/decrypt_gha_secret.sh scripts/gha-encrypted/AuthSample/Application.plist.gpg \
# FirebaseAuth/Tests/Sample/Sample/Application.plist "$plist_secret"
# scripts/decrypt_gha_secret.sh scripts/gha-encrypted/AuthSample/AuthCredentials.h.gpg \
# FirebaseAuth/Tests/Sample/Sample/AuthCredentials.h "$plist_secret"
# scripts/decrypt_gha_secret.sh scripts/gha-encrypted/AuthSample/GoogleService-Info.plist.gpg \
# FirebaseAuth/Tests/Sample/Sample/GoogleService-Info.plist "$plist_secret"
# scripts/decrypt_gha_secret.sh scripts/gha-encrypted/AuthSample/GoogleService-Info_multi.plist.gpg \
# FirebaseAuth/Tests/Sample/Sample/GoogleService-Info_multi.plist "$plist_secret"
# scripts/decrypt_gha_secret.sh scripts/gha-encrypted/AuthSample/Sample.entitlements.gpg \
# FirebaseAuth/Tests/Sample/Sample/Sample.entitlements "$plist_secret"
# scripts/decrypt_gha_secret.sh scripts/gha-encrypted/AuthSample/Credentials.swift.gpg \
# FirebaseAuth/Tests/Sample/SwiftApiTests/Credentials.swift "$plist_secret"

# - name: BuildAndTest # can be replaced with pod lib lint with CocoaPods 1.10
# run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/build.sh Auth iOS)

spm:
# Don't run on private repo unless it is a PR.
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/health-metrics-presubmit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@ on:
# open will be triggered when a pull request is created.
# synchronize will be triggered when a pull request has new commits.
# closed will be triggered when a pull request is closed.
types: [opened, synchronize, closed]
#TODO: uncomment next line
#types: [opened, synchronize, closed]
branches:
- none

env:
METRICS_SERVICE_SECRET: ${{ secrets.GHASecretsGPGPassphrase1 }}
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/sessions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@ jobs:
run: scripts/setup_bundler.sh
- name: Build and test
run: |
scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseSessions.podspec --platforms=${{ matrix.target }}
scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseSessions.podspec \
--platforms=${{ matrix.target }} \

spm:
# Don't run on private repo unless it is a PR.
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/spectesting.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
name: spectesting

on:
pull_request
#TODO: restore
#pull_request
pull_request:
branches:
- none

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
Expand Down
3 changes: 0 additions & 3 deletions .github/workflows/zip.yml
Original file line number Diff line number Diff line change
Expand Up @@ -402,9 +402,6 @@ jobs:
SDK: "Firestore"
runs-on: macos-12
steps:
# Xcode 14 fails to build FirebaseAuthUI because it includes Resources. See #9886.
- name: Xcode 13.3.1
run: sudo xcode-select -s /Applications/Xcode_13.3.1.app/Contents/Developer
- uses: actions/checkout@v3
- name: Get framework dir
uses: actions/download-artifact@v1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,9 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication,
didDiscardSceneSessions sceneSessions: Set<UISceneSession>) {
// Called when the user discards a scene session.
// If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.
// Use this method to release any resources that were specific to the discarded scenes, as they will not return.
// If any sessions were discarded while the application was not running, this will be called
// shortly after application:didFinishLaunchingWithOptions.
// Use this method to release any resources that were specific to the discarded scenes, as they
// will not return.
}
}
20 changes: 12 additions & 8 deletions CoreOnly/Tests/FirebasePodTest/FirebasePodTest/SceneDelegate.swift
Original file line number Diff line number Diff line change
Expand Up @@ -20,22 +20,26 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate {
func scene(_ scene: UIScene,
willConnectTo session: UISceneSession,
options connectionOptions: UIScene.ConnectionOptions) {
// Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
// If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
// This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
// Use this method to optionally configure and attach the UIWindow `window` to the provided
// UIWindowScene `scene`. If using a storyboard, the `window` property will automatically
// be initialized and attached to the scene. This delegate does not imply the connecting
// scene or session are new (see `application:configurationForConnectingSceneSession`
// instead).
guard let _ = (scene as? UIWindowScene) else { return }
}

func sceneDidDisconnect(_ scene: UIScene) {
// Called as the scene is being released by the system.
// This occurs shortly after the scene enters the background, or when its session is discarded.
// Release any resources associated with this scene that can be re-created the next time the scene connects.
// The scene may re-connect later, as its session was not neccessarily discarded (see `application:didDiscardSceneSessions` instead).
// Release any resources associated with this scene that can be re-created the next time the
// scene connects. The scene may re-connect later, as its session was not neccessarily
// discarded (see `application:didDiscardSceneSessions` instead).
}

func sceneDidBecomeActive(_ scene: UIScene) {
// Called when the scene has moved from an inactive state to an active state.
// Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive.
// Use this method to restart any tasks that were paused (or not yet started) when the scene was
// inactive.
}

func sceneWillResignActive(_ scene: UIScene) {
Expand All @@ -50,7 +54,7 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate {

func sceneDidEnterBackground(_ scene: UIScene) {
// Called as the scene transitions from the foreground to the background.
// Use this method to save data, release shared resources, and store enough scene-specific state information
// to restore the scene back to its current state.
// Use this method to save data, release shared resources, and store enough scene-specific state
// information to restore the scene back to its current state.
}
}
2 changes: 1 addition & 1 deletion Crashlytics/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Unreleased
# 10.12.0
- [changed] Updated `upload-symbols` to version 3.16 with support for new default build settings in Xcode 15 (#11463)
- [changed] Re-enabled dSYM uploads for Flutter apps building with `--obfuscate` and updated instructions for de-obfuscating Dart stacktraces
- [fixed] `upload-symbols` / `run` now support apps with `User Script Sandboxing` set to `YES` when all input files are present in the build phase. Please see the Pull Request for the full list of input files (#11463)
Expand Down
22 changes: 21 additions & 1 deletion Crashlytics/Crashlytics/Components/FIRCLSBinaryImage.m
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@

#include "Crashlytics/Crashlytics/Components/FIRCLSGlobals.h"
#include "Crashlytics/Crashlytics/Components/FIRCLSHost.h"
#include "Crashlytics/Crashlytics/Helpers/FIRCLSDefines.h"
#include "Crashlytics/Crashlytics/Helpers/FIRCLSFeatures.h"
#include "Crashlytics/Crashlytics/Helpers/FIRCLSFile.h"
#include "Crashlytics/Crashlytics/Helpers/FIRCLSUtility.h"
Expand Down Expand Up @@ -241,7 +242,7 @@ static FIRCLSMachOSegmentCommand FIRCLSBinaryImageMachOGetSegmentCommand(

return segmentCommand;
}

#if !CLS_TARGET_OS_XR
static bool FIRCLSBinaryImageMachOSliceInitSectionByName(FIRCLSMachOSliceRef slice,
const char* segName,
const char* sectionName,
Expand Down Expand Up @@ -279,6 +280,7 @@ static bool FIRCLSBinaryImageMachOSliceInitSectionByName(FIRCLSMachOSliceRef sli

return true;
}
#endif

static void FIRCLSPopulateImageDetailWithLoadCommand(uint32_t type,
uint32_t size,
Expand Down Expand Up @@ -343,23 +345,41 @@ static bool FIRCLSBinaryImageFillInImageDetails(FIRCLSBinaryImageDetails* detail
FIRCLSMachOSection section;

#if CLS_COMPACT_UNWINDING_SUPPORTED
#if !CLS_TARGET_OS_XR
if (FIRCLSBinaryImageMachOSliceInitSectionByName(&details->slice, SEG_TEXT, "__unwind_info",
&section)) {
details->node.unwindInfo = (void*)(section.addr + details->vmaddr_slide);
}
#else
unsigned long unwindInfoSize;
details->node.unwindInfo = (void*)getsectiondata(details->slice.startAddress, "__TEXT",
"__unwind_info", &unwindInfoSize);
#endif
#endif

#if CLS_DWARF_UNWINDING_SUPPORTED
#if !CLS_TARGET_OS_XR
if (FIRCLSBinaryImageMachOSliceInitSectionByName(&details->slice, SEG_TEXT, "__eh_frame",
&section)) {
details->node.ehFrame = (void*)(section.addr + details->vmaddr_slide);
}
#else
unsigned long ehFrameSize;
details->node.ehFrame =
(void*)getsectiondata(details->slice.startAddress, "__TEXT", "__eh_frame", &ehFrameSize);
#endif
#endif

#if !CLS_TARGET_OS_XR
if (FIRCLSBinaryImageMachOSliceInitSectionByName(&details->slice, SEG_DATA, "__crash_info",
&section)) {
details->node.crashInfo = (void*)(section.addr + details->vmaddr_slide);
}
#else
unsigned long crashInfoSize;
details->node.crashInfo =
(void*)getsectiondata(details->slice.startAddress, "__TEXT", "__crash_info", &crashInfoSize);
#endif

return true;
}
Expand Down
15 changes: 9 additions & 6 deletions Crashlytics/Crashlytics/Controllers/FIRCLSNotificationManager.m
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
#import "Crashlytics/Crashlytics/Components/FIRCLSApplication.h"
#import "Crashlytics/Crashlytics/Components/FIRCLSGlobals.h"
#import "Crashlytics/Crashlytics/Components/FIRCLSUserLogging.h"
#include "Crashlytics/Crashlytics/Helpers/FIRCLSDefines.h"

#if TARGET_OS_IPHONE
#import <UIKit/UIKit.h>
Expand All @@ -38,6 +39,7 @@ - (void)registerNotificationListener {
selector:@selector(didBecomeInactive:)
name:UIApplicationDidEnterBackgroundNotification
object:nil];
#if !CLS_TARGET_OS_XR
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(didChangeOrientation:)
name:UIDeviceOrientationDidChangeNotification
Expand All @@ -51,6 +53,7 @@ - (void)registerNotificationListener {
name:UIApplicationDidChangeStatusBarOrientationNotification
object:nil];
#pragma clang diagnostic pop
#endif // !CLS_TARGET_OS_XR

#elif CLS_TARGET_OS_OSX
[[NSNotificationCenter defaultCenter] addObserver:self
Expand All @@ -65,22 +68,22 @@ - (void)registerNotificationListener {
}

- (void)captureInitialNotificationStates {
#if TARGET_OS_IOS
#if TARGET_OS_IOS && (!CLS_TARGET_OS_XR)
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
UIInterfaceOrientation statusBarOrientation =
[FIRCLSApplicationSharedInstance() statusBarOrientation];
#endif
#endif // TARGET_OS_IOS && (!CLS_TARGET_OS_XR)

// It's nice to do this async, so we don't hold up the main thread while doing three
// consecutive IOs here.
dispatch_async(FIRCLSGetLoggingQueue(), ^{
FIRCLSUserLoggingWriteInternalKeyValue(FIRCLSInBackgroundKey, @"0");
#if TARGET_OS_IOS
#if TARGET_OS_IOS && (!CLS_TARGET_OS_XR)
FIRCLSUserLoggingWriteInternalKeyValue(FIRCLSDeviceOrientationKey,
[@(orientation) description]);
FIRCLSUserLoggingWriteInternalKeyValue(FIRCLSUIOrientationKey,
[@(statusBarOrientation) description]);
#endif
#endif // TARGET_OS_IOS && (!CLS_TARGET_OS_XR)
});
}

Expand All @@ -92,7 +95,7 @@ - (void)didBecomeInactive:(NSNotification *)notification {
FIRCLSUserLoggingRecordInternalKeyValue(FIRCLSInBackgroundKey, @YES);
}

#if TARGET_OS_IOS
#if TARGET_OS_IOS && (!CLS_TARGET_OS_XR)
- (void)didChangeOrientation:(NSNotification *)notification {
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];

Expand All @@ -105,6 +108,6 @@ - (void)didChangeUIOrientation:(NSNotification *)notification {

FIRCLSUserLoggingRecordInternalKeyValue(FIRCLSUIOrientationKey, @(statusBarOrientation));
}
#endif
#endif // TARGET_OS_IOS && (!CLS_TARGET_OS_XR)

@end
7 changes: 7 additions & 0 deletions Crashlytics/Crashlytics/Helpers/FIRCLSDefines.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,13 @@
#include <arm/arch.h>
#endif

// VisionOS support
#if defined(TARGET_OS_XR) && TARGET_OS_XR
#define CLS_TARGET_OS_XR 1
#else
#define CLS_TARGET_OS_XR 0
#endif

#if defined(__arm__)
#define CLS_CPU_ARM 1
#endif
Expand Down
Loading