mirror of
https://github.com/firebase/firebase-ios-sdk
synced 2026-11-09 22:36:01 +05:45
cf1d90ae255c88d4c94de74d61734744b8881ded
24
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
e8a12e04c2 | Improve/use shorthand syntax for unwrapping optionals and fix typos (#12369) | ||
|
|
5fd1eb26d2 | [MLModelDownloader] Migrate to GoogleUtilities's storage container (#12762) | ||
|
|
4d2b60dc75 | Updated to SwiftFormat 0.52.10 (#12125) | ||
|
|
ae871b9dc1 |
Update to swiftformat 0.51.12 (#11531)
Co-authored-by: Andrew Heard <andrewheard@google.com> Co-authored-by: Nick Cooke <nickcooke@google.com> |
||
|
|
5e8790d78a | Update to SwiftFormat 0.49.2 (#9239) | ||
|
|
3cbe00c1b7 |
Fixes and corrections in telemetry logging (#7525)
* Restores ML Pods after M77. * Fix Package.swift * Re-add catalyst to GHA workflow. * Add model name to all log events + minor logging fixes. * Disable logging in tests * Disable logging in unit test. |
||
|
|
0341e9ccfd |
ML model downloader fixes (#7515)
* listDownloadedModels: don't cross-check URLs * Store models in a subfolder. * Test completion and progress handlers being called on the main thread. * More tests for callbacks on the main queue. * Fix public API handlers to be called on the main queue. * .gitignore ML GoogleService-Info.plist files * style * getModel: fail fast when modelName is empty string |
||
|
|
9597ffe51b |
Removes saved path on device (#7439)
* Restores ML Pods after M77. * Fix Package.swift * Re-add catalyst to GHA workflow. * Add tests for list models. * Failable emptying of model directory in tests. * Remove path from local model info and user defaults. * Clean up user defaults on delete + add interpreter to test app. * Replace .absoluteString with .path. This makes model.path work directly with TFLite interpreter. * Fix paths in tests. * Unit test for successful get model. * Rename modelPath to modelURL. * Use defaults.integer instead of casting to Int. * Remove force casting. * Mostly minor fixes that came out of the bugbash (#7462) * Use appropriate errors for network offline and api disabled. * Error + test for resourceExhausted. * Surface backend error message in logs whenever available. * Add disclaimer to empty directories for testing only. * Add Firelog events for model info retrieval. * Add documentation + other minor fixes. (#7465) * Add docs + clean up ModelDownloader.swift. * Add docs + clean up ModelDownloadTask.swift. * Add docs + clean up FileDownloader.swift. * Add docs + clean up LocalModelInfo.swift. Handle TODO for userdefaults init failure. * Add docs + clean up RemoteModelInfo.swift, DownloaderUserDefaults.swift. * Add docs + clean up ModelInfoRetriever.swift. * Add docs + clean up ModelDownloadConditions.swift. * Add docs + clean up DeviceLogger.swift. * Add docs + clean up TelemetryLogger.swift. * Add docs + clean up ModelFileManager.swift. * Remove resolved TODOs + other minor fixes. * Update model download conditions init. * Fix comment formatting. * Minor newline formatting. * Minor comment formatting. * Add docs for ModelDownloadConditions. * Basic fix for user defaults race condition. * Minor updates to tests. * Minor updates to tests. * Final fixes (#7471) * Refactor error parsing in model info response. * Add Firelog for delete event + minor fixes. * Temporary - test to check telemetry for delete event. * Disable backup of model files; handle inability to locate model storage dir. * Minor fixes. * Add tflite path extension to model file. |
||
|
|
ef3b4d9c19 |
Merge duplicate requests (#7422)
* Restores ML Pods after M77. * Fix Package.swift * Re-add catalyst to GHA workflow. * Merge duplicate model download requests. * Remove print statement. * WORK IN PROGRESS - Test for merging requests * Unit tests for merging requests. * Fix unit test description. * Uncomment debug logging |
||
|
|
37a36fa6e7 |
Fixes (#7419)
* Restores ML Pods after M77. * Fix Package.swift * Re-add catalyst to GHA workflow. * Restrict multiple model info and model downloads; fix modelPath check + minor fixes. * Replace static property for downloadStatus. * Add TODO for merging requests. * Add .notStarted download status and move TODO. |
||
|
|
11826f1c4d |
Firelog events (#7404)
* Restores ML Pods after M77. * Fix Package.swift * Re-add catalyst to GHA workflow. * Firelog 1/2 * More Firelog + fix sdk version. * Fix whitespace in proto. |
||
|
|
c64ca06431 |
More on-device logging and better error handling. (#7397)
* Restores ML Pods after M77. * Fix Package.swift * Re-add catalyst to GHA workflow. * Add new error type for expired url + fix tests. * On-device logging + updates to tests. * Add new error type for expired url + fix tests. * On-device logging + updates to tests. * Revert to enum for ModelFileManager.swift * Remove GoogleService-Info.plist * Remove GoogleService-Info.plist * Improve errors, tests, on-device logging. * Add device compatibility to check for available space. * Use CocoaError to check for space constraints. |
||
|
|
2c4c19be42 |
Logging on-device + Firelog (#7386)
* Restores ML Pods after M77. * Fix Package.swift * Re-add catalyst to GHA workflow. * Add new error type for expired url + fix tests. * On-device logging + updates to tests. * Add new error type for expired url + fix tests. * On-device logging + updates to tests. * Revert to enum for ModelFileManager.swift * Remove GoogleService-Info.plist * Remove GoogleService-Info.plist |
||
|
|
3ac79da402 |
Move retryDownload to ModelDownloader (#7374)
* Restores ML Pods after M77. * Fix Package.swift * Re-add catalyst to GHA workflow. * Refactor WIP - TODO: Refactor retryDownload handlers. * Refactor WIP - TODO: Fix unit test. * Refactor WIP - TODO: Refactor retryDownload handlers. * Refactor retryDownload() + unit tests. * Minor fixes. * Resolve merge conflicts with master. |
||
|
|
ad41e22f1a |
Device logging w/ GULLogger. (#7348)
* Restores ML Pods after M77. * Fix Package.swift * Re-add catalyst to GHA workflow. * Replace device logger with GULLogger. * Replace device logger with GULLogger. * Add GoogleUtilities dependency to Package.swift. * Add GoogleUtilities dependency to Package.swift. * Add GoogleUtilities dependency to podspec. * Fix import in DeviceLogger. * Remove extra new lines. |
||
|
|
e6fa9d42c1 |
Downloader protocol + tests (#7352)
* Restores ML Pods after M77. * Fix Package.swift * Re-add catalyst to GHA workflow. * Add mocks for better unit tests - WIP. * Remove duplicate proto files. * Download task protocol + tests. * Rename protocol file. * Import foundation. * Rename to authTokenProvider. * Rename to authTokenProvider. * Consolidate handlers for download task. * Merge #7355. * Clean up unit tests + add test for successful download retry. * Add TODO to refactor retry download + add test. * TODO to handle failed precondition. |
||
|
|
bbd9495b56 |
Implement model download conditions. (#7307)
* Restores ML Pods after M77. * Fix Package.swift * Re-add catalyst to GHA workflow. * Implement model downloading conditions. Error handling WIP * Remove background downloading + add waitsForConnectivity where available. * Resolve merge conflicts with master. * Resolve merge conflicts with master. |
||
|
|
a8ce5b0308 |
Handle expired download URL with support for retries (#7329)
* Restores ML Pods after M77. * Fix Package.swift * Re-add catalyst to GHA workflow. * Update error handling. * Add logging for background download failure. * Handle expired download URL. * Remove empty file. * Fix integration test. * Minor refactor. |
||
|
|
d7950ddbe4 |
Separate error messages into extensions (#7322)
* Restores ML Pods after M77. * Fix Package.swift * Re-add catalyst to GHA workflow. * Update error handling. * Add logging for background download failure. * Remove empty file. * Slight refactor of error descriptions + using ISO8601DateFormatter where available. * Slight refactor error descriptions + adding availability for ISO8601DateFormatter. |
||
|
|
ac4d70ed41 |
Logging on device and to Firelog (#7281)
* Restores ML Pods after M77. * Fix Package.swift * Re-add catalyst to GHA workflow. * Logging on-device and to Firelog - WIP. * Logging on-device and to Firelog - WIP. * Rename AnalyticsLogger to TelemetryLogger + minor fixes. * Add SwiftProtobuf dependency. * On-device and Firelog logging - WIP * Proto files. * Rename loggers. * Move protos to Sources. * Log model download event on device and to Firelog. * Add TODO to revisit SwiftProtobuf dependency + minor fixes. * Add SwiftProtobuf dependency to Package.swift. * TODO to revisit system info + TODO in podspec for SwiftProtobuf dependency. * Pass app to TelemetryLogger to check for stats enabled flag. * TODO to replace on device logEvent with GULLogBasic (future PR). |
||
|
|
f6e61e36c1 |
Logical checkpoint of ModelDownloader implementation (#7259)
* Restores ML Pods after M77. * Fix Package.swift * Re-add catalyst to GHA workflow. * Includes the implementation of: 1) download types, 2) list models, 3) delete model. * Add protocol to handle writing to user defaults. * Add protocol to handle writing to user defaults. * Add empty init to ModelDownloadConditions. * Copyright year + other minor fixes. * TODO to use FirebaseApp internal init for test app. * Test if download progress is in range. * Remove not nil test for progress. * Remove not nil test for progress. |
||
|
|
e6b60202d4 |
Add singleton-ish instance methods for model downloader (public API). (#7124)
* Restores ML Pods after M77. * Fix Package.swift * Refactor model info to be in-memory. * Add improved model download functionality w/ single set of download handlers per task. * Rename model download to better match URLSessionTask. * Rename model download to better match URLSessionTask. * Update unit test to read/write to user defaults. * Configure downloader with Firebase app. * Minor updates to model downloader and tests. * Singleton for model downloader instance, for default and custom app. * Manually add app lifecycle handling + TODOs for Firebase Components. * Replace options with app name as a property in ModelDownloader. * Update unit test to check model downloader instance creation + minor rename. |
||
|
|
dbdefc5163 |
Refactoring model download functionality. (#7068)
* Restores ML Pods after M77. * Fix Package.swift * Refactor model info to be in-memory. * Add improved model download functionality w/ single set of download handlers per task. * Rename model download to better match URLSessionTask. * Rename model download to better match URLSessionTask. * Update unit test to read/write to user defaults. * Minor updates to model downloader and tests. * Use caches directory for model storage on tvOS. * Change modelInfo to be privately settable. |
||
|
+19 |
324f8cf6e0 |
User defaults (#6907)
* Restores ML Pods after M77. * Initial structure for Swift library. * Custom model (#6594) * Initial commit for CustomModel class. * Initial commit for CustomModel class. * API scaffolding for CustomModel and ModelDownloader classes * API scaffolding for CustomModel and ModelDownloader classes * Delete ModelDownloadConditions.swift * Changed Swift structs to NSObject subclasses for objc visibility * Design for a Swift-first SDK * Design for a Swift-first SDK * Design for a Swift-first SDK * Updated design w/ errors and download progress handler * Style compliance * Refactor Test folder structure * Refactor Test folder structure * Fix pod lint errors * Fix pod lint errors * Add xcscheme for SwiftPM builds. * Disable catalyst temporarily, re-enable issue #6790 * Better classification of download errors * Documentation comments for custom model * Refactor errors for model downloading Co-authored-by: Ryan Wilson <wilsonryan@google.com> * Update to Firebase 7.0 and add Installations dependency * ML master update (#6891) * Restores ML Pods after M77. * Remove deprecated sendLogsWithServiceName (#6437) * Remove deprecated pods from Firebase.h and Firebase.podspec (#6438) * Remove the FCM Direct Channel API from Messaging (#6430) * Remove unnecessary Core private headers (#6439) * Update SPM docs to current version (#6524) * Update podspecs to min iOS 10 (#6517) * Merging the 6.33.0 release into master (#6523) * Update versions for Release 6.33.0 * SPM M80(6.33.0) Analytics update (#6490) Co-authored-by: Paul Beusterien <paulbeusterien@google.com> * Merge 6.33 SPM fixes back to master (#6530) * SPM M80(6.33.0) Analytics update (#6490) * Remove unnecessary analytics public header copy (#6498) * Fix SPM analytics warning introduced yesterday (#6504) * Fix SPM version (#6527) * Import Spec tests (#6525) * Import Spec tests * Init * Add recovery specs * Update FSTSyncEngineTestDriver.mm * Add release candidate prerelease workflow. (#6487) This also update cocoapods source to cocoapods repo since cdn is failed to connect. * Move internal Crashlytics changes to Github (#6535) Move *most* internal Crashlytics changes to Github * GDTCORFlatFileStorageTest size limit tests: use timeout proportional to the number of events (#6537) * IID: repo-relative headers (#6539) * Use Xcode 12 in CI instead of the beta (#6542) * SwiftPM for FCM (#6541) * Fix a rare RC crash (#6556) * Refactoring archive testing to a single yml file. (#6510) * Refactoring archive testing to a single yml file. This reduces the duplication in each of the workflow files. This also will make archive testing with SwiftPM more straightforward. * Prefixed with 'pod' name * Commenting out to run archive testing on PR for now. * Put array on single line The yml won't be parsed unless the `pod` array is on a single line. * Fix to run on PRs to the yml itself. * Fix naming of AppDistro * Remove schemes. * Update versions automation (#6550) * Remove iOS 10.0 check since minimum support in Messaging is already 10.0 (#6559) * Add Performance podspec (#6526) * Integrate Firestore with Firebase platform logging (#6507) The sample user agent string I'm getting in XCode is `apple-platform/ios apple-sdk/17E8258 fire-fst/1.17.1 fire-ios/6.10.2 swift/true xcode/11E503a`. * Change lastFetchTime to be readonly (#6567) * Change lastFetchTime to be readonly * Add changelog * GDTCORDirectorySizeTracker: fix NSURL constructor (#6580) * GDTCORDirectorySizeTracker: replace optional NSURL constructor with non-optional. * GDTCORDirectorySizeTracker tests for the issue * ./scripts/style.sh * changelog * Upload Symbols 3.4 with performance improvements (#6583) * Stop requiring pods to be static frameworks (#6557) * Always send the user agent regardless of the heartbeat value (#6592) Any non-zero heartbeat value is immediately reset to zero upon retrieval. Thus, should the network request containing the heartbeat value and the user agent string fail, the previous logic would prevent us from sending the user agent string until the next day (when the heartbeat once again returns a non-zero value). Until this is resolved, always send the user agent string, regardless of the heartbeat value. The associated increase in bandwidth usage is minor (~1.2% in _total_ traffic from running the full suite of Firestore integration tests, which represent the worst-case scenario because they recreate the streams much more often than a typical application). * Make all GoogleUtilities APIs public (#6588) * Make FirestoreException a type defined by Firestore/core (#6589) Move FirestoreInternalError to firebase::firestore to match FirestoreException in Android. When importing this into google3, we'll have to delete the Android-specific version of this type. * Update CHANGELOG for Firestore v1.19.0 (#6601) * Remove deprecated method in ABT public header (#6602) * Remove deprecated method, implementation * Replace call to deprecated method in RC, fix tests * Update changelogs * Add InstanceID deprecation warning (#6585) * Firebase 7 Firebase.podspec versions (#6604) * Add a changelog entry for Firestore platform logging (#6603) * 6.34.0 CHANGELOG update (#6611) * Migrate FIRLoggerServices strings from Core to clients (#6608) * Add static-framework testing to CI (#6599) * 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 * Update versions for Release 6.34.0 * 6.34.0 updates for SwiftPM (#6614) * M81 FIS cherry pick of #6570 (#6616) * 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 * Update versions * patch version * release manifest * Add link to App Distribution docs page (#6620) * Add link to App Distribution docs page * Remove trailing whitespaace * FIS IID tests shouldn't use repo-relative imports * Clean up usage of deprecated methods in unit tests (#6618) * Clean up usage of deprecated methods in unit tests * Add back second namespace tests * Remove test for setDefaults:namespace: * Remove deprecated auth APIs (#6607) * Remove deprecated APIs from public header. * Remove deprecated API implementations. * Also remove deprecated APIs from FIRUser. * Update unit tests. * Update sample app. * Update changelog. * Use MIMEType for image download extension if not present in resource URL (#6591) * ZipBuilder Firebase 7 updates (#6629) * Change numberValue to be nonnull (#6623) * Change numberValue to be nonnull * Add changelog * Add auth emulator support to public API. (#6624) * Add auth emulator support to public API. * Update changelog. * FIS: don't log anything on success validation (#6635) (#6636) * Remove the `FirebaseOptions()` bare initializer. (#6633) * Remove the `FirebaseOptions()` bare initializer. This was unintentionally surfaced from the ObjC header and should be removed. Note: although the existing initializer doesn't work, this is still a breaking change. * Style * Changelog update. * Remove deprecated elements of FIAM API (#6617) * Remove deprecated FIAM API * Remove call to deprecated method * Fix imports * Modify view controllers to use dummy test subclasses for message objects * Add bridging header, include it in test app * Add CHANGELOG entry * Revert "Add CHANGELOG entry" This reverts commit |