Skip to content

fix(firestore, web): only set long polling options if it has a value #13295

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

Merged
merged 4 commits into from
Sep 10, 2024

Conversation

russellwheatley
Copy link
Member

@russellwheatley russellwheatley commented Sep 9, 2024

Description

  • Only set webExperimentalLongPollingOptions if there is a value set by the user.
  • This ought to fix our web firestore e2e tests. The tests were failing because we wrap in try/catch here. When we tried to initialise, it would throw an exception because webExperimentalLongPollingOptions was null. Then the firestore instance would be reinitialised without settings and that means we wouldn't have cache option set.
  • e2e tests now work which is proof of fix as previously getting doc from cache was failing because initialising firestore without settings wasn't occurring properly. See example test failure that is now fixed from this PR: https://github.com/firebase/flutterfire/actions/runs/10774838129/job/29877877726?pr=13292#step:11:87
  • fixed firestore web wasm, the env var:
bool.fromEnvironment('dart.library.ffi');

is no longer available causing test failures as integers were now doubles again. I have updated to double check html package is not available instead as it isn't compatible with wasm.

Related Issues

Closes 13293

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 merged commit 04b5002 into main Sep 10, 2024
21 of 25 checks passed
@russellwheatley russellwheatley deleted the fix-firestore-web branch September 10, 2024 10:25
@firebase firebase locked and limited conversation to collaborators Oct 11, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
4 participants