* 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
* 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.
* 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.
* 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
* 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.
* 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.
* Download types WIP - local model.
* Download types WIP.
* Manually add app lifecycle handling + TODOs for Firebase Components.
* Replace options with app name as a property in ModelDownloader.
* Download types WIP.
* Refactor model info.
* Add convenience inits + other minor fixes.
* Explicit enum for model info result.
* 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.