Commit Graph
179 Commits
Author SHA1 Message Date
Nick Cooke 6bbd7d1499 [Config] Wait for installations token before starting realtime connection (#13275) 2024-07-12 17:37:50 -04:00
Paul Beusterien ad8bac4915 Update repo Podfiles to iOS 13 minimum (#13250) 2024-07-09 08:05:22 -07:00
Nick Cooke 856e201e5d [NFC] Updating changelogs for Swift extension deletion (#13244) 2024-07-08 15:41:36 -04:00
Nick Cooke 09432fd164 [v11] Add changelog entries for Swift extension removal (#13086) 2024-06-06 17:16:34 -04:00
Nick Cooke 1674a6b9b4 [Config] Remove ConfigSwift (#13076) 2024-06-06 12:44:20 -04:00
Paul Beusterien 059b921122 [v11] RC stringValue is now nonull (#13065) 2024-06-05 07:48:28 -07:00
Paul Beusterien 7d7cbad7bd [v11] Update minimum platform versions for 11.0.0 (#13066) 2024-06-05 07:39:36 -07:00
Paul Beusterien f5309bf45b [v11] Remove unused FIRDependency class (#13053) 2024-06-04 06:56:50 -07:00
Andrew HeardandNick Cooke c9d013b624 Update unreleased changelog entries for 10.25.0 (#12839)
Co-authored-by: Nick Cooke <36927374+ncooke3@users.noreply.github.com>
2024-04-23 15:19:02 -04:00
Nick Cooke 14178e2fd4 [Release] Add changelog entry for #12548 (#12830) 2024-04-22 13:47:28 -04:00
Christopher Prince d5b35192d7 Make use of SQLITE_OPEN_FILEPROTECTION_COMPLETEUNTILFIRSTUSERAUTHENTICATION conditional. (#12548) 2024-04-22 13:03:44 -04:00
themiswang ca737359db fix unit tests (#12553) 2024-03-14 14:05:44 -04:00
Paul Beusterien 370385c42a Changelog updates for 10.23.0 (#12533) 2024-03-12 09:50:06 -07:00
themiswang 90c33e404f [Rollouts] Feature rollouts merge to main (#12410) 2024-03-11 16:13:04 -04:00
Paul BeusterienandNick Cooke 3539c2b691 Privacy Manifests for named Firebase SDKs (#12407)
Co-authored-by: Nick Cooke <nickcooke@google.com>
2024-02-23 15:08:29 -08:00
Paul Beusterien 4d2b60dc75 Updated to SwiftFormat 0.52.10 (#12125) 2023-11-21 12:12:05 -08:00
Nick Cooke 85cfe574bb [Release] Update CHANGELOGs for 10.17.0 (#11963) 2023-10-18 14:26:29 -04:00
Nick Cooke 85f4f03c1c [Config] Consolidate Config and ConfigSwift (#11808) 2023-10-13 14:53:47 -04:00
Nick Cooke acfd28c8af [Config] Revert merge of ConfigSwift into Config (#11769) 2023-09-01 16:12:54 -04:00
Nick Cooke d12eb34fb3 [Config] Lock down no-op API's availability for Swift clients (#11764) 2023-08-31 16:08:30 -04:00
Nick Cooke 1dc90cdd61 [Config] Refactor Swift sources out of FirebaseRemoteConfigSwift (#11747) 2023-08-29 17:49:41 -04:00
Quan PhamandNick Cooke 0da255f1ee Add changelog entry for Remote Config (#11500)
* Set FID in realtime request

* Update request method naming

* Update test

* Fix tests

* Fix test

* Mention changes in changelog

* Update FirebaseRemoteConfig/CHANGELOG.md

Co-authored-by: Nick Cooke <36927374+ncooke3@users.noreply.github.com>

---------

Co-authored-by: Nick Cooke <36927374+ncooke3@users.noreply.github.com>
2023-06-30 14:48:03 -07:00
Quan Pham d459655d5a Add FID into real-time RC requests (#11485)
* Set FID in realtime request

* Update request method naming

* Update test

* Fix tests

* Fix test
2023-06-29 15:20:28 -07:00
Quan Pham 7061b008c3 Remove isFetchInProgress check for real-time initiated Fetches (#11465)
* cast listener with __block so that it can be altered within block

* Increase fetch attempt

* Remove isFetchInProgress check for real-time initiated fetches

* Update changeling

* update changelog to be more specific
2023-06-28 07:18:31 -07:00
Quan Pham 0e4aa6d4bd cast listener with __block so that it can be altered within block (#11461) 2023-06-20 16:38:49 -07:00
Mike Hardy 671c87953a fix duplicated period in realtime remote config error (#11456) 2023-06-19 10:28:36 -07:00
Quan Pham d74dae0c31 Save activated ExperimentsDescriptions in DB (#11259)
* Add activated experiment metadata and payload keys to experiments table

* Call updateActivatedExperiments in activation method

* Update key name for experiments table

* Update test to include activation call

* Update DB manager for Active experiments payload and metadata

* Fix metadata naming

* add comment

* Don't save experiments metadata b/c it isn't required to diff experiments

* Add extra assertion for test

* Address PR comments
2023-05-26 10:11:15 -07:00
Paul Beusterien 8e49c486de Fix Xcode 14.3 RC warnings (#11194) 2023-04-27 08:42:02 -07:00
Guglielmo Faglioni 2c58866979 [RemoteConfig] Expose NSUnderlyingError to client (#11102) 2023-04-12 14:04:38 -07:00
Dana Silver af727e3c08 Specify real-time APIs don't affect fetch and activate. (#10986)
* Specify real-time APIs don't affect fetch and activate.

* Remove trailing whitespace.

* Use swift refdocs.
2023-03-22 18:23:53 -07:00
Quan Pham 7a95f0bd08 Update Remote Config real-time config update ref-docs (#10962)
* Update ref-doc comments

* Update ref-doc comments

* Remove word

* Replace words in comments

* Update comments

* Update comment
2023-03-20 10:58:17 -07:00
Nick Cooke 867697b8f3 [Infra] Upgrade to clang-format16 (#10973) 2023-03-20 12:47:43 -04:00
4e5b83f2d9 Merge Realtime into Remote Config (#10060)
* Realtime rc dev (#9807)

* Remove commits from non-CLA account. Move TypeDef to private RCNRealtimeConfig file.

* Remove completion handler typedef

* Format file

* Update listener registration description

* Realtime rc dev (#9835)

* Remove commits from non-CLA account. Move TypeDef to private RCNRealtimeConfig file.

* Remove completion handler typedef

* Format file

* Update listener registration description

* Add http streaming and auto fetch. Also add template version number to cache for autofetch.

* Format file.

* Add unit tests

* Format files

* fix test

* update test and header file

* Change templateVersionNumber to ivar

* Fix async tests and update NSDictionary changes

* Format file

* Update fetch time

* remove define header

* Wrap auto fetch in async queue

* Add auto fetch test

* Change template version extraction check.

* Change realtime error code to start at 8001

* Realtime rc dev (#9914)

* Remove commits from non-CLA account. Move TypeDef to private RCNRealtimeConfig file.

* Remove completion handler typedef

* Format file

* Update listener registration description

* Add http streaming and auto fetch. Also add template version number to cache for autofetch.

* Format file.

* Add unit tests

* Format files

* fix test

* update test and header file

* Change templateVersionNumber to ivar

* Fix async tests and update NSDictionary changes

* Format file

* Update fetch time

* remove define header

* Add http stream retry and background change listener.

* Wrap auto fetch in async queue

* Expose realtime method in public

* Update comments

* Add auto fetch test

* Change template version extraction check.

* Change realtime error code to start at 8001

* Change from NSTimer to dispatch. Add flag to guard against retrying.

* Format and add comments.

* Update tests

* Qdpham13 patch 1 (#9913)

* Delete .SecondApp-GoogleService-Info.plist

* Delete SecondApp-GoogleService-Info.plist

* Delete GoogleService-Info.plist

* Delete SecondApp-GoogleService-Info.plist

* Update ViewController.m

* Delete clang-format directory

* format

* Change to NSExtensionHostWillEnterForegroundNotification

* Change to UIApplicationWillEnterForegroundNotification

* add import

* Remove import, use string literal instead of UIKit enum

* add test for new public method

* Update template version number retrieval function and update delay

* Fix test

* Fix test

* Update retry seconds and fetch interval seconds

* Update ddos to DDoS

* Update variable according to style guide.

* Replace NSLog with kFIRLoggerRemoteConfig (#10062)

* Replace NSLog with kFIRLoggerRemoteConfig

* Remove logs and change others from info to debug.

* update log messages.

* Format files

* Realtime rc failsafe (#10067)

* Add failsafe logic to request, response and application logic.

* Update flag name and conditions.

* Format file

* Add check for template version number

* Format files

* Changes based on PR comments

* move response parsing logic to separate function and add test for failsafe flag

* Update based on PR comments and add method to propagate error to listeners in queue.

* Realtime rc merge patch v1 (#10089)

* Fix foreground reconnection naming, add background check and flag, add check to see if fetch is currently in progress.

* Add check so fetches come only when the template version is greater than the current one.

* Format file changes

* Add debug log

* Make changes based on PR comments.

* Resolve failsafe changes

* Updating instance var names

* change template version check for auto fetch from >= to >

* Cherry-pick #10123 into Firebase 9.5.0

* [RC] Fix retry logic to respect max retry count (#10143)

* Fix retry logic to respect max retry count

* Rename to isRequestInProgress

* Save template version in settings (#10162)

* Save template version in settings

* Format files

* set last template version to 0

* Store template version in userDefaults instead of deviceContents

* return nil for unsuccessful fetches

* fix typo

* Realtime rc no change (#10188)

* Save template version in settings

* Format files

* set last template version to 0

* Store template version in userDefaults instead of deviceContents

* return nil for unsuccessful fetches

* fix typo

* put addEtagToHeader flag to fetch and propagate it to surrounding functions

* Add excludeEtagHeaderForRealtime flag to RCNConfigFetch

* Update mocks for Swift test

* Fix flag

* Add commentting

* reconcile master branch merge conflicts

* Revert "Realtime rc no change (#10188)" (#10346)

This reverts commit abe7939602.
In part of implementing a different solution.

* Add Http status check to Realtime stream (#10406)

* Check status code before retrying

* Change time out to 5 and a half minutes

* Throw exception if unable to establish connection due to non-retryable status code

* Format file

* Replace old realtime exceptions with new exceptions (#10482)

* Replace old realtime exceptions with new exceptions

* Fix word type

* Realtime RC Fetch ID (#10499)

* Add Realtime specific fetch method and fetch type header changes

* Add test

* Add comments and format

* Fix tests

* Update fetch header name

* Update tests and edit realtime fetch name and params

* refactor remainingAttempts var

* Realtime rc backoff (#10483)

* Change Realtime back off to use same system as Fetch and persist backoff state

* format and fix merge conflict

* Save retry count along with other throttling metadata

* Update var name

* Fix naming

* Return ConfigUpdate to realtime listeners (#10578)

* diff fetched and active config on realtime fetch

* Some refactoring and added tests

* Revert some unrelated changes to fetch

* Fix formatting

* Update branch and fix swift tests

* Rename updatedParams to updatedKeys (#10683)

* Update Realtime RC service URL. (#10713)

* Compare p13n metadata values as dictionaries. (#10756)

* Realtime RC 1P Bug Fix: Add checks for retryHttpConnection method (#10770)

* Add checks to retry method

* Move background check to beginning of retry

* Capitalize FetchType header (#10774)

* Remove Fetch Duplicate error and fix API misuse error (#10814)

* Remove fetch duplicate error

* Move completionHandler to bottom of didReceiveData

* Remove unused var

* Return Server produced error if Http status code is 403  (#10844)

* Add API message to enable Realtime

* Update error message parsing to return error message from backend

* Format file

* Add comment and remove unnecessary string

* Format and update error checks

* Change matcher string

* Update matcher string

* Address PR comments (#10845)

* Address PR comments

* Add Realtime Swift mocks

* Remove unnecessary mocks

* Format files

* Format tests

* Add Realtime mock

* Add missing quote

* Fix bugs

* Remove import

* Update import

* Change import

* Don't make connection call for Realtime mock

* Move around import of RCNConfigSettings

* Fix andDo

* Update test

* Add mockedRealtime flags

* trigger integration test

* Add integration and unit test

* change constant value

* Add new RC key

* Update update

* Remove deleted item

* Add registration removal

* Fix and format files

* remove semicolon

* Update error check

* remove space

* Update capitalization

* Add space

* Remove spaces

* remove more spaces

* Remove comment and add swift name

* format

* Add tests and sampleApp changes for updatedKeys (#10879)

* Update tests and sample app

* change key name

* remove unused var

* Add comment

* update sampleApp comments

* Update comments for public methods

* Update backoff commenting

* Add changelog entry for real-time updates. (#10942)

* Add changelog entry for RC real time updates.

* Hyphenation.

* Change doc references to hyphenate real-time (#10948)

* Change doc references to hyphenate real-time

* Run formatter.

* Re-word real-time paragraph to flow better.

---------

Co-authored-by: Andrew Heard <andrew@wizheard.com>
Co-authored-by: karenyz <58443706+karenyz@users.noreply.github.com>
Co-authored-by: Karen Zeng <karenzeng@google.com>
Co-authored-by: Dana Silver <dsilver1221@gmail.com>
Co-authored-by: Dana Silver <danasilver@google.com>
2023-03-13 16:02:56 -07:00
Nick Cooke 96d07fe973 [Infra] Favor SWIFTPM_MODULE_BUNDLE macro over C function across repo (#10625)
* [Infra] Favor SWIFTPM_MODULE_BUNDLE in RC unit tests

* Favor across repo
2022-12-29 18:23:29 -05:00
Guglielmo Faglioni 0dd5b06304 pass NSUnderlyingError to client (#10453) 2022-11-07 18:14:00 -08:00
Nick Cooke 43c62f0526 [Infra] Remove CoreDiagnostics library and references (#10259)
* [Infra] Remove CoreDiagnostics library and references

* Style localize_podfile.swift

* Add GDT to SharedTestUtils

* Update GoogleUtilities.cmake config

* Run all CI

* Update GoogleUtilities.cmake config (2)

* Resolve FIRApp.m TODO

* [skip ci] Revert Gemfile
2022-09-26 00:03:55 -04:00
Charlotte Liang f804aba0e2 Remote Config Dynamic Property Wrapper (#10155) 2022-09-22 20:01:17 -07:00
karenyz d5637c4cd7 Modify activate path to only update experiments for firebase namespace (#9972)
* Modify activate path to only update experiments for firebase namespace

* Add changelog
2022-07-01 08:21:58 -07:00
Paul Beusterien e2542c7932 Changelog update for 8307 (#9969) 2022-06-30 11:12:08 -07:00
Jake Krog a23a476ee5 Support array / dictionary values in Remote Config defaults (#8307) 2022-06-30 10:38:32 -07:00
Nick Cooke ced8b554a0 [Infra] Standardize CHANGELOG header format (#9777) 2022-05-10 17:54:58 -04:00
karenyz b58ae5344b Send first open time in Remote Config fetch request (#9663)
* Extract first open time from analytics user properties

* Add tests

* Address comments

* Update tests
2022-04-18 16:12:19 -07:00
Morgan Chen 9f2a3132fa Use Swift syntax in reference documentation (#9594)
* fix returns typo

* change some headers

* style

* the rest of the header comments

* revert changes to FIRStorageReference
2022-04-08 14:50:22 -07: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
Ryan Wilson 500e1822c4 Fix Remote Config pre-configure access. (#9551)
* Fix Remote Config pre-configure access.

Currently, when `RemoteConfig.remoteConfig()` is called before
`FirebaseApp.configure()` is called, Similar to Database, AppCheck, and
others we'll now throw an ObjC exception. We're not going to make it
nullable or throw a Swift compatible error since it'd affect the
callsite of every usage (either a `?` or `try`) and this is deemed a
programming error: `configure()` has to be called first.

Fixes #8640

* CHANGELOG
2022-03-31 16:43:29 -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
Ryan Wilson e002709d2c Mark ObjC typedefs as unavailable in Swift. (#9387)
* Mark ObjC typedefs as unavailable in Swift.

This is part of the larger Swift API improvements effort. These reduce
visibility in autocomplete, and we've mostly migrated away from them
already. This hides the unused type from the API surface to avoid
cluttering the list of types avialable.

* Revert FDL Test

* Fix CombineSwift tests

* Fixed Firestore tests

* Revert unneeded changes for FDL internal headers.
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
Paul Beusterien 2246d8ff8c RC Swift pod and codable (#9084) 2022-01-18 07:25:47 -08:00
Paul Beusterien b9eccb7457 Control async/await testing from source instead of podspec (#9080) 2021-12-11 10:29:32 -08:00