Skip to content
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

fix(firestore, apple): issue where setting persistence caused a crash. kFIRFirestoreCacheSizeUnlimited no longer usable. #11174

Merged
merged 6 commits into from
Jun 26, 2023

Conversation

russellwheatley
Copy link
Member

@russellwheatley russellwheatley commented Jun 22, 2023

Description

A few things to note.

  1. kFIRFirestoreCacheSizeUnlimited & anything more/less than acceptable cache size (1mb/100mb) was crashing apple apps.
  2. I've created an assertion within the copy() function of Settings, cannot do on creation of Settings as it would change the user facing API from const Settings to Settings(cacheSizeBytes: 10000000).
  3. Wrote tests for assertion as it is a tricky one. also wrote a few e2e tests.

Related Issues

fix: #11138

Checklist

Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]).
This will ensure a smooth and quick review process. Updating the pubspec.yaml and changelogs is not required.

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
  • All existing and new tests are passing.
  • I updated/added relevant documentation (doc comments with ///).
  • The analyzer (melos run analyze) does not report any problems on my PR.
  • I read and followed the Flutter Style Guide.
  • I signed the CLA.
  • I am willing to follow-up on review comments in a timely manner.

Breaking Change

Does your PR require plugin users to manually update their apps to accommodate your change?

  • Yes, this is a breaking change.
  • No, this is not a breaking change.

@russellwheatley russellwheatley changed the title fix(firestore, ios): persistence was crashing app. kFIRFirestoreCacheSizeUnlimited no longer usable. fix(firestore, apple): persistence was crashing app. kFIRFirestoreCacheSizeUnlimited no longer usable. Jun 23, 2023
@Salakar Salakar changed the title fix(firestore, apple): persistence was crashing app. kFIRFirestoreCacheSizeUnlimited no longer usable. fix(firestore, apple): issue where setting persistence caused a crash. kFIRFirestoreCacheSizeUnlimited no longer usable. Jun 23, 2023
Copy link
Contributor

@Lyokone Lyokone left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM just a comment on the deprecated constant


if (persistEnabled) {
NSNumber *unlimitedPersistence =
[NSNumber numberWithLongLong:kFIRFirestoreCacheSizeUnlimited];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was this constant created by us or was it exposed by the Firebase SDK? Should we ask the Firebase iOS SDK explanations about it if it's exposed by the native sdk?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, it's one of the SDKs constants. Worth asking in the next meeting 👍

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

cloud_firestore: ^4.8.1 (domain=NSPOSIXErrorDomain, code=3)
3 participants