Commit Graph
59 Commits
Author SHA1 Message Date
Paul Beusterien 79866caa23 Fix typos (#13312) 2024-07-18 15:05:15 -07:00
Paul Beusterien 0ab171c52b [v11] Update to SwiftFormat 0.54.0 (#13222) 2024-07-03 07:01:29 -07:00
Nick Cooke 62c2dacb69 [v11] Update FIS for GULs v8 (#13104) 2024-06-12 16:20:24 -04:00
Paul Beusterien 1a0d39a329 Merge remote-tracking branch 'origin/main' into auth-swift 2024-05-08 13:59:34 -07:00
Sheikh Bayazid e8a12e04c2 Improve/use shorthand syntax for unwrapping optionals and fix typos (#12369) 2024-05-03 08:50:20 -07:00
Paul Beusterien f5cb55371b Merge remote-tracking branch 'origin/main' into auth-swift 2024-01-20 09:56:12 -08:00
Andrew Heard 7db032cbfb Update async/await availability comments to "iOS 13+" (#12261) 2024-01-10 14:38:36 -05:00
Paul Beusterien 20847a1577 [auth-swift] Fix heartbeats for SPM (#12237) 2024-01-04 08:11:58 -08:00
Paul Beusterien 0fe8385fe6 Remove unnecessary compiler checks for Concurrency support (#12232) 2024-01-03 07:04:02 -08:00
Nick Cooke 1e040186a6 [Infra] Remove HeartbeatLoggingTestUtils.podspec (#11370)
* [Infra] Remove HeartbeatLoggingTestUtils.podspec

* Review
2023-06-01 13:31:39 -04:00
Nick Cooke f233d5b6a5 [Cleanup] Follow-up to #10259 (#10262)
* [Cleanup] Follow-up to 10259

* [skip ci] Resolve TODO

In an effort to resolve this TODO, I marked the protocol as @optional to clean
up some of the duplicate test code. While it cleaned up the test code, it did
clutter up the actual usage of the API so I decided against doing so.
2022-09-26 19:04:16 -04:00
Ryan Wilson 2258c07ecb Swift Error Improvements (#9512)
* Firebase Messaging enum

* Add tests for App Check errors

* App Distribution Error

* Installations error improvements

* Remote Config errors

* Firestore error handling

* Formatting

* Silly import error

* Consistency for App Check tests.

* Typo fix
2022-04-04 10:36:38 -04:00
Nick Cooke 6b6498ce2a [Heartbeat Logging] Migrate Installations from using FIRHeartbeatInfo to FIRHeartbeatLogger (#9543)
* Integrate FIS with FIRHeartbeatLogger

* Add env var to fis workflow

* Fix env var to fis workflow

* Add integration tests for heartbeat integration

* [skip ci] Review

* [skip ci] Review
2022-04-01 10:01:02 -04:00
Ryan Wilson 73279db127 Enable async/await APIs for iOS 13, etc. (#9540)
* Enable async/await APIs for iOS 13, etc.

This bumps the required compiler version to 5.5.2 which was included in
Xcode 13.2, where backporting was first introduced.

This breaks less developers and enables developers who aren't using
these APIs to still compile using Xcode 13.0 and 13.1.

As far as I can tell, the only breakage this includes now is developers
who are using Xcode 13.0 or 13.1, targeting iOS 15 and using one of
these 7 APIs. It will result in a compiler error and they'll have to
either use the completion handler version or upgrade to Xcode 13.2+ to
fix the compilation error.

* Missed checks, CHANGELOG

* Fixed avialability, added watchOS for RTDB

* Moved to watchOS 7 for all async/await APIs to match platform support
2022-04-01 09:56:33 -04:00
Nick Cooke a09083f9d0 [v9] Reorganize FirebaseCore* modules (#9482)
* [skip ci] [will revert] Add debug printing to `pod_lib_lint.rb`

* Reorganize FirebaseCore libraries for SPM and CP

* [skip ci] Revert "[skip ci] [will revert] Add debug printing to `pod_lib_lint.rb`"

This reverts commit 2a837e39708c21b0a324743ab226bd6c01047de7.

* Review and fix CI

* Remove `heartbeat_logging.yml` and add `core_internal.yml`

* Remove trailing whitespace

* Fix more whitespace 😞

* Fix `core_internal.yml` scheme name

* Update `check_imports.swift` and TODO

* Review

* Add FirebaseCoreInternal pod to Firestore example's Podfile

* [skip ci] Review - remove TODOs

* [skip ci] Remove duplicate `XCTest` import
2022-03-23 06:08:14 -07:00
Paul Beusterien 13c19a5e8c Swiftify symbol name for Swift (#9481) 2022-03-23 06:08:14 -07:00
Paul Beusterien 4f793064da Set up Core Internal for SPM (#9298) 2022-03-23 06:07:17 -07:00
Nick Cooke d6e7bb7d38 Update async-related directives in Swift build tests (#9063)
* Update directives in Swift build tests

* Fix CoreAPITests

* Fix CoreAPITests 2

* Fix installations and style
2021-12-09 14:30:43 -05:00
Nick Cooke 1997f76edc Installations API build tests (#8353)
* Installations API build tests

* Fix class name
2021-07-08 12:31:48 -04:00
Chen Liang 429bac463c Remove InstanceID from Github repo (#7970) 2021-04-27 11:54:03 -07:00
Paul Beusterien 672256e11e C API for Firebase Version (#6690) 2020-10-07 15:03:20 -07:00
Maksym Malyhin a3a59c1bfc FIS: require projectID and valid API Key format (#6678)
* FIRInstallations validation: remove GCMSenderID fallback for missing projectID

* FIRInstallationsIDController: remove GCMSenderID fallback for  missing projectID

* Add API Key validation

* Changelog

* changelog

* Constant for API key lenght

* array] -> alloc] init]

* typo

* message

* ./scripts/style.sh

* Fix dummy API key in integration tests

* Update dummy API Keys to match the expected format

* debug test quickstart with no xcpretty

* fix debug

* Use debug QS repo branch

* print debug

* Add missing allowed characters `-`, `_`

* Nicer dummy API Keys

* Comment

* Revert "Use debug QS repo branch"

This reverts commit 69739dd6ae.

* Revert "fix debug"

This reverts commit 84fcbc7543.

* Revert "debug test quickstart with no xcpretty"

This reverts commit 1fa21ed62a.
2020-10-07 17:25:03 -04:00
Paul Beusterien 83e898ab5c One Firebase version (#6634) 2020-10-02 12:26:22 -07:00
Maksym Malyhin dfffd85572 FIS: disable IID migration tests by default (#6619)
* FIS: disable IID migration tests by default

* remove redundant env variable

* Fix merge errors
2020-10-01 16:08:39 -04:00
Paul Beusterien d9e53a7dd1 FIS IID tests shouldn't use repo-relative imports 2020-09-30 15:22:00 -07:00
Paul Beusterien 5d0a1c8ccb Merge remote-tracking branch 'origin/firebase7-main' into pb-merge-firebase7 2020-09-30 14:23:40 -07:00
Maksym Malyhin d26b543572 FIS: Additional FIRInstallationsItem validation (#6570)
* FIS API tests for no FID in response

* FIRInstallationsIDControllerTests: test names

* FIRInstallationsIDControllerTests: corrupted storage tests

* FIRInstallationsItem validation

* Fix FIRInstallationsItem.IIDDefaultToken copy

* Improve error description.

* FIRInstallationsItem validation error

* FIRInstallationsItem validation tests

* ./scripts/style.sh

* FIRInstallationsIDController: validate stored installation

* FIRInstallationsAPIService installation validation

* Changelog
2020-09-30 14:02:03 -04:00
Paul Beusterien f2bcd5d82b Make all GoogleUtilities APIs public (#6588) 2020-09-29 07:26:10 -07:00
Paul Beusterien 89dd31a7ae IID: repo-relative headers (#6539) 2020-09-23 11:00:54 -07:00
Maksym Malyhin 7895478eba FirebaseInstallations: API requests backoff (#6232)
* FirebaseInstallations: API requests backoff (#6207)

* FIRInstallationsBackoffController introduced

* FIRCurrentDateProvider introduced

* FIRInstallationsBackoffControllerTests

* style

* FIRInstallationsBackoffController implementation

* WIP: tests

* Response to backoff event mapping

* FIRInstallationsIDController: integration with FIRInstallationsBackoffController

* Remove not existing error code.

* FIRInstallationsIDController: integration with FIRInstallationsBackoffController

* FIRInstallationsIDController: depend on FIRInstallationsBackoffControllerProtocol

* FIRInstallationsIDControllerTests: supplement tests with backoff validation

* TODOs

* TODO

* API docs

* Header import fixed

* FIS backoff adjustments and tests (#6230)

* Maximum backoff interval 30 min

* Errors adjusted

* Tests updated

* Exclude 401 and 404 from backoff as autorecoverable

* comments

* FIS 1.6.0 changelog (#6234)

* Change log version fixed
2020-08-10 09:36:04 -04:00
Paul Beusterien ebe6365ceb Installations - new public header structure (#6174) 2020-07-31 07:40:55 -07:00
Paul Beusterien c07c89ee75 Repo-relative imports for Installations (#5832) 2020-06-17 07:26:40 -07:00
Paul Beusterien 3f556ddb9e Update GoogleUtilities' clients with repo-relative imports (#5824) 2020-06-16 09:05:29 -07:00
Paul Beusterien d4621a636f Use preserve_paths instead of CocoaPods private (#5758) 2020-06-09 05:21:28 -07:00
Maksym Malyhin e5a1360e2c FIS - make server error logs more readable (#5654)
* FIS - make server error logs more readable

* Changelog
2020-05-20 12:48:16 -04:00
Maksym Malyhin 7bd8faaaa4 Move FIRSecureStorage to GoogleUtilities (#5329)
* FIRSecureStorage -> GULKeychainStorage: renamed and moved to GoogleUtilities

* FIS updated to GULKeychainStorage

* Run ./scripts/style.sh

* Headers order

* GULKeychainUtils API docs

* GULKeychainStorage: require Keychain service name
2020-04-09 17:06:41 -04:00
Maksym Malyhin dd70b46370 Installations: access FIRHeartbeatInfo from a background thread (#5114)
* FIS: assert heartbeat storage is not accessed in main thread.

* FIS: Access hearbeat storage from a background queue.
2020-03-16 17:29:11 -04:00
Maksym Malyhin 1bc3255436 Firebase Installations: validation of FIROptions parameters (#4683)
* FIS: Throw exception on incomplete Firebase config.

* API docs updated.

* FirebaseInstallations bump minor version: 1.1.0

* Fix tests

* Text fixed

* Make exception message more informative

* Fix Remote Config tests.

* Tests updated to use GCMSenderID if projectID is not available.

* Use `GCMSenderID` when `projectID` is not available.

* ./scripts/style.sh

* Comments

* GCMSenderID and projectID validation updated.

* Comment

* FirebaseInstallations: version bump to 1.0.1.

* FIS changelog

* FirebaseInstallations: version bump to 1.1.0

* FIS and Core changelogs.

* Changelogs remove GCMSenderID

* Typo

* Typo

* fix link

* Revert Core changelog

* FIS changelog fix.
2020-01-16 16:13:49 -05:00
Maksym Malyhin aebfb279a0 FirebaseInstallations: more unit tests to prove correct behaviour (#4612)
* FIS: more unit tests to prove correct behaviour

* Fix comments

* Fix comments

* Add missing return value to `then` block.
2020-01-07 19:14:38 -05:00
Maksym Malyhin 6004f9c490 Revert "FitebaseInstallations: fix create FID race condition (#4576)" (#4598)
This reverts commit 89bd10ff8e.
2020-01-06 19:02:56 -05:00
Maksym Malyhin 89bd10ff8e FitebaseInstallations: fix create FID race condition (#4576)
* FIS: test duplicated Create FID API requests.

* Fix getInstallationItem race condition.
2020-01-02 17:02:23 -05:00
Maksym Malyhin 7b63ce904b FirebaseInstallations - extensions support (#4495)
* FIS - use shared user defaults if `accessGroup` is set.

* Use `FIROptions.appGroupID` to set keychain `accessGroup`

* ./scripts/style.sh
2019-12-13 17:06:07 -05:00
Ryan Wilson 306e6c0622 Fix OCMock issues with FIS (#4406)
Fixes #4351
2019-11-27 12:08:47 -05:00
Vinay Guthal bc071a88d0 Add fis heartbeat support (#4353)
* installapiservice

* insallations api test

* update tests

* add mock tests

* add installations api
2019-11-25 11:21:32 -08:00
Maksym Malyhin 76b47085c9 FIS: Use IID auth token to authorize IID migration. (#4224)
* `FIRInstallationsIIDTokenStore` introduced. `FIRInstallationsIIDCheckinStore` removed.

* FIRInstallationsIIDTokenStoreTests

* Run ./scripts/style.sh

* FIRInstallationsIIDTokenStore implementation.

* ./scripts/style.sh

* Fix tvOS and macOS availability.

* Rename IIDAuthToken -> IIDDefaultToken

* FIRInstallationsIIDTokenStoreTests: fix flaky IID token removal

* ./scripts/style.sh
2019-11-04 11:45:17 -05:00
ChaoqunCHEN a507b40f17 Add bundle id http header to FIS requests (#4194)
* Add bundle id http header to FIS requests

* Add bundle id http header to FIS requests
2019-10-31 08:50:07 -07:00
Maksym Malyhin a34540f9cb FIS: race condition (#4148)
* FIRInstallationsSingleOperationPromiseCache: a failing test for race condition added.

* ./scripts/style.sh

* FIRInstallationsSingleOperationPromiseCache: synchronize entire code blocks not relying on `atomic` property. The atomic property synchronization was insufficient to synchronize `newOperationHandler()`.

* ./scripts/style.sh
2019-10-23 20:32:23 -04:00
Maksym Malyhin af6f4e512b FIS: Make sure refreshed auth token is stored to the storage. (#4146)
* FIRInstallationsIDControllerTests: test refreshed token is stored.

* FIRInstallationsIDControllerTests: all required tests updated to expect refreshed token to be stored.

* Tests: assert all FBLWaitForPromisesWithTimeout

* FIRInstallationsIDController: saving refreshed token implemented.

* FIRInstallationsIDController: duplicated code removed.
2019-10-23 14:22:28 -04:00
Maksym Malyhin 65ec051abd FIS: Complex unrecoverable error handling reverted and replaced by a simple log message. (#4120)
* Revert "FIS: stored registration error timeout (#4032)"

This reverts commit 37747dbb3d.

* Revert "FirebaseInstallations: CreateInstallation API request error handling (#4024)"

This reverts commit 27384c0a2c.

* Complex unrecoverable error handling reverted and replaced by a simple log message.
2019-10-21 09:37:57 -04:00
Maksym Malyhin 8c1168d188 FirebaseInstallation: send IID checkin data on IID migration. (#4114)
* FIRInstallationsIIDCheckinStore with tests introduced.

* FIRInstallationsIIDCheckinStore implementation and tests.

* Store IID checkin data.

* FIRInstallationsIDControllerTests: IID checkin migration tests.

* FIRInstallationsIDController: IID checkin migration logic.

* style.sh

* FIRInstallationsAPIServiceTests: IID migration header test.

* FIRInstallationsAPIService: send IID checkin data in CreateInstallation API request.

* FIRInstallationsIIDCheckinStoreTests: fix FIRInstanceIDCheckinStore subDirectoryName.

* FIRInstallationsIIDCheckinStoreTests: fix missing sub directory.

* Disable FIRInstallationsIntegrationTests for macOS.

* FIRInstallationsIntegrationTests: properly disable all tests on macOS.

* Fix.
2019-10-18 16:21:38 -04:00