Firestorter

Use Firestore in React with zero effort, using MobX 🤘

Unreleased
0.16.1
September 28, 2018
fixed
  • Fixed schema validation in Document.update or Document.set sometimes failed, when data document data contained arrays or sub-objects

0.16.0
September 24, 2018
added
  • Added ability to disable the Collection by returning null from a query function (this may break some things)

  • Added automatic removal of all documents from a Collection when it is disabled (when path or ref is cleared or query is set to null)

changed
  • Made snapshot errors more verbose so simplify debugging

0.15.4
September 14, 2018
fixed
  • Fixed exception when calling .update() on a document with a schema, that has not yet been fetched

0.15.3
September 13, 2018
fixed
  • Fixed lodash.isequal not defined as a direct dependency

0.15.2
September 12, 2018
added
  • Added logging of onSnapshot errors

fixed
  • Fixed exception when fetching a Document which doesn’t exist and which has a schema defined

0.15.1
September 5, 2018
added
  • Added log-message when Document snapshot failed

fixed
  • Fixed schema validation error not using the debugName when specified to constructor

0.15.0
August 31, 2018
added
  • Added support for code-debugging and smaller bundles on react-native (react-native entry in package.json)

  • Added support for specifying a specific firebase-app to use, instead of always using the default firebase app (initFirestorter({firebase, app}))

0.14.2
July 12, 2018
added
  • Added debug statement to log Document snapshot updates

fixed
  • Fixed Document not triggering a reaction after calling Document.update with a field-path

0.14.1
July 11, 2018
fixed
  • Fixed schema violation in Document.update/set when using a dotted FieldPath.

  • Fixed schema violation in Document.update/set when deleting fields using FieldValue.delete().

0.14.0
June 17, 2018
added
  • Added Collection.minimizeUpdates option to prevent multiple updates when starting real-time updates on a Collection. This happens when some of the query results are loally cached, causing Firestore to fire multiple onSnapshot events. Enabling this option causes Firestorter to skip/debounce the first local snapshot, in favor of the full result received slightly later from the cloud.

fixed
  • Fixed unneccessary re-start of real-time updates on Collection when the query changes.

0.12.1
June 11, 2018
removed
  • Removed obsolete firestore snapshot fields Document.createTime, Document.updateTime and Document.readTime

changed
  • Replaced fetching with the isLoading property (better name + isLoading also causes realtime updates to become active, fixes #18)

  • Renamed active prop to isActive (active still supported but shows deprecation warning)

fixed
  • Fixed Collection.add still writing to firestore when schema didn't validate

0.11.1
June 4, 2018
fixed
  • Fixed Document.update throwing exception when schema was used.

0.11.0
May 30, 2018
added
  • Added new method for defining queries using an observed function (e.g. col.query = (ref) => ref.orderBy('text', 'asc')). This is now the new recommended way for defining queries.

0.10.0
March 27, 2018
added
  • Added support for MobX 4 (for MobX 3.x, use 0.9.3 or lower)

  • Added donation link and sponsor acknowledgements

  • Added CHANGELOG.md & release-notes badge

0.9.3
January 21, 2018
added
  • Made getFirestore available externally

0.9.2
January 21, 2018
added
  • Added code coverage

  • Added additional unit tests

changed
  • Removed firebase as a peer dependency

  • Various updates to docs

fixed
  • Fixed Promise not rejected on Collection.add, when invalid doc-data was specified

0.9.1
January 7, 2018
added
  • Added Document.ready and Collection.ready

  • Added lots of unit tests

changed
  • Path observations are now immediate

  • Updated docs

0.9.0
January 1, 2018
added
  • Added ability to specify reactive-functions to the ref, path and query property of Document & Collection

  • Added Document.active and Collection.active property which indicates whether real-time updating is current active

  • Added Document.set operation

  • Added unit tests for Document & Collection (wip)

changed
  • The realtimeUpdating property has been renamed to mode (realtimeUpdating has been deprecated and will be removed soon)

  • Many documentation updates

fixed
  • Minor fixes