-
Notifications
You must be signed in to change notification settings - Fork 4k
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
feat(firebase_firestore): v1 rework #2913
Conversation
Co-authored-by: ehesp <elliot.hesp@gmail.com> Co-authored-by: Helena Ford <helenaellieford@gmail.com> Co-authored-by: Kirsty Williams <kirstywilliams@users.noreply.github.com> Co-authored-by: Greg Hesp <greg.hesp@gmail.com>
We found a Contributor License Agreement for you (the sender of this pull request), but were unable to determine that you authored the commits in this PR. Maybe you used a different email address in the git commits than was used to sign the CLA? If someone else authored these commits, then please add them to this pull request and have them confirm that they're okay with them being contributed to Google. If there are co-authors, make sure they're formatted properly. In order to pass this check, please resolve this problem and then comment ℹ️ Googlers: Go here for more info. |
@googlebot I fixed it. |
@googlebot I fixed it. |
1 similar comment
@googlebot I fixed it. |
|
@Salakar Thank you very much! |
Is this implemented into the current cloud_firestore version? |
not released? yet? |
Maybe a week ago I started to get these types of errors when trying to access firebase from flutter. [VERBOSE-2:ui_dart_state.cc(157)] Unhandled Exception: PlatformException(Error 7, FIRFirestoreErrorDomain, I have tried:
I still get these errors. I'm not sure what else I can do. Are these changes in this pull request possibly the culprit? |
@eli-front @shinriyo @formvoltron - these changes have not been released yet. |
oh! sorry. :)
…On Mon, Jul 13, 2020 at 11:54 AM Mike Diarmid ***@***.***> wrote:
@eli-front <https://github.com/eli-front> @shinriyo
<https://github.com/shinriyo> @formvoltron
<https://github.com/formvoltron> - these changes have not been released
yet.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2913 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AADE3FFZG6YB24CNJ5MX7LTR3LKUPANCNFSM4OS4FF7Q>
.
|
Hello, when can we expect the release? I am very excited for the composite where query. |
Co-authored-by: @Ehesp
Co-authored-by: @greghesp
Co-authored-by: @helenaford
Co-authored-by: @kirstywilliams
Co-authored-by: @Salakar
Description
As part of our on-going work for #2582 this is our finalised Firebase Firestore rework changes.
Firestore changes
Along with the below changes, the plugin has undergone a quality of life update which includes:
FirebaseException
, allowing you to directly access the code (e.g.permission-denied
) and message.Firestore
:settings()
is now a synchronous setter that accepts aSettings
instance.enablePersistence()
is now a Web only method, use[Settings.persistenceEnabled]
instead for other platforms.enablePersistence
being configurable with custom Web specific[PersistenceSettings]
options.document()
is deprecated in favor ofdoc()
.Firestore
is now deprecated. UseFirebaseFirestore
instead.Firestore(app: app)
is now deprecated. UseFirebaseFirestore.instance
orFirebaseFirestore.instanceFor(app: app)
instead.clearPersistence()
support.disableNetwork()
support.enableNetwork()
support.snapshotInSync()
listener support.terminate()
support.waitForPendingWrites()
support.CollectionReference
:parent()
has been changed to a getterparent
.document()
is deprecated in favor ofdoc()
.Query
:getDocuments()
is deprecated in favor ofget()
.getDocuments
/get
has been updated to accept an instance ofGetOptions
(see below).endAt()
and thenendBefore()
will replace the "end" cursor query with theendBefore
).limitToLast
query modifier.QuerySnapshot
:documents
has been deprecated in favor ofdocs
.documentChanges
has been deprecated in favor ofdocChanges
.DocumentReference
:setData
/set
has been updated to accept an instance ofSetOptions
(see below, supportsmergeFields
).get()
has been updated to accept an instance ofGetOptions
(see below).parent()
has been changed to a getterparent
.documentID
has been deprecated in favor ofid
.setData()
has been deprecated in favor ofset()
.updateData()
has been deprecated in favor ofupdate()
.DocumentChange
:document()
is deprecated in favor ofdoc()
.DocumentSnapshot
:get data
getter is now adata()
method instead.documentID
has been deprecated in favor ofid
.get()
method. If no data exists at the given path, aStateError
will be thrown.NaN
values stored in your Firestore instance are now correctly parsed when reading & writing data.INFINITY
values stored in your Firestore instance are now correctly parsed when reading & writing data.-INFINITY
values stored in your Firestore instance are now correctly parsed when reading & writing data.WriteBatch
:setData()
has been deprecated in favor ofset()
.updateData()
has been deprecated in favor ofupdate()
.setData
/set
now supportsSetOptions
to merge data/fields (previously this accepted aMap
).Transaction
:DocumentSnapshot
.PlatformException
was thrown. You can now throw & catch on any exceptions.set
,delete
,update
) were previously Futures. These have been updated to better reflect how transactions should behave - they are now synchronous and are executed atomically once the transaction handler block has finished executing.FlutterResult
multiple times.See the new transactions documentation to learn more.
FieldPath
:List
ofString
values. Previously field paths were accessible only via a dot-notated string path. This meant attempting to access a field in a document with a.
in the name (e.g.foo.bar@gmail.com
) was impossible.GetOptions
: New class created to support how data is fetched from Firestore (server
,cache
,serverAndCache
).SetOptions
: New class created to bothmerge
andmergeFields
when setting data on documents.GeoPoint
:GeoPoint
instance.Updated Example App
This PR also includes a new reworked example app that works on all platforms;
Related Issues
Related PRs