Skip to content

bug(reducers): documents with '.' (dot) character in their id are not correctly updated #139

Open
@jeanregisser

Description

Do you want to request a feature or report a bug?

Bug

What is the current behavior?

I'm listening to a subcollection like this:

firestoreConnect(({ userId }) => [{
  collection: `users/${userId}/favorites`,
  storeAs: 'favorites'
}])

The favorites are basically a collection of book ids.
The book ids contain the '.' (dot) character.

The initial LISTENER_RESPONSE populates the store correctly:
screen shot 2018-09-19 at 17 18 18

But then if I try to add another book as favorite:

firestore.set(`users/${userId}/favorites/${bookId}`, {
  savedAt: firestore.FieldValue.serverTimestamp(),
});

It breaks the data store:
screen shot 2018-09-19 at 17 22 25

Note that the ordered store is unaffected.

Also If I try to delete a favorite:

firestore.delete(`users/${userId}/favorites/${bookId}`);

It fails to delete it from the data store:
screen shot 2018-09-19 at 17 26 01
screen shot 2018-09-19 at 17 26 25
screen shot 2018-09-19 at 17 26 41
screen shot 2018-09-19 at 17 27 32

What is the expected behavior?

When listening to a collection with documents using the '.' (dot) characters in their id, it should correctly handle additions/updates/deletions in firestore.data.

Which versions of dependencies, and which browser are affected by this issue? Did this work in previous versions or setups?

This is happening with [email protected] and [email protected]

This is within a React Native project 0.55.3 using [email protected].

Steps to reproduce and if possible a minimal demo of the problem via codesandbox or similar.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions