firebase / firebase-js-sdk

Firebase Javascript SDK
https://firebase.google.com/docs/web/setup
Other
4.82k stars 885 forks source link

Some RTDB queries are randomly taking several minutes before returning #2802

Closed mparpaillon closed 4 years ago

mparpaillon commented 4 years ago

Hi, I'm building a tchat app and sometimes the users (me included) don't see any messages. It seems to happen when the app has been open for a while, stayed in background and is open again (but not all the time, which makes it really difficult to debug). If I wait several minutes it finally appears (most of the time... sometimes I don't have the patience and reload and it works). I looked at the console and saw this

77635592-1ac04b80-6f53-11ea-8ab7-a455b396c556

The 404 are not relevant for this issue but the 400 might be. Here are the corresponding URLs

https://firestore.googleapis.com/google.firestore.v1.Firestore/Listen/channel?database=projects%2Fharpy-prod%2Fdatabases%2F(default)&gsessionid=Fwc8Pg3ZeiC35V8Qrnb_qZxtWxMKbIfO&VER=8&RID=rpc&SID=exESGapZMaubkhPwrVqQ7g&CI=0&AID=325&TYPE=xmlhttp&zx=wyfa3wux15jy&t=1

https://firestore.googleapis.com/google.firestore.v1.Firestore/Listen/channel?database=projects%2Fharpy-prod%2Fdatabases%2F(default)&gsessionid=BAUpt4QNWB1oqpI19jRLTIQV93xeX0hT&VER=8&RID=rpc&SID=ImqucpcAdt3FHRrXpRgzvg&CI=0&AID=1209&TYPE=xmlhttp&zx=rn9jtn5746ii&t=2

https://firestore.googleapis.com/google.firestore.v1.Firestore/Listen/channel?database=projects%2Fharpy-prod%2Fdatabases%2F(default)&gsessionid=BxH1wiFmKRIB_2H7qNMf02npmeNbUY_f&VER=8&RID=rpc&SID=qg1RWgdziCze04JsQPxWIg&CI=0&AID=180&TYPE=xmlhttp&zx=boh1a1w4y7um&t=2

https://firestore.googleapis.com/google.firestore.v1.Firestore/Listen/channel?database=projects%2Fharpy-prod%2Fdatabases%2F(default)&gsessionid=o3vM0kjq1Hvfy6TVv5RFMZXd2Gz67Ifh&VER=8&RID=rpc&SID=9ioz4_t1zcZxraT3yDU0hQ&CI=0&AID=186&TYPE=xmlhttp&zx=5xso6r3bttt0&t=1

Not sure this is related but perhaps my session has expired and is not refreshed yet so I'm getting a 400 ? The Firebase sessions are supposed to be automatically refreshed right ? Am I missing something ?

Looks like this issue unresolved issue: https://github.com/firebase/firebase-js-sdk/issues/2140

More info:

EDIT: After some testing this is not a Firestore issue, it's a Realtime database issue.

thebrianchen commented 4 years ago

@mparpaillon Thanks for reporting this issue! Could you include the Firestore logs when this occurs, so that we can dig deeper into this issue? You can enable logging with the setLogLevel function.

mparpaillon commented 4 years ago

Ok, good news. I've fully reproduced the issue. Here are the logs. Not sure if that's the best way to share them... Could have cleaned it up a little but I was afraid I would remove something useful.

So at 2020-03-27T08:02:39.252Z the screen was empty. No message

Capture d’écran 2020-03-27 à 09 03 16

Then at 2020-03-27T08:03:17.430Z it appeared. So 40scd to load 5 messages or so. And it has already taken longer than that.

Capture d’écran 2020-03-27 à 09 03 26
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T07:46:48.865Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkIv6aD75S66AI=","readTime":"2020-03-27T07:46:50.369855Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T07:46:48.873Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T07:46:48.881Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T07:46:48.890Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T07:47:48.871Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkIlLfRi5W66AI=","readTime":"2020-03-27T07:47:50.370196Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T07:47:48.876Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T07:47:48.883Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T07:47:48.891Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T07:48:48.879Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkIvsefqJW66AI=","readTime":"2020-03-27T07:48:50.370494Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T07:48:48.883Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T07:48:48.890Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T07:48:48.895Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T07:49:48.968Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkI7dftxJW66AI=","readTime":"2020-03-27T07:49:50.370797Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T07:49:48.973Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T07:49:48.979Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T07:49:48.995Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T07:50:48.794Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkIsOi74ZW66AI=","readTime":"2020-03-27T07:50:50.371120Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T07:50:48.804Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T07:50:48.807Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T07:50:48.811Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
polyfills-es2015.4deff63c808bc1d4e8bc.js:1 [Violation] 'setTimeout' handler took 52ms
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.230Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkIxPiJ/pW66AI=","readTime":"2020-03-27T07:51:50.371396Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.237Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.248Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.252Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
zone-evergreen.js.pre-build-optimizer.js:2828 GET https://firestore.googleapis.com/google.firestore.v1.Firestore/Listen/channel?database=projects%2Fharpy-dev%2Fdatabases%2F(default)&gsessionid=L-RBk8SOl6cnT4DpXNMmuR-cSbyllwld&VER=8&RID=rpc&SID=I7IWb8Gbmjwu34NZahAp5g&CI=0&AID=249&TYPE=xmlhttp&zx=wa4g46sq4l4j&t=1 net::ERR_ABORTED 400
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.334Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel transport errored: nr {type: "c", target: tr, a: tr, Ia: true, status: 1}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.336Z]  @firebase/firestore: Firestore (7.6.2) [PersistentStream]: close with error: FirebaseError: [code=unavailable]: The operation could not be completed
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.341Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: Creating WebChannel: https://firestore.googleapis.com/google.firestore.v1.Firestore/Listen/channel [object Object]
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.345Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: Opening WebChannel transport.
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.347Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"documents":{"documents":["projects/harpy-dev/databases/(default)/documents/users/y32HASRWUyXjuuSbkOgNn84sdBO2"]},"targetId":2,"resumeToken":"CgkIxPiJ/pW66AI="}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.348Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"query":{"structuredQuery":{"from":[{"collectionId":"entities_tags"}],"orderBy":[{"field":{"fieldPath":"__name__"},"direction":"ASCENDING"}]},"parent":"projects/harpy-dev/databases/(default)/documents/users/y32HASRWUyXjuuSbkOgNn84sdBO2"},"targetId":4,"resumeToken":"CgkIxPiJ/pW66AI="}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.349Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"documents":{"documents":["projects/harpy-dev/databases/(default)/documents/users/fhT7bR6yk4NVhoxnmf9ceYVoJiF2/public/data"]},"targetId":6,"resumeToken":"CgkIxPiJ/pW66AI="}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.350Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"documents":{"documents":["projects/harpy-dev/databases/(default)/documents/users/8ZoJUXWrq7aTf240R1HI4nvEi8w2/public/data"]},"targetId":8,"resumeToken":"CgkIxPiJ/pW66AI="}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.351Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"documents":{"documents":["projects/harpy-dev/databases/(default)/documents/users/LrqL6dfN6hYOefRLTWqPLZSSoY13/public/data"]},"targetId":10,"resumeToken":"CgkIxPiJ/pW66AI="}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.351Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"documents":{"documents":["projects/harpy-dev/databases/(default)/documents/users/VYkSz743L9NAdf51I9ezFWdtEu03/public/data"]},"targetId":12,"resumeToken":"CgkIxPiJ/pW66AI="}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.352Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"query":{"structuredQuery":{"from":[{"collectionId":"story_invites","allDescendants":true}],"where":{"compositeFilter":{"op":"AND","filters":[{"fieldFilter":{"field":{"fieldPath":"targetUserUid"},"op":"EQUAL","value":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}}},{"fieldFilter":{"field":{"fieldPath":"status"},"op":"EQUAL","value":{"stringValue":"waiting"}}}]}},"orderBy":[{"field":{"fieldPath":"__name__"},"direction":"ASCENDING"}]},"parent":"projects/harpy-dev/databases/(default)/documents"},"targetId":14,"resumeToken":"CgkIxPiJ/pW66AI="}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.353Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"query":{"structuredQuery":{"from":[{"collectionId":"friend_requests"}],"where":{"fieldFilter":{"field":{"fieldPath":"targetUserUid"},"op":"EQUAL","value":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}}},"orderBy":[{"field":{"fieldPath":"__name__"},"direction":"ASCENDING"}]},"parent":"projects/harpy-dev/databases/(default)/documents"},"targetId":16,"resumeToken":"CgkIxPiJ/pW66AI="}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.354Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"documents":{"documents":["projects/harpy-dev/databases/(default)/documents/users/y32HASRWUyXjuuSbkOgNn84sdBO2/public/data"]},"targetId":18,"resumeToken":"CgkIxPiJ/pW66AI="}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.354Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"query":{"structuredQuery":{"from":[{"collectionId":"entities"}],"where":{"compositeFilter":{"op":"AND","filters":[{"fieldFilter":{"field":{"fieldPath":"access.read"},"op":"ARRAY_CONTAINS","value":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}}},{"fieldFilter":{"field":{"fieldPath":"type"},"op":"EQUAL","value":{"stringValue":"character"}}},{"fieldFilter":{"field":{"fieldPath":"playerUserUid"},"op":"EQUAL","value":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}}}]}},"orderBy":[{"field":{"fieldPath":"__name__"},"direction":"ASCENDING"}]},"parent":"projects/harpy-dev/databases/(default)/documents"},"targetId":22,"resumeToken":"CgkIxPiJ/pW66AI="}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.355Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"query":{"structuredQuery":{"from":[{"collectionId":"friend_requests"}],"where":{"fieldFilter":{"field":{"fieldPath":"originUserUid"},"op":"EQUAL","value":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}}},"orderBy":[{"field":{"fieldPath":"__name__"},"direction":"ASCENDING"}]},"parent":"projects/harpy-dev/databases/(default)/documents"},"targetId":24,"resumeToken":"CgkIxPiJ/pW66AI="}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.356Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"query":{"structuredQuery":{"from":[{"collectionId":"stories"}],"where":{"compositeFilter":{"op":"AND","filters":[{"fieldFilter":{"field":{"fieldPath":"access.read"},"op":"ARRAY_CONTAINS","value":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}}},{"fieldFilter":{"field":{"fieldPath":"isArchived"},"op":"EQUAL","value":{"booleanValue":false}}}]}},"orderBy":[{"field":{"fieldPath":"__name__"},"direction":"ASCENDING"}]},"parent":"projects/harpy-dev/databases/(default)/documents"},"targetId":118,"resumeToken":"CgkIxPiJ/pW66AI="}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.357Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"query":{"structuredQuery":{"from":[{"collectionId":"story_invites"}],"where":{"fieldFilter":{"field":{"fieldPath":"status"},"op":"EQUAL","value":{"stringValue":"waiting"}}},"orderBy":[{"field":{"fieldPath":"__name__"},"direction":"ASCENDING"}]},"parent":"projects/harpy-dev/databases/(default)/documents/stories/43Txd1SkJ1BLctsuFe2Y"},"targetId":120,"resumeToken":"CgkIxPiJ/pW66AI="}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.357Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"query":{"structuredQuery":{"from":[{"collectionId":"chapters"}],"where":{"fieldFilter":{"field":{"fieldPath":"storyUid"},"op":"EQUAL","value":{"stringValue":"43Txd1SkJ1BLctsuFe2Y"}}},"orderBy":[{"field":{"fieldPath":"number"},"direction":"DESCENDING"},{"field":{"fieldPath":"__name__"},"direction":"DESCENDING"}]},"parent":"projects/harpy-dev/databases/(default)/documents"},"targetId":122,"resumeToken":"CgkIxPiJ/pW66AI="}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.358Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"documents":{"documents":["projects/harpy-dev/databases/(default)/documents/entities/wncRgkr9Xjw2iF6e9DVb"]},"targetId":124,"resumeToken":"CgkIxPiJ/pW66AI="}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.359Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"query":{"structuredQuery":{"from":[{"collectionId":"story_invites"}],"orderBy":[{"field":{"fieldPath":"__name__"},"direction":"ASCENDING"}]},"parent":"projects/harpy-dev/databases/(default)/documents/stories/43Txd1SkJ1BLctsuFe2Y"},"targetId":126,"resumeToken":"CgkIxPiJ/pW66AI="}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.360Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"query":{"structuredQuery":{"from":[{"collectionId":"chats"}],"where":{"compositeFilter":{"op":"AND","filters":[{"fieldFilter":{"field":{"fieldPath":"access.read"},"op":"ARRAY_CONTAINS","value":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}}},{"fieldFilter":{"field":{"fieldPath":"chapterUid"},"op":"EQUAL","value":{"stringValue":"j2JLohKx3B3hpwVJvhqE"}}}]}},"orderBy":[{"field":{"fieldPath":"isMainChapterChat"},"direction":"DESCENDING"},{"field":{"fieldPath":"__name__"},"direction":"DESCENDING"}]},"parent":"projects/harpy-dev/databases/(default)/documents"},"targetId":128,"resumeToken":"CgkIxPiJ/pW66AI="}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.399Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel transport opened.
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.438Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[2]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.439Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkIxPiJ/pW66AI=","readTime":"2020-03-27T07:51:50.371396Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.440Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[4]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.441Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkIxPiJ/pW66AI=","readTime":"2020-03-27T07:51:50.371396Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.442Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[6]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.443Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkIxPiJ/pW66AI=","readTime":"2020-03-27T07:51:50.371396Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.443Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[8]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.444Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkIxPiJ/pW66AI=","readTime":"2020-03-27T07:51:50.371396Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.445Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[10]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.446Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkIxPiJ/pW66AI=","readTime":"2020-03-27T07:51:50.371396Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.447Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[12]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.447Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkIxPiJ/pW66AI=","readTime":"2020-03-27T07:51:50.371396Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.448Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[14]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.449Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkIxPiJ/pW66AI=","readTime":"2020-03-27T07:51:50.371396Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.450Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[16]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.450Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkIxPiJ/pW66AI=","readTime":"2020-03-27T07:51:50.371396Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.451Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[18]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.452Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkIxPiJ/pW66AI=","readTime":"2020-03-27T07:51:50.371396Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.453Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[22]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.453Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkIxPiJ/pW66AI=","readTime":"2020-03-27T07:51:50.371396Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.454Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[24]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.455Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkIxPiJ/pW66AI=","readTime":"2020-03-27T07:51:50.371396Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.456Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[118]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.457Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkIxPiJ/pW66AI=","readTime":"2020-03-27T07:51:50.371396Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.457Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[120]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.458Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkIxPiJ/pW66AI=","readTime":"2020-03-27T07:51:50.371396Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.459Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[122]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.460Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkIxPiJ/pW66AI=","readTime":"2020-03-27T07:51:50.371396Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.461Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[124]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.462Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkIxPiJ/pW66AI=","readTime":"2020-03-27T07:51:50.371396Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.463Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[126]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.464Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkIxPiJ/pW66AI=","readTime":"2020-03-27T07:51:50.371396Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.464Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[128]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.465Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkIxPiJ/pW66AI=","readTime":"2020-03-27T07:51:50.371396Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.467Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 4
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.468Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 6
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.469Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 8
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.469Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 10
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.470Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 12
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.470Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 14
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.471Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 16
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.472Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 18
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.472Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 22
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.473Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 24
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.473Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 118
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.474Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 120
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.475Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 122
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.475Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 124
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.476Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 126
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.477Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 128
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.477Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.478Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.480Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.481Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 6
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.482Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 8
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.483Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 10
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.483Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 12
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.484Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 14
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.484Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 16
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.485Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 18
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.485Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 22
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.486Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 24
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.487Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 118
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.487Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 120
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.488Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 122
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.488Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 124
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.488Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 126
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.489Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 128
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.490Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.490Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.492Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.492Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 8
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.493Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 10
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.494Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 12
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.494Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 14
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.494Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 16
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.495Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 18
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.495Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 22
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.496Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 24
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.496Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 118
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.497Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 120
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.497Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 122
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.498Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 124
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.498Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 126
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.498Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 128
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.499Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.500Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.501Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.502Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 10
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.502Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 12
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.503Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 14
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.503Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 16
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.503Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 18
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.504Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 22
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.504Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 24
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.506Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 118
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.507Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 120
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.507Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 122
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.508Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 124
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.508Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 126
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.509Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 128
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.509Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.510Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.513Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.513Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 12
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.514Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 14
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.514Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 16
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.515Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 18
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.515Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 22
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.515Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 24
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.516Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 118
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.516Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 120
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.517Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 122
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.517Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 124
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.518Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 126
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.518Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 128
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.518Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.519Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.520Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.521Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 14
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.522Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 16
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.522Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 18
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.523Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 22
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.523Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 24
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.523Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 118
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.524Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 120
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.524Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 122
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.525Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 124
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.525Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 126
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.526Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 128
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.526Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.527Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.528Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.529Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 16
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.529Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 18
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.530Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 22
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.530Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 24
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.531Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 118
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.531Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 120
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.531Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 122
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.532Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 124
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.532Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 126
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.533Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 128
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.533Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.534Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.535Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.536Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 18
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.536Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 22
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.537Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 24
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.537Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 118
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.538Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 120
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.538Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 122
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.539Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 124
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.539Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 126
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.539Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 128
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.540Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.541Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.542Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.543Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 22
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.543Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 24
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.543Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 118
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.544Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 120
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.544Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 122
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.545Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 124
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.545Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 126
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.546Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 128
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.546Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.547Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.548Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.548Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 24
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.549Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 118
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.549Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 120
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.550Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 122
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.550Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 124
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.551Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 126
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.551Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 128
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.551Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.552Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.553Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.554Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 118
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.554Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 120
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.555Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 122
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.555Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 124
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.556Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 126
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.556Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 128
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.557Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.557Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.560Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.561Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 120
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.561Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 122
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.561Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 124
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.562Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 126
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.562Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 128
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.563Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.563Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.565Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.565Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 122
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.566Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 124
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.566Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 126
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.567Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 128
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.567Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.568Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.571Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.571Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 124
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.572Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 126
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.573Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 128
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.573Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.574Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.575Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.576Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 126
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.577Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 128
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.577Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.578Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.579Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.580Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 128
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.580Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.581Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.582Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.582Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.583Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.584Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.635Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[12],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.636Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[10],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.636Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[8],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.637Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[2],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.637Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[124],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.638Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[18],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.638Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"filter":{"targetId":4}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.639Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[4],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.639Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[10,12,124,8,18],"resumeToken":"CgkImdmstJi66AI=","readTime":"2020-03-27T08:02:41.057945Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.640Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[2],"resumeToken":"CgkImdmstJi66AI=","readTime":"2020-03-27T08:02:41.057945Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.641Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[4],"resumeToken":"CgkImdmstJi66AI=","readTime":"2020-03-27T08:02:41.057945Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.642Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"filter":{"targetId":16}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.642Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[16],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.643Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[16],"resumeToken":"CgkImdmstJi66AI=","readTime":"2020-03-27T08:02:41.057945Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.643Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"filter":{"targetId":24}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.644Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[24],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.645Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[24],"resumeToken":"CgkImdmstJi66AI=","readTime":"2020-03-27T08:02:41.057945Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.645Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"filter":{"targetId":14}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.646Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[14],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.647Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[14],"resumeToken":"CgkImdmstJi66AI=","readTime":"2020-03-27T08:02:41.057945Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.647Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"filter":{"targetId":122,"count":1}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.648Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[122],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.648Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[122],"resumeToken":"CgkImdmstJi66AI=","readTime":"2020-03-27T08:02:41.057945Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.649Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"filter":{"targetId":120}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.649Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[120],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.650Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[120],"resumeToken":"CgkImdmstJi66AI=","readTime":"2020-03-27T08:02:41.057945Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.650Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"filter":{"targetId":126}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.651Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[126],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.651Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[126],"resumeToken":"CgkImdmstJi66AI=","readTime":"2020-03-27T08:02:41.057945Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.652Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"filter":{"targetId":128,"count":2}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.652Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[128],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.653Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[128],"resumeToken":"CgkImdmstJi66AI=","readTime":"2020-03-27T08:02:41.057945Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.653Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"filter":{"targetId":22,"count":4}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.654Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[22],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.654Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[22],"resumeToken":"CgkImdmstJi66AI=","readTime":"2020-03-27T08:02:41.057945Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.655Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[6],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.655Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[6],"resumeToken":"CgkImdmstJi66AI=","readTime":"2020-03-27T08:02:41.057945Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.656Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"filter":{"targetId":118,"count":4}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.656Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[118],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.657Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[118],"resumeToken":"CgkImdmstJi66AI=","readTime":"2020-03-27T08:02:41.057945Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.657Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkImdmstJi66AI=","readTime":"2020-03-27T08:02:41.057945Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.660Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.661Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:39.664Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.056Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Allocate target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.058Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Execute query
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.059Z]  @firebase/firestore: Firestore (7.6.2) [IndexFreeQueryEngine]: Using full collection scan to execute query: %s Query(target=Target(chapters/j2JLohKx3B3hpwVJvhqE, orderBy: [__name__ (asc)]); limitType=F)
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.061Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"documents":{"documents":["projects/harpy-dev/databases/(default)/documents/chapters/j2JLohKx3B3hpwVJvhqE"]},"targetId":130}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.081Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Release target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.083Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","removeTarget":130}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.128Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Release target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.141Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","removeTarget":124}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.144Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Release target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.148Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","removeTarget":128}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.151Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Release target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.153Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","removeTarget":126}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.155Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Release target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.158Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","removeTarget":120}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.160Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Release target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.162Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","removeTarget":122}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.165Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Release target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.168Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","removeTarget":118}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.171Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Allocate target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.173Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Execute query
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.173Z]  @firebase/firestore: Firestore (7.6.2) [IndexFreeQueryEngine]: Using full collection scan to execute query: %s Query(target=Target(chapters/j2JLohKx3B3hpwVJvhqE, orderBy: [__name__ (asc)]); limitType=F)
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.174Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"documents":{"documents":["projects/harpy-dev/databases/(default)/documents/chapters/j2JLohKx3B3hpwVJvhqE"]},"targetId":132}}
polyfills-es2015.4deff63c808bc1d4e8bc.js:1 [Violation] 'setInterval' handler took 88ms
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.185Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[130]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.186Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"REMOVE","targetIds":[130]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.186Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkImdmstJi66AI=","readTime":"2020-03-27T08:02:41.057945Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.187Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"REMOVE","targetIds":[124]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.187Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"REMOVE","targetIds":[128]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.188Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"REMOVE","targetIds":[126]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.189Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 118
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.189Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 120
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.190Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 122
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.190Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 124
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.191Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 126
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.191Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 128
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.192Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 132
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.192Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.193Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.194Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.247Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"REMOVE","targetIds":[120]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.248Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"REMOVE","targetIds":[122]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.249Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"REMOVE","targetIds":[118]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.249Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[132]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.301Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/chapters/j2JLohKx3B3hpwVJvhqE","fields":{"storyUid":{"stringValue":"43Txd1SkJ1BLctsuFe2Y"},"uid":{"stringValue":"j2JLohKx3B3hpwVJvhqE"},"number":{"integerValue":"1"},"mainChatUid":{"stringValue":"lbO9MbQwz1uR4dImKjQ8"},"access":{"mapValue":{"fields":{"manage":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"read":{"arrayValue":{"values":[{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"readPosts":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"write":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}}}}},"currentlyPresentCharacters":{"mapValue":{"fields":{"5SKjxaKubQv6CaqTrp6H":{"mapValue":{"fields":{"characterUid":{"stringValue":"5SKjxaKubQv6CaqTrp6H"},"order":{"integerValue":"100"},"playerUserUid":{"nullValue":null}}}},"9S03l2cdnrQry8V21krV":{"mapValue":{"fields":{"characterUid":{"stringValue":"9S03l2cdnrQry8V21krV"},"order":{"integerValue":"100"},"playerUserUid":{"nullValue":null}}}},"wncRgkr9Xjw2iF6e9DVb":{"mapValue":{"fields":{"characterUid":{"stringValue":"wncRgkr9Xjw2iF6e9DVb"},"order":{"integerValue":"100"},"playerUserUid":{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}}}}}}},"isPublic":{"booleanValue":false},"isArchived":{"booleanValue":false},"bgStyle":{"stringValue":"classic"},"world":{"mapValue":{"fields":{"uid":{"stringValue":"1xp3sUP39bNIgy58xSxV"},"label":{"stringValue":"Thalbos"}}}},"playersHistory":{"arrayValue":{"values":[{"mapValue":{"fields":{"characterUid":{"stringValue":"wncRgkr9Xjw2iF6e9DVb"},"userUid":{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}}}}]}},"characterPosts":{"mapValue":{"fields":{"5SKjxaKubQv6CaqTrp6H":{"integerValue":"3"}}}},"hasStarted":{"booleanValue":true},"storyTitle":{"stringValue":"BFF Story"},"title":{"stringValue":"L'amitié c'est beau"},"nbPosts":{"integerValue":"3"}},"createTime":"2020-03-25T19:05:18.433087Z","updateTime":"2020-03-25T19:23:59.981535Z"},"targetIds":[132]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.303Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[132],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.303Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkImdmstJi66AI=","readTime":"2020-03-27T08:02:41.057945Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.304Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[132],"resumeToken":"CgkI2NmZtZi66AI=","readTime":"2020-03-27T08:02:42.843864Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.304Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkI2NmZtZi66AI=","readTime":"2020-03-27T08:02:42.843864Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.306Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.308Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.310Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.311Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.312Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.313Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.398Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Allocate target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.401Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Execute query
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.402Z]  @firebase/firestore: Firestore (7.6.2) [IndexFreeQueryEngine]: Using full collection scan to execute query: %s Query(target=Target(chats/lbO9MbQwz1uR4dImKjQ8, orderBy: [__name__ (asc)]); limitType=F)
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.402Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"documents":{"documents":["projects/harpy-dev/databases/(default)/documents/chats/lbO9MbQwz1uR4dImKjQ8"]},"targetId":134}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.405Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Allocate target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.412Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Execute query
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.412Z]  @firebase/firestore: Firestore (7.6.2) [IndexFreeQueryEngine]: Using full collection scan to execute query: %s Query(target=Target(stories, filters: [access.read array-contains y32HASRWUyXjuuSbkOgNn84sdBO2, isArchived == false], orderBy: [__name__ (asc)]); limitType=F)
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.414Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"query":{"structuredQuery":{"from":[{"collectionId":"stories"}],"where":{"compositeFilter":{"op":"AND","filters":[{"fieldFilter":{"field":{"fieldPath":"access.read"},"op":"ARRAY_CONTAINS","value":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}}},{"fieldFilter":{"field":{"fieldPath":"isArchived"},"op":"EQUAL","value":{"booleanValue":false}}}]}},"orderBy":[{"field":{"fieldPath":"__name__"},"direction":"ASCENDING"}]},"parent":"projects/harpy-dev/databases/(default)/documents"},"targetId":136}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.417Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Allocate target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.422Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Execute query
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.423Z]  @firebase/firestore: Firestore (7.6.2) [IndexFreeQueryEngine]: Using full collection scan to execute query: %s Query(target=Target(entities/5SKjxaKubQv6CaqTrp6H, orderBy: [__name__ (asc)]); limitType=F)
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.424Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"documents":{"documents":["projects/harpy-dev/databases/(default)/documents/entities/5SKjxaKubQv6CaqTrp6H"]},"targetId":138}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.426Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Allocate target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.432Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Execute query
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.433Z]  @firebase/firestore: Firestore (7.6.2) [IndexFreeQueryEngine]: Using full collection scan to execute query: %s Query(target=Target(entities/9S03l2cdnrQry8V21krV, orderBy: [__name__ (asc)]); limitType=F)
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.434Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"documents":{"documents":["projects/harpy-dev/databases/(default)/documents/entities/9S03l2cdnrQry8V21krV"]},"targetId":140}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.436Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Allocate target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.442Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Execute query
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.443Z]  @firebase/firestore: Firestore (7.6.2) [IndexFreeQueryEngine]: Using full collection scan to execute query: %s Query(target=Target(entities/wncRgkr9Xjw2iF6e9DVb, orderBy: [__name__ (asc)]); limitType=F)
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.443Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"documents":{"documents":["projects/harpy-dev/databases/(default)/documents/entities/wncRgkr9Xjw2iF6e9DVb"]},"targetId":142}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.446Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Allocate target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.451Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Execute query
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.452Z]  @firebase/firestore: Firestore (7.6.2) [IndexFreeQueryEngine]: Using full collection scan to execute query: %s Query(target=Target(chats, filters: [access.read array-contains y32HASRWUyXjuuSbkOgNn84sdBO2, chapterUid == j2JLohKx3B3hpwVJvhqE], orderBy: [isMainChapterChat (desc), __name__ (desc)]); limitType=F)
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.453Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"query":{"structuredQuery":{"from":[{"collectionId":"chats"}],"where":{"compositeFilter":{"op":"AND","filters":[{"fieldFilter":{"field":{"fieldPath":"access.read"},"op":"ARRAY_CONTAINS","value":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}}},{"fieldFilter":{"field":{"fieldPath":"chapterUid"},"op":"EQUAL","value":{"stringValue":"j2JLohKx3B3hpwVJvhqE"}}}]}},"orderBy":[{"field":{"fieldPath":"isMainChapterChat"},"direction":"DESCENDING"},{"field":{"fieldPath":"__name__"},"direction":"DESCENDING"}]},"parent":"projects/harpy-dev/databases/(default)/documents"},"targetId":144}}
polyfills-es2015.4deff63c808bc1d4e8bc.js:1 [Violation] 'setInterval' handler took 135ms
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.480Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[134]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.481Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/chats/lbO9MbQwz1uR4dImKjQ8","fields":{"isMainChapterChat":{"booleanValue":true},"access":{"mapValue":{"fields":{"manage":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"read":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"readPosts":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"write":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}}}}},"uid":{"stringValue":"lbO9MbQwz1uR4dImKjQ8"},"chapterUid":{"stringValue":"j2JLohKx3B3hpwVJvhqE"}},"createTime":"2020-03-25T19:05:18.433087Z","updateTime":"2020-03-25T19:18:44.939135Z"},"targetIds":[134]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.483Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[134],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.484Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkI2NmZtZi66AI=","readTime":"2020-03-27T08:02:42.843864Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.484Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[134],"resumeToken":"CgkIsqiltZi66AI=","readTime":"2020-03-27T08:02:43.034162Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.485Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkIsqiltZi66AI=","readTime":"2020-03-27T08:02:43.034162Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.485Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[136]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.485Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[138]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.486Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[140]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.486Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[142]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.487Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[144]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.488Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 136
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.488Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 138
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.489Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 140
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.489Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 142
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.490Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 144
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.491Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.492Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.495Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.496Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 136
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.496Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 138
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.497Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 140
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.497Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 142
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.498Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 144
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.498Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.499Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.501Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.598Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/entities/9S03l2cdnrQry8V21krV","fields":{"name":{"stringValue":"Mack Path'abb"},"images":{"arrayValue":{"values":[{"mapValue":{"fields":{"color":{"mapValue":{"fields":{"red":{"integerValue":"252"},"green":{"integerValue":"251"},"blue":{"integerValue":"250"}}}},"square":{"mapValue":{"fields":{"isActive":{"booleanValue":true},"height":{"integerValue":"34"},"top":{"integerValue":"0"},"left":{"integerValue":"34"},"width":{"integerValue":"50"}}}},"closeup":{"mapValue":{"fields":{"height":{"integerValue":"17"},"top":{"integerValue":"1"},"left":{"integerValue":"46"},"width":{"integerValue":"26"},"isActive":{"booleanValue":true}}}},"fromArtwork":{"stringValue":"w7eOvDo25sAsS41uyIRb"},"uid":{"stringValue":"w7eOvDo25sAsS41uyIRb"},"imageRatio":{"doubleValue":148.1}}}}]}},"type":{"stringValue":"character"},"uid":{"stringValue":"9S03l2cdnrQry8V21krV"},"tags":{"arrayValue":{}},"access":{"mapValue":{"fields":{"write":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"read":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}}}}},"world":{"mapValue":{"fields":{"uid":{"stringValue":"1xp3sUP39bNIgy58xSxV"},"label":{"stringValue":"Thalbos"}}}},"pagesOrder":{"arrayValue":{"values":[{"mapValue":{"fields":{"name":{"stringValue":"Story"},"uid":{"stringValue":"XMIqbiOD31A9RUsYFnHI"}}}}]}}},"createTime":"2019-11-22T12:32:02.701471Z","updateTime":"2019-12-14T18:11:05.240079Z"},"targetIds":[140]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.598Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[140],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.599Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[140],"resumeToken":"CgkIsqiltZi66AI=","readTime":"2020-03-27T08:02:43.034162Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.599Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[140],"resumeToken":"CgkIhL+otZi66AI=","readTime":"2020-03-27T08:02:43.086212Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.600Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[4,24,16,6,18,134,8,22,132,10,2,12,14],"resumeToken":"CgkIhL+otZi66AI=","readTime":"2020-03-27T08:02:43.086212Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.601Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/stories/43Txd1SkJ1BLctsuFe2Y","fields":{"latestChapter":{"integerValue":"1"},"access":{"mapValue":{"fields":{"manage":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"read":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"write":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}}}}},"players":{"arrayValue":{"values":[{"mapValue":{"fields":{"characterUid":{"stringValue":"wncRgkr9Xjw2iF6e9DVb"},"userUid":{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}}}}]}},"isArchived":{"booleanValue":false},"isPublic":{"booleanValue":false},"bgStyle":{"stringValue":"classic"},"world":{"mapValue":{"fields":{"label":{"stringValue":"Thalbos"},"uid":{"stringValue":"1xp3sUP39bNIgy58xSxV"}}}},"nbArchivedChapters":{"integerValue":"0"},"uid":{"stringValue":"43Txd1SkJ1BLctsuFe2Y"},"createdAt":{"timestampValue":"2020-03-25T19:05:01.068Z"},"title":{"stringValue":"BFF Story"}},"createTime":"2020-03-25T19:05:01.157442Z","updateTime":"2020-03-25T19:18:19.111247Z"},"targetIds":[136]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.601Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/stories/7NNZwD93hWRj2qf4wF8U","fields":{"chapters":{"mapValue":{"fields":{"awMLpFCmIn58PYmKJEnA":{"mapValue":{"fields":{"nbPosts":{"integerValue":"64"}}}}}}},"nbArchivedChapters":{"integerValue":"2"},"uid":{"stringValue":"7NNZwD93hWRj2qf4wF8U"},"access":{"mapValue":{"fields":{"manage":{"arrayValue":{"values":[{"stringValue":"8xEKIzL7eNYKsL8xQeSgzZvAIfK2"}]}},"read":{"arrayValue":{"values":[{"stringValue":"8xEKIzL7eNYKsL8xQeSgzZvAIfK2"},{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"write":{"arrayValue":{"values":[{"stringValue":"8xEKIzL7eNYKsL8xQeSgzZvAIfK2"},{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}}}}},"latestChapter":{"integerValue":"3"},"players":{"arrayValue":{"values":[{"mapValue":{"fields":{"characterUid":{"stringValue":"msBqrdrPLbUd2zweEhq3"},"userUid":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}}}}]}},"isPublic":{"booleanValue":false},"isArchived":{"booleanValue":false},"world":{"mapValue":{"fields":{"label":{"stringValue":"Test"},"uid":{"stringValue":"nsouRMEVkWMhCPcFU4SP"}}}},"bgStyle":{"stringValue":"classic"},"createdAt":{"timestampValue":"2020-02-09T23:17:44.140Z"},"title":{"stringValue":"Ok"},"nbPosts":{"integerValue":"64"}},"createTime":"2020-02-09T23:17:44.191120Z","updateTime":"2020-02-27T09:50:37.967775Z"},"targetIds":[136]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.602Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/stories/NMZDLEDN5f3pd3aeNVM5","fields":{"createdAt":{"timestampValue":"2020-03-25T18:33:42.210Z"},"title":{"stringValue":"test_3.9.0"},"latestChapter":{"integerValue":"1"},"access":{"mapValue":{"fields":{"write":{"arrayValue":{"values":[{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"},{"stringValue":"xaUsjUMYNFQwrYad3sbqPi6biOM2"},{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"read":{"arrayValue":{"values":[{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"},{"stringValue":"xaUsjUMYNFQwrYad3sbqPi6biOM2"},{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}}}}},"players":{"arrayValue":{"values":[{"mapValue":{"fields":{"characterUid":{"stringValue":"KGSicQsV7vNmHGCqVBIM"},"userUid":{"stringValue":"xaUsjUMYNFQwrYad3sbqPi6biOM2"}}}},{"mapValue":{"fields":{"userUid":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},"characterUid":{"stringValue":"d99uiUYkYrGlcNVjFpyC"}}}}]}},"isArchived":{"booleanValue":false},"isPublic":{"booleanValue":false},"bgStyle":{"stringValue":"scifi"},"world":{"mapValue":{"fields":{"label":{"stringValue":"Montreal"},"uid":{"stringValue":"VFYl2eNIoQbig9xfZtwj"}}}},"nbArchivedChapters":{"integerValue":"0"},"uid":{"stringValue":"NMZDLEDN5f3pd3aeNVM5"}},"createTime":"2020-03-25T18:33:42.295940Z","updateTime":"2020-03-25T19:16:05.720207Z"},"targetIds":[136]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.603Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/stories/QFWsdWOwUQGaJL25CwAl","fields":{"nbArchivedChapters":{"integerValue":"0"},"uid":{"stringValue":"QFWsdWOwUQGaJL25CwAl"},"createdAt":{"timestampValue":"2020-03-25T14:22:35.811Z"},"title":{"stringValue":"ezerez"},"latestChapter":{"integerValue":"1"},"access":{"mapValue":{"fields":{"read":{"arrayValue":{"values":[{"stringValue":"8ZoJUXWrq7aTf240R1HI4nvEi8w2"},{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"write":{"arrayValue":{"values":[{"stringValue":"8ZoJUXWrq7aTf240R1HI4nvEi8w2"},{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"8ZoJUXWrq7aTf240R1HI4nvEi8w2"}]}}}}},"players":{"arrayValue":{"values":[{"mapValue":{"fields":{"characterUid":{"stringValue":"d3keSCcPY7S4VA6nrywF"},"userUid":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}}}}]}},"isArchived":{"booleanValue":false},"isPublic":{"booleanValue":false},"world":{"mapValue":{"fields":{"uid":{"stringValue":"MOyIpGjaIAeHJ7RKxFAE"},"label":{"stringValue":"Coucou"}}}},"bgStyle":{"stringValue":"scifi"}},"createTime":"2020-03-25T14:22:35.877519Z","updateTime":"2020-03-25T14:23:06.457247Z"},"targetIds":[136]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.603Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/entities/wncRgkr9Xjw2iF6e9DVb","fields":{"world":{"mapValue":{"fields":{"uid":{"stringValue":"1xp3sUP39bNIgy58xSxV"},"label":{"stringValue":"Thalbos"}}}},"playerUserUid":{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"},"artworkUid":{"stringValue":"Ib3eJ8JmQoFI6tyIcaL7"},"name":{"stringValue":"Naiyo"},"alias":{"stringValue":"Naiyo"},"type":{"stringValue":"character"},"uid":{"stringValue":"wncRgkr9Xjw2iF6e9DVb"},"createdAt":{"timestampValue":"2020-03-25T19:18:16.700Z"},"access":{"mapValue":{"fields":{"manage":{"arrayValue":{"values":[{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"read":{"arrayValue":{"values":[{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"},{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"write":{"arrayValue":{"values":[{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"},{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}}}}},"nameType":{"stringValue":"default"},"description":{"stringValue":"Old war hero"}},"createTime":"2020-03-25T19:18:16.787148Z","updateTime":"2020-03-25T19:18:17.223455Z"},"targetIds":[142]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.604Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[142],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.604Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[136],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.605Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[142],"resumeToken":"CgkIhL+otZi66AI=","readTime":"2020-03-27T08:02:43.086212Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.605Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[136],"resumeToken":"CgkIhL+otZi66AI=","readTime":"2020-03-27T08:02:43.086212Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.606Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/entities/5SKjxaKubQv6CaqTrp6H","fields":{"type":{"stringValue":"character"},"uid":{"stringValue":"5SKjxaKubQv6CaqTrp6H"},"tags":{"arrayValue":{"values":[{"mapValue":{"fields":{"uid":{"stringValue":"pCBhSgCdBAIoXRiVSepR"},"slugNoCat":{"stringValue":"known"},"label":{"stringValue":"Known"},"category":{"stringValue":"none"}}}}]}},"connectionsOrder":{"arrayValue":{"values":[{"stringValue":"UlDBkuQEWWMY1amJhtBG"},{"stringValue":"OzZSEGKf5LGbU0FwxzFL"},{"stringValue":"QZ6ddd21z1zKDWV8md4J"},{"stringValue":"Xu9NAwzlIpGvcYSkPqRZ"},{"stringValue":"e7HqF1oFxsDfltCQYJen"}]}},"access":{"mapValue":{"fields":{"read":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"write":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}}}}},"world":{"mapValue":{"fields":{"uid":{"stringValue":"1xp3sUP39bNIgy58xSxV"},"label":{"stringValue":"Thalbos"}}}},"pagesOrder":{"arrayValue":{"values":[{"mapValue":{"fields":{"name":{"stringValue":"More info"},"uid":{"stringValue":"MZJuRrfyStALLlRa0jOf"}}}},{"mapValue":{"fields":{"uid":{"stringValue":"xtlbXL5lJKC0Qu4RD64L"},"name":{"stringValue":"Story"}}}}]}},"name":{"stringValue":"Cyrine Galador"},"images":{"arrayValue":{"values":[{"mapValue":{"fields":{"uid":{"stringValue":"89goX0U5tijAvFq84FGy"},"imageRatio":{"doubleValue":140.25245441795232},"color":{"mapValue":{"fields":{"green":{"integerValue":"253"},"blue":{"integerValue":"252"},"alpha":{"nullValue":null},"red":{"integerValue":"253"}}}},"square":{"mapValue":{"fields":{"left":{"integerValue":"33"},"width":{"integerValue":"51"},"isActive":{"booleanValue":true},"height":{"integerValue":"36"},"top":{"integerValue":"0"}}}},"closeup":{"mapValue":{"fields":{"height":{"integerValue":"19"},"top":{"integerValue":"0"},"left":{"integerValue":"46"},"width":{"integerValue":"26"},"isActive":{"booleanValue":false}}}},"fromArtwork":{"stringValue":"89goX0U5tijAvFq84FGy"}}}},{"mapValue":{"fields":{"uid":{"stringValue":"EiYRxBOYPidRu4pg75Vd"},"imageRatio":{"integerValue":"125"},"color":{"mapValue":{"fields":{"red":{"integerValue":"26"},"green":{"integerValue":"25"},"blue":{"integerValue":"24"},"alpha":{"nullValue":null}}}},"square":{"mapValue":{"fields":{"height":{"integerValue":"60"},"top":{"integerValue":"0"},"left":{"integerValue":"19"},"width":{"integerValue":"74"},"isActive":{"booleanValue":false}}}},"closeup":{"mapValue":{"fields":{"imageCache":{"integerValue":"1567005029798"},"isActive":{"booleanValue":true},"height":{"integerValue":"28"},"top":{"integerValue":"7"},"left":{"integerValue":"49"},"width":{"integerValue":"34"}}}},"fromArtwork":{"stringValue":"EiYRxBOYPidRu4pg75Vd"}}}}]}},"alias":{"stringValue":"Cyrine"}},"createTime":"2019-11-22T12:32:02.709695Z","updateTime":"2020-02-09T14:16:27.800903Z"},"targetIds":[138]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.607Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[138],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.607Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[138],"resumeToken":"CgkIhL+otZi66AI=","readTime":"2020-03-27T08:02:43.086212Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.660Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/chats/lbO9MbQwz1uR4dImKjQ8","fields":{"isMainChapterChat":{"booleanValue":true},"access":{"mapValue":{"fields":{"write":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"read":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"readPosts":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}}}}},"uid":{"stringValue":"lbO9MbQwz1uR4dImKjQ8"},"chapterUid":{"stringValue":"j2JLohKx3B3hpwVJvhqE"}},"createTime":"2020-03-25T19:05:18.433087Z","updateTime":"2020-03-25T19:18:44.939135Z"},"targetIds":[144]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.661Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/chats/66lUFC89KZVvc8qOp5PP","fields":{"uid":{"stringValue":"66lUFC89KZVvc8qOp5PP"},"chapterUid":{"stringValue":"j2JLohKx3B3hpwVJvhqE"},"isMainChapterChat":{"booleanValue":false},"access":{"mapValue":{"fields":{"write":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"read":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"readPosts":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}}}}}},"createTime":"2020-03-25T19:24:01.856771Z","updateTime":"2020-03-25T19:24:01.856771Z"},"targetIds":[144]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.662Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[144],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.663Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[144],"resumeToken":"CgkIhL+otZi66AI=","readTime":"2020-03-27T08:02:43.086212Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.664Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkIhL+otZi66AI=","readTime":"2020-03-27T08:02:43.086212Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.666Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.668Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.670Z]  @firebase/firestore: Firestore (7.6.2) [LocalStore]: Ignoring outdated watch update for  {"path":{"segments":["projects","harpy-dev","databases","(default)","documents","chats","lbO9MbQwz1uR4dImKjQ8"],"offset":5,"len":2}} . Current version: {"timestamp":{"seconds":1585163924,"nanoseconds":939135000}}  Watch version: {"timestamp":{"seconds":1585163924,"nanoseconds":939135000}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.678Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.691Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Allocate target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.694Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Execute query
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.695Z]  @firebase/firestore: Firestore (7.6.2) [IndexFreeQueryEngine]: Using full collection scan to execute query: %s Query(target=Target(chapters, filters: [storyUid == 43Txd1SkJ1BLctsuFe2Y, isArchived == false], orderBy: [number (desc), __name__ (desc)]); limitType=F)
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.697Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"query":{"structuredQuery":{"from":[{"collectionId":"chapters"}],"where":{"compositeFilter":{"op":"AND","filters":[{"fieldFilter":{"field":{"fieldPath":"storyUid"},"op":"EQUAL","value":{"stringValue":"43Txd1SkJ1BLctsuFe2Y"}}},{"fieldFilter":{"field":{"fieldPath":"isArchived"},"op":"EQUAL","value":{"booleanValue":false}}}]}},"orderBy":[{"field":{"fieldPath":"number"},"direction":"DESCENDING"},{"field":{"fieldPath":"__name__"},"direction":"DESCENDING"}]},"parent":"projects/harpy-dev/databases/(default)/documents"},"targetId":146}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.700Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Allocate target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.707Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Execute query
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.708Z]  @firebase/firestore: Firestore (7.6.2) [IndexFreeQueryEngine]: Using full collection scan to execute query: %s Query(target=Target(chapters, filters: [storyUid == NMZDLEDN5f3pd3aeNVM5, isArchived == false], orderBy: [number (desc), __name__ (desc)]); limitType=F)
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.709Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"query":{"structuredQuery":{"from":[{"collectionId":"chapters"}],"where":{"compositeFilter":{"op":"AND","filters":[{"fieldFilter":{"field":{"fieldPath":"storyUid"},"op":"EQUAL","value":{"stringValue":"NMZDLEDN5f3pd3aeNVM5"}}},{"fieldFilter":{"field":{"fieldPath":"isArchived"},"op":"EQUAL","value":{"booleanValue":false}}}]}},"orderBy":[{"field":{"fieldPath":"number"},"direction":"DESCENDING"},{"field":{"fieldPath":"__name__"},"direction":"DESCENDING"}]},"parent":"projects/harpy-dev/databases/(default)/documents"},"targetId":148}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.712Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Allocate target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.718Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Execute query
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.719Z]  @firebase/firestore: Firestore (7.6.2) [IndexFreeQueryEngine]: Using full collection scan to execute query: %s Query(target=Target(chapters, filters: [storyUid == QFWsdWOwUQGaJL25CwAl, isArchived == false], orderBy: [number (desc), __name__ (desc)]); limitType=F)
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.720Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"query":{"structuredQuery":{"from":[{"collectionId":"chapters"}],"where":{"compositeFilter":{"op":"AND","filters":[{"fieldFilter":{"field":{"fieldPath":"storyUid"},"op":"EQUAL","value":{"stringValue":"QFWsdWOwUQGaJL25CwAl"}}},{"fieldFilter":{"field":{"fieldPath":"isArchived"},"op":"EQUAL","value":{"booleanValue":false}}}]}},"orderBy":[{"field":{"fieldPath":"number"},"direction":"DESCENDING"},{"field":{"fieldPath":"__name__"},"direction":"DESCENDING"}]},"parent":"projects/harpy-dev/databases/(default)/documents"},"targetId":150}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.722Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Allocate target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.728Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Execute query
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.728Z]  @firebase/firestore: Firestore (7.6.2) [IndexFreeQueryEngine]: Using full collection scan to execute query: %s Query(target=Target(chapters, filters: [storyUid == 7NNZwD93hWRj2qf4wF8U, isArchived == false], orderBy: [number (desc), __name__ (desc)]); limitType=F)
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.730Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"query":{"structuredQuery":{"from":[{"collectionId":"chapters"}],"where":{"compositeFilter":{"op":"AND","filters":[{"fieldFilter":{"field":{"fieldPath":"storyUid"},"op":"EQUAL","value":{"stringValue":"7NNZwD93hWRj2qf4wF8U"}}},{"fieldFilter":{"field":{"fieldPath":"isArchived"},"op":"EQUAL","value":{"booleanValue":false}}}]}},"orderBy":[{"field":{"fieldPath":"number"},"direction":"DESCENDING"},{"field":{"fieldPath":"__name__"},"direction":"DESCENDING"}]},"parent":"projects/harpy-dev/databases/(default)/documents"},"targetId":152}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.746Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Allocate target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.747Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Execute query
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.748Z]  @firebase/firestore: Firestore (7.6.2) [IndexFreeQueryEngine]: Using full collection scan to execute query: %s Query(target=Target(worlds/1xp3sUP39bNIgy58xSxV, orderBy: [__name__ (asc)]); limitType=F)
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.748Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"documents":{"documents":["projects/harpy-dev/databases/(default)/documents/worlds/1xp3sUP39bNIgy58xSxV"]},"targetId":154}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.847Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[146]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.847Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[148]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.849Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[150]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.849Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[152]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.850Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[154]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.851Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/chapters/kNUAkoWHbg5qw3otp5ME","fields":{"uid":{"stringValue":"kNUAkoWHbg5qw3otp5ME"},"number":{"integerValue":"1"},"mainChatUid":{"stringValue":"UjklKNuB9ch3ApcInfHq"},"access":{"mapValue":{"fields":{"write":{"arrayValue":{"values":[{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"},{"stringValue":"xaUsjUMYNFQwrYad3sbqPi6biOM2"},{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"read":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"readPosts":{"arrayValue":{"values":[{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"},{"stringValue":"xaUsjUMYNFQwrYad3sbqPi6biOM2"},{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}}}}},"currentlyPresentCharacters":{"mapValue":{"fields":{"KGSicQsV7vNmHGCqVBIM":{"mapValue":{"fields":{"playerUserUid":{"stringValue":"xaUsjUMYNFQwrYad3sbqPi6biOM2"},"characterUid":{"stringValue":"KGSicQsV7vNmHGCqVBIM"},"order":{"integerValue":"100"}}}},"d99uiUYkYrGlcNVjFpyC":{"mapValue":{"fields":{"order":{"integerValue":"100"},"playerUserUid":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},"characterUid":{"stringValue":"d99uiUYkYrGlcNVjFpyC"}}}}}}},"isArchived":{"booleanValue":false},"isPublic":{"booleanValue":false},"bgStyle":{"stringValue":"fantasy"},"world":{"mapValue":{"fields":{"uid":{"stringValue":"VFYl2eNIoQbig9xfZtwj"},"label":{"stringValue":"Montreal"}}}},"playersHistory":{"arrayValue":{"values":[{"mapValue":{"fields":{"userUid":{"stringValue":"xaUsjUMYNFQwrYad3sbqPi6biOM2"},"characterUid":{"stringValue":"KGSicQsV7vNmHGCqVBIM"}}}},{"mapValue":{"fields":{"characterUid":{"stringValue":"d99uiUYkYrGlcNVjFpyC"},"userUid":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}}}}]}},"hasStarted":{"booleanValue":true},"characterPosts":{"mapValue":{"fields":{"KGSicQsV7vNmHGCqVBIM":{"integerValue":"56"}}}},"storyTitle":{"stringValue":"test_3.9.0"},"title":{"stringValue":"ch1"},"nbPosts":{"integerValue":"56"},"storyUid":{"stringValue":"NMZDLEDN5f3pd3aeNVM5"}},"createTime":"2020-03-25T18:35:06.706175Z","updateTime":"2020-03-25T19:21:25.155775Z"},"targetIds":[148]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.851Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[148],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.852Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[148],"resumeToken":"CgkIhL+otZi66AI=","readTime":"2020-03-27T08:02:43.086212Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.852Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[148],"resumeToken":"CgkIkui8tZi66AI=","readTime":"2020-03-27T08:02:43.419154Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.852Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[14,6,136,8,138,2,132,22,4,24,134,144,16,18,10,140,12,142],"resumeToken":"CgkIkui8tZi66AI=","readTime":"2020-03-27T08:02:43.419154Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.853Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/chapters/e7TMlumV3Oyu8K7np4fX","fields":{"playersHistory":{"arrayValue":{"values":[{"mapValue":{"fields":{"characterUid":{"stringValue":"d3keSCcPY7S4VA6nrywF"},"userUid":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}}}}]}},"hasStarted":{"booleanValue":true},"characterPosts":{"mapValue":{"fields":{"d3keSCcPY7S4VA6nrywF":{"integerValue":"1"}}}},"storyTitle":{"stringValue":"ezerez"},"title":{"stringValue":"qsdqsd"},"nbPosts":{"integerValue":"1"},"storyUid":{"stringValue":"QFWsdWOwUQGaJL25CwAl"},"uid":{"stringValue":"e7TMlumV3Oyu8K7np4fX"},"number":{"integerValue":"1"},"mainChatUid":{"stringValue":"ejoS3qqwdfkmIN52K4jU"},"access":{"mapValue":{"fields":{"readPosts":{"arrayValue":{"values":[{"stringValue":"8ZoJUXWrq7aTf240R1HI4nvEi8w2"},{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"write":{"arrayValue":{"values":[{"stringValue":"8ZoJUXWrq7aTf240R1HI4nvEi8w2"},{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"8ZoJUXWrq7aTf240R1HI4nvEi8w2"}]}}}}},"currentlyPresentCharacters":{"mapValue":{"fields":{"d3keSCcPY7S4VA6nrywF":{"mapValue":{"fields":{"characterUid":{"stringValue":"d3keSCcPY7S4VA6nrywF"},"order":{"integerValue":"100"},"playerUserUid":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}}}}}}},"isPublic":{"booleanValue":false},"isArchived":{"booleanValue":false},"bgStyle":{"stringValue":"scifi"},"world":{"mapValue":{"fields":{"label":{"stringValue":"Coucou"},"uid":{"stringValue":"MOyIpGjaIAeHJ7RKxFAE"}}}}},"createTime":"2020-03-25T14:23:06.457247Z","updateTime":"2020-03-25T14:23:32.248207Z"},"targetIds":[150]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.853Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[150],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.854Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[150],"resumeToken":"CgkIkui8tZi66AI=","readTime":"2020-03-27T08:02:43.419154Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.855Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/chapters/j2JLohKx3B3hpwVJvhqE","fields":{"number":{"integerValue":"1"},"mainChatUid":{"stringValue":"lbO9MbQwz1uR4dImKjQ8"},"access":{"mapValue":{"fields":{"read":{"arrayValue":{"values":[{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"readPosts":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"write":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}}}}},"currentlyPresentCharacters":{"mapValue":{"fields":{"5SKjxaKubQv6CaqTrp6H":{"mapValue":{"fields":{"characterUid":{"stringValue":"5SKjxaKubQv6CaqTrp6H"},"order":{"integerValue":"100"},"playerUserUid":{"nullValue":null}}}},"9S03l2cdnrQry8V21krV":{"mapValue":{"fields":{"characterUid":{"stringValue":"9S03l2cdnrQry8V21krV"},"order":{"integerValue":"100"},"playerUserUid":{"nullValue":null}}}},"wncRgkr9Xjw2iF6e9DVb":{"mapValue":{"fields":{"order":{"integerValue":"100"},"playerUserUid":{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"},"characterUid":{"stringValue":"wncRgkr9Xjw2iF6e9DVb"}}}}}}},"isPublic":{"booleanValue":false},"isArchived":{"booleanValue":false},"bgStyle":{"stringValue":"classic"},"world":{"mapValue":{"fields":{"uid":{"stringValue":"1xp3sUP39bNIgy58xSxV"},"label":{"stringValue":"Thalbos"}}}},"playersHistory":{"arrayValue":{"values":[{"mapValue":{"fields":{"userUid":{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"},"characterUid":{"stringValue":"wncRgkr9Xjw2iF6e9DVb"}}}}]}},"characterPosts":{"mapValue":{"fields":{"5SKjxaKubQv6CaqTrp6H":{"integerValue":"3"}}}},"hasStarted":{"booleanValue":true},"storyTitle":{"stringValue":"BFF Story"},"title":{"stringValue":"L'amitié c'est beau"},"nbPosts":{"integerValue":"3"},"storyUid":{"stringValue":"43Txd1SkJ1BLctsuFe2Y"},"uid":{"stringValue":"j2JLohKx3B3hpwVJvhqE"}},"createTime":"2020-03-25T19:05:18.433087Z","updateTime":"2020-03-25T19:23:59.981535Z"},"targetIds":[146]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.855Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[146],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.856Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[146],"resumeToken":"CgkIkui8tZi66AI=","readTime":"2020-03-27T08:02:43.419154Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.911Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/chapters/awMLpFCmIn58PYmKJEnA","fields":{"playersHistory":{"arrayValue":{"values":[{"mapValue":{"fields":{"characterUid":{"stringValue":"msBqrdrPLbUd2zweEhq3"},"userUid":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}}}}]}},"hasStarted":{"booleanValue":true},"characterPosts":{"mapValue":{"fields":{"msBqrdrPLbUd2zweEhq3":{"integerValue":"64"}}}},"storyTitle":{"stringValue":"Ok"},"title":{"stringValue":"Troisieme"},"nbPosts":{"integerValue":"64"},"storyUid":{"stringValue":"7NNZwD93hWRj2qf4wF8U"},"permanentMessage":{"stringValue":"Write some permanent info for your players here...\n\n![](https://external-preview.redd.it/5obSBzKcJc5LWi4FyEOt4O4DC-cLGdx-wV-zuxaBjF0.jpg?auto=webp&s=dcae5df3ae027c8549711bd3df9a4c389356aaac)"},"uid":{"stringValue":"awMLpFCmIn58PYmKJEnA"},"number":{"integerValue":"3"},"mainChatUid":{"stringValue":"vJk2o00Pmc2sp4hJZSUz"},"access":{"mapValue":{"fields":{"write":{"arrayValue":{"values":[{"stringValue":"8xEKIzL7eNYKsL8xQeSgzZvAIfK2"},{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"8xEKIzL7eNYKsL8xQeSgzZvAIfK2"}]}},"hidden":{"arrayValue":{}},"readPosts":{"arrayValue":{"values":[{"stringValue":"8xEKIzL7eNYKsL8xQeSgzZvAIfK2"},{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}}}}},"currentlyPresentCharacters":{"mapValue":{"fields":{"msBqrdrPLbUd2zweEhq3":{"mapValue":{"fields":{"characterUid":{"stringValue":"msBqrdrPLbUd2zweEhq3"},"order":{"integerValue":"100"},"playerUserUid":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}}}}}}},"isArchived":{"booleanValue":false},"isPublic":{"booleanValue":false},"world":{"mapValue":{"fields":{"label":{"stringValue":"Test"},"uid":{"stringValue":"nsouRMEVkWMhCPcFU4SP"}}}},"bgStyle":{"stringValue":"classic"}},"createTime":"2020-02-09T23:31:05.296591Z","updateTime":"2020-03-16T16:57:28.632943Z"},"targetIds":[152]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.911Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[152],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.912Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[152],"resumeToken":"CgkIkui8tZi66AI=","readTime":"2020-03-27T08:02:43.419154Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.912Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/worlds/1xp3sUP39bNIgy58xSxV","fields":{"label":{"stringValue":"Thalbos"},"access":{"mapValue":{"fields":{"write":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VNLG5zxQSVSc87nK5mmInBH1d9s2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"read":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VNLG5zxQSVSc87nK5mmInBH1d9s2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}}}}},"uid":{"stringValue":"1xp3sUP39bNIgy58xSxV"},"isPublic":{"booleanValue":false}},"createTime":"2019-12-14T15:37:52.260948Z","updateTime":"2020-03-25T19:18:19.111247Z"},"targetIds":[154]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.913Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[154],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.913Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[154],"resumeToken":"CgkIkui8tZi66AI=","readTime":"2020-03-27T08:02:43.419154Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.914Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkIkui8tZi66AI=","readTime":"2020-03-27T08:02:43.419154Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.915Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.916Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.917Z]  @firebase/firestore: Firestore (7.6.2) [LocalStore]: Ignoring outdated watch update for  {"path":{"segments":["projects","harpy-dev","databases","(default)","documents","chapters","j2JLohKx3B3hpwVJvhqE"],"offset":5,"len":2}} . Current version: {"timestamp":{"seconds":1585164239,"nanoseconds":981535000}}  Watch version: {"timestamp":{"seconds":1585164239,"nanoseconds":981535000}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.920Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.945Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Allocate target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.951Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Execute query
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.952Z]  @firebase/firestore: Firestore (7.6.2) [IndexFreeQueryEngine]: Using full collection scan to execute query: %s Query(target=Target(chats, filters: [access.read array-contains y32HASRWUyXjuuSbkOgNn84sdBO2, chapterUid == kNUAkoWHbg5qw3otp5ME], orderBy: [isMainChapterChat (desc), __name__ (desc)]); limitType=F)
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.953Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"query":{"structuredQuery":{"from":[{"collectionId":"chats"}],"where":{"compositeFilter":{"op":"AND","filters":[{"fieldFilter":{"field":{"fieldPath":"access.read"},"op":"ARRAY_CONTAINS","value":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}}},{"fieldFilter":{"field":{"fieldPath":"chapterUid"},"op":"EQUAL","value":{"stringValue":"kNUAkoWHbg5qw3otp5ME"}}}]}},"orderBy":[{"field":{"fieldPath":"isMainChapterChat"},"direction":"DESCENDING"},{"field":{"fieldPath":"__name__"},"direction":"DESCENDING"}]},"parent":"projects/harpy-dev/databases/(default)/documents"},"targetId":156}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.956Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Allocate target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.961Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Execute query
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.962Z]  @firebase/firestore: Firestore (7.6.2) [IndexFreeQueryEngine]: Using full collection scan to execute query: %s Query(target=Target(entities/KGSicQsV7vNmHGCqVBIM, orderBy: [__name__ (asc)]); limitType=F)
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.963Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"documents":{"documents":["projects/harpy-dev/databases/(default)/documents/entities/KGSicQsV7vNmHGCqVBIM"]},"targetId":158}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.965Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Allocate target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.971Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Execute query
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.971Z]  @firebase/firestore: Firestore (7.6.2) [IndexFreeQueryEngine]: Using full collection scan to execute query: %s Query(target=Target(entities/d99uiUYkYrGlcNVjFpyC, orderBy: [__name__ (asc)]); limitType=F)
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.972Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"documents":{"documents":["projects/harpy-dev/databases/(default)/documents/entities/d99uiUYkYrGlcNVjFpyC"]},"targetId":160}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.994Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Allocate target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.995Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Execute query
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.995Z]  @firebase/firestore: Firestore (7.6.2) [IndexFreeQueryEngine]: Using full collection scan to execute query: %s Query(target=Target(chats, filters: [access.read array-contains y32HASRWUyXjuuSbkOgNn84sdBO2, chapterUid == e7TMlumV3Oyu8K7np4fX], orderBy: [isMainChapterChat (desc), __name__ (desc)]); limitType=F)
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.996Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"query":{"structuredQuery":{"from":[{"collectionId":"chats"}],"where":{"compositeFilter":{"op":"AND","filters":[{"fieldFilter":{"field":{"fieldPath":"access.read"},"op":"ARRAY_CONTAINS","value":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}}},{"fieldFilter":{"field":{"fieldPath":"chapterUid"},"op":"EQUAL","value":{"stringValue":"e7TMlumV3Oyu8K7np4fX"}}}]}},"orderBy":[{"field":{"fieldPath":"isMainChapterChat"},"direction":"DESCENDING"},{"field":{"fieldPath":"__name__"},"direction":"DESCENDING"}]},"parent":"projects/harpy-dev/databases/(default)/documents"},"targetId":162}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.999Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Allocate target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.004Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Execute query
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.005Z]  @firebase/firestore: Firestore (7.6.2) [IndexFreeQueryEngine]: Using full collection scan to execute query: %s Query(target=Target(entities/d3keSCcPY7S4VA6nrywF, orderBy: [__name__ (asc)]); limitType=F)
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.006Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"documents":{"documents":["projects/harpy-dev/databases/(default)/documents/entities/d3keSCcPY7S4VA6nrywF"]},"targetId":164}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.028Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Allocate target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.029Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Execute query
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.029Z]  @firebase/firestore: Firestore (7.6.2) [IndexFreeQueryEngine]: Using full collection scan to execute query: %s Query(target=Target(chats, filters: [access.read array-contains y32HASRWUyXjuuSbkOgNn84sdBO2, chapterUid == awMLpFCmIn58PYmKJEnA], orderBy: [isMainChapterChat (desc), __name__ (desc)]); limitType=F)
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.030Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"query":{"structuredQuery":{"from":[{"collectionId":"chats"}],"where":{"compositeFilter":{"op":"AND","filters":[{"fieldFilter":{"field":{"fieldPath":"access.read"},"op":"ARRAY_CONTAINS","value":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}}},{"fieldFilter":{"field":{"fieldPath":"chapterUid"},"op":"EQUAL","value":{"stringValue":"awMLpFCmIn58PYmKJEnA"}}}]}},"orderBy":[{"field":{"fieldPath":"isMainChapterChat"},"direction":"DESCENDING"},{"field":{"fieldPath":"__name__"},"direction":"DESCENDING"}]},"parent":"projects/harpy-dev/databases/(default)/documents"},"targetId":166}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.033Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Allocate target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.038Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Execute query
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.039Z]  @firebase/firestore: Firestore (7.6.2) [IndexFreeQueryEngine]: Using full collection scan to execute query: %s Query(target=Target(entities/msBqrdrPLbUd2zweEhq3, orderBy: [__name__ (asc)]); limitType=F)
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.040Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"documents":{"documents":["projects/harpy-dev/databases/(default)/documents/entities/msBqrdrPLbUd2zweEhq3"]},"targetId":168}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.069Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[156]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.071Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[158]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.072Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/chats/UjklKNuB9ch3ApcInfHq","fields":{"isMainChapterChat":{"booleanValue":true},"access":{"mapValue":{"fields":{"write":{"arrayValue":{"values":[{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"},{"stringValue":"xaUsjUMYNFQwrYad3sbqPi6biOM2"},{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"read":{"arrayValue":{"values":[{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"},{"stringValue":"xaUsjUMYNFQwrYad3sbqPi6biOM2"},{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"readPosts":{"arrayValue":{"values":[{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"},{"stringValue":"xaUsjUMYNFQwrYad3sbqPi6biOM2"},{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}}}}},"uid":{"stringValue":"UjklKNuB9ch3ApcInfHq"},"chapterUid":{"stringValue":"kNUAkoWHbg5qw3otp5ME"}},"createTime":"2020-03-25T18:35:06.706175Z","updateTime":"2020-03-25T19:21:08.092623Z"},"targetIds":[156]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.072Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[156],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.073Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[156],"resumeToken":"CgkIkui8tZi66AI=","readTime":"2020-03-27T08:02:43.419154Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.073Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[156],"resumeToken":"CgkI+P7GtZi66AI=","readTime":"2020-03-27T08:02:43.585912Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.074Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[6,14,142,12,10,140,18,148,146,16,144,134,152,4,132,22,24,2,150,8,138,136,154],"resumeToken":"CgkI+P7GtZi66AI=","readTime":"2020-03-27T08:02:43.585912Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.074Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[160]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.075Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/entities/KGSicQsV7vNmHGCqVBIM","fields":{"world":{"mapValue":{"fields":{"uid":{"stringValue":"VFYl2eNIoQbig9xfZtwj"},"label":{"stringValue":"Montreal"}}}},"playerUserUid":{"stringValue":"xaUsjUMYNFQwrYad3sbqPi6biOM2"},"alias":{"stringValue":""},"name":{"stringValue":"robert"},"type":{"stringValue":"character"},"uid":{"stringValue":"KGSicQsV7vNmHGCqVBIM"},"createdAt":{"timestampValue":"2020-03-20T22:08:56.080Z"},"nameType":{"stringValue":"default"},"access":{"mapValue":{"fields":{"manage":{"arrayValue":{"values":[{"stringValue":"xaUsjUMYNFQwrYad3sbqPi6biOM2"}]}},"read":{"arrayValue":{"values":[{"stringValue":"xaUsjUMYNFQwrYad3sbqPi6biOM2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"write":{"arrayValue":{"values":[{"stringValue":"xaUsjUMYNFQwrYad3sbqPi6biOM2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}}}}},"description":{"stringValue":""}},"createTime":"2020-03-20T22:08:56.162807Z","updateTime":"2020-03-20T22:08:56.505823Z"},"targetIds":[158]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.075Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[158],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.076Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[158],"resumeToken":"CgkI+P7GtZi66AI=","readTime":"2020-03-27T08:02:43.585912Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.076Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/entities/d99uiUYkYrGlcNVjFpyC","fields":{"type":{"stringValue":"character"},"uid":{"stringValue":"d99uiUYkYrGlcNVjFpyC"},"createdAt":{"timestampValue":"2020-02-11T15:47:50.269Z"},"access":{"mapValue":{"fields":{"write":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"read":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}}}}},"nameType":{"stringValue":"default"},"description":{"stringValue":""},"world":{"mapValue":{"fields":{"uid":{"stringValue":"VFYl2eNIoQbig9xfZtwj"},"label":{"stringValue":"Montreal"}}}},"playerUserUid":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},"artworkUid":{"nullValue":null},"alias":{"stringValue":""},"name":{"stringValue":"okok"}},"createTime":"2020-02-11T15:47:50.336991Z","updateTime":"2020-03-25T19:16:05.720207Z"},"targetIds":[160]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.077Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[160],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.077Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkI+P7GtZi66AI=","readTime":"2020-03-27T08:02:43.585912Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.078Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[162]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.078Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[164]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.079Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[160],"resumeToken":"CgkI5YbKtZi66AI=","readTime":"2020-03-27T08:02:43.636069Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.079Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[4,24,134,2,152,150,132,22,8,138,156,6,136,154,142,14,140,10,12,158,146,148,18,144,16],"resumeToken":"CgkI5YbKtZi66AI=","readTime":"2020-03-27T08:02:43.636069Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.080Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[166]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.080Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[168]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.083Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 162
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.084Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 164
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.084Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 166
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.085Z]  @firebase/firestore: Firestore (7.6.2) [WatchChangeAggregator]: Detected inactive target 168
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.085Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.086Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.087Z]  @firebase/firestore: Firestore (7.6.2) [LocalStore]: Ignoring outdated watch update for  {"path":{"segments":["projects","harpy-dev","databases","(default)","documents","entities","d99uiUYkYrGlcNVjFpyC"],"offset":5,"len":2}} . Current version: {"timestamp":{"seconds":1585163765,"nanoseconds":720207000}}  Watch version: {"timestamp":{"seconds":1585163765,"nanoseconds":720207000}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.090Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.141Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/chats/vJk2o00Pmc2sp4hJZSUz","fields":{"access":{"mapValue":{"fields":{"hidden":{"arrayValue":{}},"read":{"arrayValue":{"values":[{"stringValue":"8xEKIzL7eNYKsL8xQeSgzZvAIfK2"},{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"readPosts":{"arrayValue":{"values":[{"stringValue":"8xEKIzL7eNYKsL8xQeSgzZvAIfK2"},{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"write":{"arrayValue":{"values":[{"stringValue":"8xEKIzL7eNYKsL8xQeSgzZvAIfK2"},{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"8xEKIzL7eNYKsL8xQeSgzZvAIfK2"}]}}}}},"uid":{"stringValue":"vJk2o00Pmc2sp4hJZSUz"},"chapterUid":{"stringValue":"awMLpFCmIn58PYmKJEnA"},"isMainChapterChat":{"booleanValue":true}},"createTime":"2020-02-09T23:31:05.296591Z","updateTime":"2020-02-10T16:13:36.175999Z"},"targetIds":[166]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.142Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[166],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.142Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[166],"resumeToken":"CgkI5YbKtZi66AI=","readTime":"2020-03-27T08:02:43.636069Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.143Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/entities/msBqrdrPLbUd2zweEhq3","fields":{"alias":{"stringValue":""},"name":{"stringValue":"Tony P."},"type":{"stringValue":"character"},"uid":{"stringValue":"msBqrdrPLbUd2zweEhq3"},"createdAt":{"timestampValue":"2020-02-10T16:13:07.827Z"},"access":{"mapValue":{"fields":{"write":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"8xEKIzL7eNYKsL8xQeSgzZvAIfK2"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"read":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"8xEKIzL7eNYKsL8xQeSgzZvAIfK2"}]}}}}},"description":{"stringValue":""},"world":{"mapValue":{"fields":{"uid":{"stringValue":"nsouRMEVkWMhCPcFU4SP"},"label":{"stringValue":"Test"}}}},"playerUserUid":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},"artworkUid":{"stringValue":"V1e0FysUjI9w4r7saQvu"}},"createTime":"2020-02-10T16:13:07.886554Z","updateTime":"2020-02-10T16:13:08.267663Z"},"targetIds":[168]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.143Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[168],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.144Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[168],"resumeToken":"CgkI5YbKtZi66AI=","readTime":"2020-03-27T08:02:43.636069Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.144Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[166,168],"resumeToken":"CgkIh4/NtZi66AI=","readTime":"2020-03-27T08:02:43.686279Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.145Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[4,24,134,2,22,132,8,152,150,6,156,138,136,160,142,14,154,140,10,12,158,146,148,18,144,16],"resumeToken":"CgkIh4/NtZi66AI=","readTime":"2020-03-27T08:02:43.686279Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.145Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/chats/ejoS3qqwdfkmIN52K4jU","fields":{"access":{"mapValue":{"fields":{"read":{"arrayValue":{"values":[{"stringValue":"8ZoJUXWrq7aTf240R1HI4nvEi8w2"},{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"readPosts":{"arrayValue":{"values":[{"stringValue":"8ZoJUXWrq7aTf240R1HI4nvEi8w2"},{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"write":{"arrayValue":{"values":[{"stringValue":"8ZoJUXWrq7aTf240R1HI4nvEi8w2"},{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"8ZoJUXWrq7aTf240R1HI4nvEi8w2"}]}}}}},"uid":{"stringValue":"ejoS3qqwdfkmIN52K4jU"},"chapterUid":{"stringValue":"e7TMlumV3Oyu8K7np4fX"},"isMainChapterChat":{"booleanValue":true}},"createTime":"2020-03-25T14:23:06.457247Z","updateTime":"2020-03-25T14:23:16.997215Z"},"targetIds":[162]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.146Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[162],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.146Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[162],"resumeToken":"CgkIh4/NtZi66AI=","readTime":"2020-03-27T08:02:43.686279Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.199Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/entities/d3keSCcPY7S4VA6nrywF","fields":{"nameType":{"stringValue":"default"},"access":{"mapValue":{"fields":{"write":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"8ZoJUXWrq7aTf240R1HI4nvEi8w2"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"read":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"8ZoJUXWrq7aTf240R1HI4nvEi8w2"}]}}}}},"description":{"stringValue":""},"world":{"mapValue":{"fields":{"label":{"stringValue":"Coucou"},"uid":{"stringValue":"MOyIpGjaIAeHJ7RKxFAE"}}}},"playerUserUid":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},"artworkUid":{"stringValue":"Ge1fjTGjSDCVFVmQRJCE"},"alias":{"stringValue":"Titi"},"name":{"stringValue":"Tony P"},"type":{"stringValue":"character"},"uid":{"stringValue":"d3keSCcPY7S4VA6nrywF"},"createdAt":{"timestampValue":"2020-02-13T09:53:46.604Z"}},"createTime":"2020-02-13T09:53:46.662700Z","updateTime":"2020-03-20T13:39:22.624223Z"},"targetIds":[164]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.200Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[164],"resumeToken":"CgkIp5SptJi66AI=","readTime":"2020-03-27T08:02:40.999975Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.201Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[164],"resumeToken":"CgkIh4/NtZi66AI=","readTime":"2020-03-27T08:02:43.686279Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.201Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkIh4/NtZi66AI=","readTime":"2020-03-27T08:02:43.686279Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.202Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.203Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.205Z]  @firebase/firestore: Firestore (7.6.2) [LocalStore]: Ignoring outdated watch update for  {"path":{"segments":["projects","harpy-dev","databases","(default)","documents","entities","d3keSCcPY7S4VA6nrywF"],"offset":5,"len":2}} . Current version: {"timestamp":{"seconds":1584711562,"nanoseconds":624223000}}  Watch version: {"timestamp":{"seconds":1584711562,"nanoseconds":624223000}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.205Z]  @firebase/firestore: Firestore (7.6.2) [LocalStore]: Ignoring outdated watch update for  {"path":{"segments":["projects","harpy-dev","databases","(default)","documents","entities","msBqrdrPLbUd2zweEhq3"],"offset":5,"len":2}} . Current version: {"timestamp":{"seconds":1581351188,"nanoseconds":267663000}}  Watch version: {"timestamp":{"seconds":1581351188,"nanoseconds":267663000}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:42.208Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.430Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Allocate target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.433Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Execute query
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.434Z]  @firebase/firestore: Firestore (7.6.2) [IndexFreeQueryEngine]: Using full collection scan to execute query: %s Query(target=Target(chapters/j2JLohKx3B3hpwVJvhqE/chapter_posts, filters: [access.read array-contains y32HASRWUyXjuuSbkOgNn84sdBO2, createdAt <= Timestamp(seconds=1585164238, nanoseconds=777000000)], limit: 10, orderBy: [createdAt (desc), __name__ (desc)]); limitType=L)
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.436Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"query":{"structuredQuery":{"from":[{"collectionId":"chapter_posts"}],"where":{"compositeFilter":{"op":"AND","filters":[{"fieldFilter":{"field":{"fieldPath":"access.read"},"op":"ARRAY_CONTAINS","value":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}}},{"fieldFilter":{"field":{"fieldPath":"createdAt"},"op":"LESS_THAN_OR_EQUAL","value":{"timestampValue":"2020-03-25T19:23:58.777000000Z"}}}]}},"orderBy":[{"field":{"fieldPath":"createdAt"},"direction":"DESCENDING"},{"field":{"fieldPath":"__name__"},"direction":"DESCENDING"}],"limit":10},"parent":"projects/harpy-dev/databases/(default)/documents/chapters/j2JLohKx3B3hpwVJvhqE"},"targetId":170}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.439Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Allocate target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.442Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Execute query
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.442Z]  @firebase/firestore: Firestore (7.6.2) [IndexFreeQueryEngine]: Using full collection scan to execute query: %s Query(target=Target(chapters/j2JLohKx3B3hpwVJvhqE/chapter_posts, filters: [access.read array-contains y32HASRWUyXjuuSbkOgNn84sdBO2, createdAt > Timestamp(seconds=1585296197, nanoseconds=425000000)], orderBy: [createdAt (asc), __name__ (asc)]); limitType=F)
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.444Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"query":{"structuredQuery":{"from":[{"collectionId":"chapter_posts"}],"where":{"compositeFilter":{"op":"AND","filters":[{"fieldFilter":{"field":{"fieldPath":"access.read"},"op":"ARRAY_CONTAINS","value":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}}},{"fieldFilter":{"field":{"fieldPath":"createdAt"},"op":"GREATER_THAN","value":{"timestampValue":"2020-03-27T08:03:17.425000000Z"}}}]}},"orderBy":[{"field":{"fieldPath":"createdAt"},"direction":"ASCENDING"},{"field":{"fieldPath":"__name__"},"direction":"ASCENDING"}]},"parent":"projects/harpy-dev/databases/(default)/documents/chapters/j2JLohKx3B3hpwVJvhqE"},"targetId":172}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.447Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Allocate target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.449Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Execute query
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.449Z]  @firebase/firestore: Firestore (7.6.2) [IndexFreeQueryEngine]: Using full collection scan to execute query: %s Query(target=Target(chapters/j2JLohKx3B3hpwVJvhqE/chapter_posts, filters: [access.read array-contains y32HASRWUyXjuuSbkOgNn84sdBO2, createdAt > Timestamp(seconds=1585164238, nanoseconds=777000000), createdAt <= Timestamp(seconds=1585296197, nanoseconds=424000000)], orderBy: [createdAt (asc), __name__ (asc)]); limitType=F)
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.450Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"query":{"structuredQuery":{"from":[{"collectionId":"chapter_posts"}],"where":{"compositeFilter":{"op":"AND","filters":[{"fieldFilter":{"field":{"fieldPath":"access.read"},"op":"ARRAY_CONTAINS","value":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}}},{"fieldFilter":{"field":{"fieldPath":"createdAt"},"op":"GREATER_THAN","value":{"timestampValue":"2020-03-25T19:23:58.777000000Z"}}},{"fieldFilter":{"field":{"fieldPath":"createdAt"},"op":"LESS_THAN_OR_EQUAL","value":{"timestampValue":"2020-03-27T08:03:17.424000000Z"}}}]}},"orderBy":[{"field":{"fieldPath":"createdAt"},"direction":"ASCENDING"},{"field":{"fieldPath":"__name__"},"direction":"ASCENDING"}]},"parent":"projects/harpy-dev/databases/(default)/documents/chapters/j2JLohKx3B3hpwVJvhqE"},"targetId":174}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.459Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Allocate target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.460Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Execute query
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.460Z]  @firebase/firestore: Firestore (7.6.2) [IndexFreeQueryEngine]: Using full collection scan to execute query: %s Query(target=Target(chats/lbO9MbQwz1uR4dImKjQ8/chat_posts, filters: [access.read array-contains y32HASRWUyXjuuSbkOgNn84sdBO2, createdAt <= Timestamp(seconds=1585164296, nanoseconds=156000000)], limit: 10, orderBy: [createdAt (desc), __name__ (desc)]); limitType=L)
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.461Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"query":{"structuredQuery":{"from":[{"collectionId":"chat_posts"}],"where":{"compositeFilter":{"op":"AND","filters":[{"fieldFilter":{"field":{"fieldPath":"access.read"},"op":"ARRAY_CONTAINS","value":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}}},{"fieldFilter":{"field":{"fieldPath":"createdAt"},"op":"LESS_THAN_OR_EQUAL","value":{"timestampValue":"2020-03-25T19:24:56.156000000Z"}}}]}},"orderBy":[{"field":{"fieldPath":"createdAt"},"direction":"DESCENDING"},{"field":{"fieldPath":"__name__"},"direction":"DESCENDING"}],"limit":10},"parent":"projects/harpy-dev/databases/(default)/documents/chats/lbO9MbQwz1uR4dImKjQ8"},"targetId":176}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.464Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Allocate target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.465Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Execute query
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.466Z]  @firebase/firestore: Firestore (7.6.2) [IndexFreeQueryEngine]: Using full collection scan to execute query: %s Query(target=Target(chats/lbO9MbQwz1uR4dImKjQ8/chat_posts, filters: [access.read array-contains y32HASRWUyXjuuSbkOgNn84sdBO2, createdAt > Timestamp(seconds=1585296197, nanoseconds=457000000)], orderBy: [createdAt (asc), __name__ (asc)]); limitType=F)
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.467Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"query":{"structuredQuery":{"from":[{"collectionId":"chat_posts"}],"where":{"compositeFilter":{"op":"AND","filters":[{"fieldFilter":{"field":{"fieldPath":"access.read"},"op":"ARRAY_CONTAINS","value":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}}},{"fieldFilter":{"field":{"fieldPath":"createdAt"},"op":"GREATER_THAN","value":{"timestampValue":"2020-03-27T08:03:17.457000000Z"}}}]}},"orderBy":[{"field":{"fieldPath":"createdAt"},"direction":"ASCENDING"},{"field":{"fieldPath":"__name__"},"direction":"ASCENDING"}]},"parent":"projects/harpy-dev/databases/(default)/documents/chats/lbO9MbQwz1uR4dImKjQ8"},"targetId":178}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.469Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Allocate target
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.471Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Execute query
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.472Z]  @firebase/firestore: Firestore (7.6.2) [IndexFreeQueryEngine]: Using full collection scan to execute query: %s Query(target=Target(chats/lbO9MbQwz1uR4dImKjQ8/chat_posts, filters: [access.read array-contains y32HASRWUyXjuuSbkOgNn84sdBO2, createdAt > Timestamp(seconds=1585164296, nanoseconds=156000000), createdAt <= Timestamp(seconds=1585296197, nanoseconds=456000000)], orderBy: [createdAt (asc), __name__ (asc)]); limitType=F)
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.473Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel sending: {"database":"projects/harpy-dev/databases/(default)","addTarget":{"query":{"structuredQuery":{"from":[{"collectionId":"chat_posts"}],"where":{"compositeFilter":{"op":"AND","filters":[{"fieldFilter":{"field":{"fieldPath":"access.read"},"op":"ARRAY_CONTAINS","value":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}}},{"fieldFilter":{"field":{"fieldPath":"createdAt"},"op":"GREATER_THAN","value":{"timestampValue":"2020-03-25T19:24:56.156000000Z"}}},{"fieldFilter":{"field":{"fieldPath":"createdAt"},"op":"LESS_THAN_OR_EQUAL","value":{"timestampValue":"2020-03-27T08:03:17.456000000Z"}}}]}},"orderBy":[{"field":{"fieldPath":"createdAt"},"direction":"ASCENDING"},{"field":{"fieldPath":"__name__"},"direction":"ASCENDING"}]},"parent":"projects/harpy-dev/databases/(default)/documents/chats/lbO9MbQwz1uR4dImKjQ8"},"targetId":180}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.478Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[170]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.478Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[172]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.479Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[174]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.531Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[176]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.533Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[178]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.534Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[180]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.535Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[172],"resumeToken":"CgkI1PG7xpi66AI=","readTime":"2020-03-27T08:03:19.055572Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.537Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[172],"resumeToken":"CgkIruW/xpi66AI=","readTime":"2020-03-27T08:03:19.119534Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.538Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[14,8,138,156,166,4,24,134,152,16,146,164,12,142,160,6,154,136,2,22,168,132,150,144,162,18,148,10,140,158],"resumeToken":"CgkIruW/xpi66AI=","readTime":"2020-03-27T08:03:19.119534Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.540Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[174],"resumeToken":"CgkI1PG7xpi66AI=","readTime":"2020-03-27T08:03:19.055572Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.541Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[174],"resumeToken":"CgkIr+W/xpi66AI=","readTime":"2020-03-27T08:03:19.119535Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.542Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[16,146,164,12,142,160,8,138,156,166,4,134,152,144,162,24,18,148,10,140,158,14,6,136,154,172,2,22,168,132,150],"resumeToken":"CgkIr+W/xpi66AI=","readTime":"2020-03-27T08:03:19.119535Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.544Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/chapters/j2JLohKx3B3hpwVJvhqE/chapter_posts/la4UMR7sMXUGTrELHgRv","fields":{"createdAt":{"timestampValue":"2020-03-25T19:23:58.777Z"},"data":{"mapValue":{"fields":{"message":{"mapValue":{"fields":{"content":{"stringValue":"J'ai update la partie HRP aussi t'as vu ? Petite update et tout "},"howText":{"nullValue":null},"characterUid":{"stringValue":"5SKjxaKubQv6CaqTrp6H"}}}}}}},"access":{"mapValue":{"fields":{"write":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"read":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}}}}},"isPublic":{"booleanValue":false},"opUid":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},"type":{"stringValue":"message"},"uid":{"stringValue":"la4UMR7sMXUGTrELHgRv"}},"createTime":"2020-03-25T19:23:58.857983Z","updateTime":"2020-03-25T19:23:58.857983Z"},"targetIds":[170]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.546Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/chapters/j2JLohKx3B3hpwVJvhqE/chapter_posts/NFpczyvAlI9qUDk6xlHM","fields":{"opUid":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},"type":{"stringValue":"message"},"uid":{"stringValue":"NFpczyvAlI9qUDk6xlHM"},"createdAt":{"timestampValue":"2020-03-25T19:21:59.939Z"},"data":{"mapValue":{"fields":{"message":{"mapValue":{"fields":{"characterUid":{"stringValue":"5SKjxaKubQv6CaqTrp6H"},"content":{"stringValue":"Ça marche "},"howText":{"nullValue":null}}}}}}},"access":{"mapValue":{"fields":{"write":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"read":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}}}}},"isPublic":{"booleanValue":false}},"createTime":"2020-03-25T19:22:00.032623Z","updateTime":"2020-03-25T19:22:00.032623Z"},"targetIds":[170]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.547Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/chapters/j2JLohKx3B3hpwVJvhqE/chapter_posts/dO1JahNQkIvxhD55GGro","fields":{"type":{"stringValue":"message"},"uid":{"stringValue":"dO1JahNQkIvxhD55GGro"},"createdAt":{"timestampValue":"2020-03-25T19:19:04.939Z"},"data":{"mapValue":{"fields":{"message":{"mapValue":{"fields":{"content":{"stringValue":"Coucou ça marche ?"},"howText":{"nullValue":null},"characterUid":{"stringValue":"5SKjxaKubQv6CaqTrp6H"}}}}}}},"access":{"mapValue":{"fields":{"read":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"write":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}}}}},"isPublic":{"booleanValue":false},"opUid":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}},"createTime":"2020-03-25T19:19:05.034255Z","updateTime":"2020-03-25T19:19:05.034255Z"},"targetIds":[170]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.548Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/chapters/j2JLohKx3B3hpwVJvhqE/chapter_posts/3w4ARicHFO7taOBddIVY","fields":{"data":{"mapValue":{"fields":{"milestone":{"mapValue":{"fields":{"characters":{"arrayValue":{"values":[{"mapValue":{"fields":{"move":{"stringValue":"enter"},"uid":{"stringValue":"9S03l2cdnrQry8V21krV"},"playerUserUid":{"nullValue":null}}}},{"mapValue":{"fields":{"move":{"stringValue":"enter"},"uid":{"stringValue":"5SKjxaKubQv6CaqTrp6H"},"playerUserUid":{"nullValue":null}}}},{"mapValue":{"fields":{"playerUserUid":{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"},"move":{"stringValue":"present"},"uid":{"stringValue":"wncRgkr9Xjw2iF6e9DVb"}}}},{"mapValue":{"fields":{"playerUserUid":{"nullValue":null},"move":{"stringValue":"present"},"uid":{"stringValue":"9S03l2cdnrQry8V21krV"}}}},{"mapValue":{"fields":{"move":{"stringValue":"present"},"uid":{"stringValue":"5SKjxaKubQv6CaqTrp6H"},"playerUserUid":{"nullValue":null}}}}]}}}}}}}},"access":{"mapValue":{"fields":{"read":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"write":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}}}}},"isPublic":{"booleanValue":false},"opUid":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},"type":{"stringValue":"milestone"},"uid":{"stringValue":"3w4ARicHFO7taOBddIVY"},"createdAt":{"timestampValue":"2020-03-25T19:18:58.118Z"}},"createTime":"2020-03-25T19:18:58.206975Z","updateTime":"2020-03-25T19:18:58.206975Z"},"targetIds":[170]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.604Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/chapters/j2JLohKx3B3hpwVJvhqE/chapter_posts/2I7jNShsMukeQhOehKOx","fields":{"data":{"mapValue":{"fields":{"milestone":{"mapValue":{"fields":{"characters":{"arrayValue":{"values":[{"mapValue":{"fields":{"move":{"stringValue":"enter"},"uid":{"stringValue":"wncRgkr9Xjw2iF6e9DVb"},"playerUserUid":{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}}}},{"mapValue":{"fields":{"uid":{"stringValue":"wncRgkr9Xjw2iF6e9DVb"},"playerUserUid":{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"},"move":{"stringValue":"present"}}}}]}}}}}}}},"access":{"mapValue":{"fields":{"read":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"write":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}}}}},"isPublic":{"booleanValue":false},"opUid":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},"type":{"stringValue":"milestone"},"uid":{"stringValue":"2I7jNShsMukeQhOehKOx"},"createdAt":{"timestampValue":"2020-03-25T19:18:44.839Z"}},"createTime":"2020-03-25T19:18:44.939135Z","updateTime":"2020-03-25T19:18:44.939135Z"},"targetIds":[170]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.606Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[170],"resumeToken":"CgkI1PG7xpi66AI=","readTime":"2020-03-27T08:03:19.055572Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.607Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[170],"resumeToken":"CgkIr+W/xpi66AI=","readTime":"2020-03-27T08:03:19.119535Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.609Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[180],"resumeToken":"CgkI1PG7xpi66AI=","readTime":"2020-03-27T08:03:19.055572Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.610Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[178],"resumeToken":"CgkI1PG7xpi66AI=","readTime":"2020-03-27T08:03:19.055572Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.611Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[180],"resumeToken":"CgkIr+W/xpi66AI=","readTime":"2020-03-27T08:03:19.119535Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.612Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[178],"resumeToken":"CgkIr+W/xpi66AI=","readTime":"2020-03-27T08:03:19.119535Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.614Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/chats/lbO9MbQwz1uR4dImKjQ8/chat_posts/XdLukb9RrkDiXWTFIHKl","fields":{"access":{"mapValue":{"fields":{"read":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"write":{"arrayValue":{"values":[{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}}}}},"opUid":{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"},"type":{"stringValue":"message"},"uid":{"stringValue":"XdLukb9RrkDiXWTFIHKl"},"createdAt":{"timestampValue":"2020-03-25T19:24:56.156Z"},"data":{"mapValue":{"fields":{"message":{"mapValue":{"fields":{"content":{"stringValue":"oui!!!"}}}}}}}},"createTime":"2020-03-25T19:24:56.245567Z","updateTime":"2020-03-25T19:24:56.245567Z"},"targetIds":[176]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.616Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/chats/lbO9MbQwz1uR4dImKjQ8/chat_posts/1xyun91Q8XULIkpIkEqo","fields":{"opUid":{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"},"type":{"stringValue":"message"},"uid":{"stringValue":"1xyun91Q8XULIkpIkEqo"},"createdAt":{"timestampValue":"2020-03-25T19:24:50.434Z"},"data":{"mapValue":{"fields":{"message":{"mapValue":{"fields":{"content":{"stringValue":"gg bff, cest top franchement"}}}}}}},"access":{"mapValue":{"fields":{"write":{"arrayValue":{"values":[{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"read":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}}}}}},"createTime":"2020-03-25T19:24:50.475199Z","updateTime":"2020-03-25T19:24:50.475199Z"},"targetIds":[176]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.617Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/chats/lbO9MbQwz1uR4dImKjQ8/chat_posts/d7s6Sv8NJfmIt9OGBLLH","fields":{"access":{"mapValue":{"fields":{"write":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"read":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}}}}},"opUid":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},"type":{"stringValue":"message"},"uid":{"stringValue":"d7s6Sv8NJfmIt9OGBLLH"},"createdAt":{"timestampValue":"2020-03-25T19:24:48.257Z"},"data":{"mapValue":{"fields":{"message":{"mapValue":{"fields":{"content":{"stringValue":"Fais lui un bisous de tonton BFF"}}}}}}}},"createTime":"2020-03-25T19:24:48.283775Z","updateTime":"2020-03-25T19:24:48.283775Z"},"targetIds":[176]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.619Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/chats/lbO9MbQwz1uR4dImKjQ8/chat_posts/IaasYZSpbV3MTw4KQ1rY","fields":{"type":{"stringValue":"message"},"uid":{"stringValue":"IaasYZSpbV3MTw4KQ1rY"},"createdAt":{"timestampValue":"2020-03-25T19:24:38.960Z"},"data":{"mapValue":{"fields":{"message":{"mapValue":{"fields":{"content":{"stringValue":"Ça roule "}}}}}}},"access":{"mapValue":{"fields":{"read":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"write":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}}}}},"opUid":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}},"createTime":"2020-03-25T19:24:39.026991Z","updateTime":"2020-03-25T19:24:39.026991Z"},"targetIds":[176]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.620Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/chats/lbO9MbQwz1uR4dImKjQ8/chat_posts/TQvdcFJhAokHJQTlL40T","fields":{"type":{"stringValue":"message"},"uid":{"stringValue":"TQvdcFJhAokHJQTlL40T"},"createdAt":{"timestampValue":"2020-03-25T19:24:29.996Z"},"data":{"mapValue":{"fields":{"message":{"mapValue":{"fields":{"content":{"stringValue":"je dois moccuper de leo la :s "}}}}}}},"access":{"mapValue":{"fields":{"read":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"write":{"arrayValue":{"values":[{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}}}}},"opUid":{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}},"createTime":"2020-03-25T19:24:30.136463Z","updateTime":"2020-03-25T19:24:30.136463Z"},"targetIds":[176]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.622Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/chats/lbO9MbQwz1uR4dImKjQ8/chat_posts/OM0RXN9nsLsW1XJJQmWC","fields":{"access":{"mapValue":{"fields":{"write":{"arrayValue":{"values":[{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"read":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}}}}},"opUid":{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"},"type":{"stringValue":"message"},"uid":{"stringValue":"OM0RXN9nsLsW1XJJQmWC"},"createdAt":{"timestampValue":"2020-03-25T19:24:15.574Z"},"data":{"mapValue":{"fields":{"message":{"mapValue":{"fields":{"content":{"stringValue":"on vera les ptits bugs ici et la arriver avec la crowd"}}}}}}}},"createTime":"2020-03-25T19:24:15.660159Z","updateTime":"2020-03-25T19:24:15.660159Z"},"targetIds":[176]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.624Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/chats/lbO9MbQwz1uR4dImKjQ8/chat_posts/KmMR3Gm6YXJ5AnWHXZoT","fields":{"createdAt":{"timestampValue":"2020-03-25T19:24:14.218Z"},"data":{"mapValue":{"fields":{"message":{"mapValue":{"fields":{"content":{"stringValue":"Je te montre via un call ?"}}}}}}},"access":{"mapValue":{"fields":{"write":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"read":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}}}}},"opUid":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},"type":{"stringValue":"message"},"uid":{"stringValue":"KmMR3Gm6YXJ5AnWHXZoT"}},"createTime":"2020-03-25T19:24:14.298991Z","updateTime":"2020-03-25T19:24:14.298991Z"},"targetIds":[176]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.625Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/chats/lbO9MbQwz1uR4dImKjQ8/chat_posts/mOIxmt9gNl8XHLrLgMpe","fields":{"createdAt":{"timestampValue":"2020-03-25T19:24:08.586Z"},"data":{"mapValue":{"fields":{"message":{"mapValue":{"fields":{"content":{"stringValue":"Azy j'envoie !"}}}}}}},"access":{"mapValue":{"fields":{"write":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"}]}},"read":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}}}}},"opUid":{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},"type":{"stringValue":"message"},"uid":{"stringValue":"mOIxmt9gNl8XHLrLgMpe"}},"createTime":"2020-03-25T19:24:08.671615Z","updateTime":"2020-03-25T19:24:08.671615Z"},"targetIds":[176]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.627Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/chats/lbO9MbQwz1uR4dImKjQ8/chat_posts/QZnhxxGGljGItivNEUBJ","fields":{"type":{"stringValue":"message"},"uid":{"stringValue":"QZnhxxGGljGItivNEUBJ"},"createdAt":{"timestampValue":"2020-03-25T19:24:01.751Z"},"data":{"mapValue":{"fields":{"message":{"mapValue":{"fields":{"content":{"stringValue":"cest stable"}}}}}}},"access":{"mapValue":{"fields":{"write":{"arrayValue":{"values":[{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"read":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}}}}},"opUid":{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}},"createTime":"2020-03-25T19:24:01.850223Z","updateTime":"2020-03-25T19:24:01.850223Z"},"targetIds":[176]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.628Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"documentChange":{"document":{"name":"projects/harpy-dev/databases/(default)/documents/chats/lbO9MbQwz1uR4dImKjQ8/chat_posts/TcMkTLGinIJ8a844HdEi","fields":{"opUid":{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"},"type":{"stringValue":"message"},"uid":{"stringValue":"TcMkTLGinIJ8a844HdEi"},"createdAt":{"timestampValue":"2020-03-25T19:23:57.999Z"},"data":{"mapValue":{"fields":{"message":{"mapValue":{"fields":{"content":{"stringValue":"jai vu aucune fatal error"}}}}}}},"access":{"mapValue":{"fields":{"write":{"arrayValue":{"values":[{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"manage":{"arrayValue":{"values":[{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}},"read":{"arrayValue":{"values":[{"stringValue":"y32HASRWUyXjuuSbkOgNn84sdBO2"},{"stringValue":"VYkSz743L9NAdf51I9ezFWdtEu03"}]}}}}}},"createTime":"2020-03-25T19:23:58.054687Z","updateTime":"2020-03-25T19:23:58.054687Z"},"targetIds":[176]}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.628Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetIds":[176],"resumeToken":"CgkI1PG7xpi66AI=","readTime":"2020-03-27T08:03:19.055572Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.630Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"CURRENT","targetIds":[176],"resumeToken":"CgkIr+W/xpi66AI=","readTime":"2020-03-27T08:03:19.119535Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.630Z]  @firebase/firestore: Firestore (7.6.2) [Connection]: WebChannel received: {"targetChange":{"resumeToken":"CgkIr+W/xpi66AI=","readTime":"2020-03-27T08:03:19.119535Z"}}
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.635Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.638Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:03:17.657Z]  @firebase/firestore: Firestore (7.6.2) [MemoryPersistence]: Starting transaction: notifyLocalViewChanges
polyfills-es2015.4deff63c808bc1d4e8bc.js:1 [Violation] 'setInterval' handler took 65ms
polyfills-es2015.4deff63c808bc1d4e8bc.js:1 [Violation] 'setInterval' handler took 72ms
wilhuff commented 4 years ago

The text "Coucou ça marche" appears in a document change for target 170, but target 170 wasn't requested until 03:17.430Z in a query on chapters/j2JLohKx3B3hpwVJvhqE/chapter_posts. That path does not occur in the logs before 03:17.430Z. The client raised a snapshot for that 03:17.657 (127 ms later).

I can't explain why there was a 35 second gap in your application logs, but from what I can see Firestore is operating fine here. Firestore recovered and delivered 27 snapshots before the start of the gap at 8:02:42.208Z. It's only after the gap that you issued the query that would have returned that text.

I strongly suspect there's a bug in your application logic. If you can reproduce this with a program you can share we'll be able to help further.

wilhuff commented 4 years ago

One thing I see in the log is this line:

index.esm.js.pre-build-optimizer.js:93 [2020-03-27T08:02:41.917Z]  @firebase/firestore: Firestore (7.6.2) [LocalStore]: Ignoring outdated watch update for  {"path":{"segments":["projects","harpy-dev","databases","(default)","documents","chapters","j2JLohKx3B3hpwVJvhqE"],"offset":5,"len":2}} . Current version: {"timestamp":{"seconds":1585164239,"nanoseconds":981535000}}  Watch version: {"timestamp":{"seconds":1585164239,"nanoseconds":981535000}}

This Indicates that you were listening to somehow listening to chapters/j2JLohKx3B3hpwVJvhqE and another query attempted to pull it down and there was no update.

I suspect that you're somehow driving your UI from changes in the snapshot but in this case there actually was no change. I can't really say why you're listening to the same path more than once but I wonder if you're somehow filtering snapshots that are marked fromCache: true or similar? If so, make sure to include metadata changes when starting your listeners.

mparpaillon commented 4 years ago

Thanks a lot for taking the time. I've investigating a little further, looking more at my app logic. I couldn't find it so I've added a ton of console.logs and finally found the issue (but haven't solved it yet though)

Before requesting the chat posts I request the date of the last seen post (stored in RTDB)... and apparently, when the app has been inactive for 10min+ this takes from 30scd to 5min to load... And I don't know why.

Here it is:

getLastSeenPostDate(chatUid, userUid) {
  return this.db.object(`usersLatestChatPostSeenDate/${userUid}/${chatUid}`)
    .valueChanges()
    .pipe(take(1))
    .toPromise()
    .then(val => val && new Date(val));
}
mparpaillon commented 4 years ago

@wilhuff Could you reopen this issue please? The problem seems to be in the firebase RTDB.

Capture d’écran 2020-03-30 à 12 20 11

After being inactive for 30min this query to RTDB returns a 400. Is the session expired or something ?

GET https://firestore.googleapis.com/google.firestore.v1.Firestore/Listen/channel?database=projects%2Fharpy-dev%2Fdatabases%2F(default)&gsessionid=Aw3wL2PtWVvgz06FBs-puhwZoULc6TiH&VER=8&RID=rpc&SID=WJjV6Bg7ryDiLJ6dcm11Rw&CI=0&AID=338&TYPE=xmlhttp&zx=eph212c6o9gu&t=1 net::ERR_ABORTED 400

mparpaillon commented 4 years ago

@wilhuff I've enabled RTDB logs

Here are the results.

As you can see, everything from "2020-03-30T10:41:41" to "2020-03-30T10:42:17" works fine. Then I wait for 1.5 hours with the app inactive then activate it again at 2020-03-30T12:17:54.

And I get this

[2020-03-30T12:17:54.128Z]  @firebase/database: c:0:0:0 Websocket connection was disconnected. 
[2020-03-30T12:17:54.128Z]  @firebase/database: c:0:0:0 WebSocket is closing itself 
[2020-03-30T12:17:54.129Z]  @firebase/database: c:0:0: Realtime connection lost. 
[2020-03-30T12:17:54.129Z]  @firebase/database: c:0:0: Closing realtime connection. 
[2020-03-30T12:17:54.130Z]  @firebase/database: c:0:0: Shutting down all connections 
[2020-03-30T12:17:54.130Z]  @firebase/database: p:0: data client disconnected 
[2020-03-30T12:17:54.131Z]  @firebase/database: p:0: Window isn't visible.  Delaying reconnect. 
[2020-03-30T12:17:54.132Z]  @firebase/database: p:0: Trying to reconnect in 26213.448482952772ms 
[2020-03-30T12:17:54.137Z]  @firebase/database: event: /.info/connected:value:false 

Here is the full log

[2020-03-30T10:41:41.183Z]  @firebase/database: p:0: Unlisten called for /usersMute/y32HASRWUyXjuuSbkOgNn84sdBO2/chapters/j2JLohKx3B3hpwVJvhqE default 
[2020-03-30T10:41:41.185Z]  @firebase/database: p:0: Unlisten on /usersMute/y32HASRWUyXjuuSbkOgNn84sdBO2/chapters/j2JLohKx3B3hpwVJvhqE for default 
[2020-03-30T10:41:41.188Z]  @firebase/database: p:0: {"r":14,"a":"n","b":{"p":"/usersMute/y32HASRWUyXjuuSbkOgNn84sdBO2/chapters/j2JLohKx3B3hpwVJvhqE"}} 
[2020-03-30T10:41:41.335Z]  @firebase/database: p:0: from server: {"r":14,"b":{"s":"ok","d":""}} 
[2020-03-30T10:41:41.422Z]  @firebase/database: 0: set {"path":"/usersChapterCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/j2JLohKx3B3hpwVJvhqE","value":null,"priority":null} 
[2020-03-30T10:41:41.425Z]  @firebase/database: p:0: {"r":15,"a":"p","b":{"p":"/usersChapterCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/j2JLohKx3B3hpwVJvhqE","d":null}} 
[2020-03-30T10:41:41.428Z]  @firebase/database: 0: update {"path":"/usersChapterPresence","value":{"y32HASRWUyXjuuSbkOgNn84sdBO2":"j2JLohKx3B3hpwVJvhqE"}} 
[2020-03-30T10:41:41.430Z]  @firebase/database: p:0: {"r":16,"a":"m","b":{"p":"/usersChapterPresence","d":{"y32HASRWUyXjuuSbkOgNn84sdBO2":"j2JLohKx3B3hpwVJvhqE"}}} 
[2020-03-30T10:41:41.449Z]  @firebase/database: p:0: Listen called for /usersLatestChapterPostSeenDate/y32HASRWUyXjuuSbkOgNn84sdBO2/j2JLohKx3B3hpwVJvhqE default 
[2020-03-30T10:41:41.450Z]  @firebase/database: p:0: Listen on /usersLatestChapterPostSeenDate/y32HASRWUyXjuuSbkOgNn84sdBO2/j2JLohKx3B3hpwVJvhqE for default 
[2020-03-30T10:41:41.451Z]  @firebase/database: p:0: {"r":17,"a":"q","b":{"p":"/usersLatestChapterPostSeenDate/y32HASRWUyXjuuSbkOgNn84sdBO2/j2JLohKx3B3hpwVJvhqE","h":""}} 
[2020-03-30T10:41:41.486Z]  @firebase/database: 0: set {"path":"/chapterSpeakingUsers/j2JLohKx3B3hpwVJvhqE/y32HASRWUyXjuuSbkOgNn84sdBO2","value":null,"priority":null} 
[2020-03-30T10:41:41.521Z]  @firebase/database: p:0: {"r":18,"a":"p","b":{"p":"/chapterSpeakingUsers/j2JLohKx3B3hpwVJvhqE/y32HASRWUyXjuuSbkOgNn84sdBO2","d":null}} 
[2020-03-30T10:41:41.524Z]  @firebase/database: 0: set {"path":"/chapterSpeakingUsers/j2JLohKx3B3hpwVJvhqE/y32HASRWUyXjuuSbkOgNn84sdBO2","value":null,"priority":null} 
[2020-03-30T10:41:41.526Z]  @firebase/database: p:0: {"r":19,"a":"p","b":{"p":"/chapterSpeakingUsers/j2JLohKx3B3hpwVJvhqE/y32HASRWUyXjuuSbkOgNn84sdBO2","d":null}} 
[2020-03-30T10:41:41.528Z]  @firebase/database: 0: set {"path":"/chapterSpeakingUsers/j2JLohKx3B3hpwVJvhqE/y32HASRWUyXjuuSbkOgNn84sdBO2","value":null,"priority":null} 
[2020-03-30T10:41:41.529Z]  @firebase/database: p:0: {"r":20,"a":"p","b":{"p":"/chapterSpeakingUsers/j2JLohKx3B3hpwVJvhqE/y32HASRWUyXjuuSbkOgNn84sdBO2","d":null}} 
[2020-03-30T10:41:41.615Z]  @firebase/database: p:0: Listen called for /chapterSpeakingUsers/j2JLohKx3B3hpwVJvhqE default 
[2020-03-30T10:41:41.617Z]  @firebase/database: p:0: Listen on /chapterSpeakingUsers/j2JLohKx3B3hpwVJvhqE for default 
[2020-03-30T10:41:41.619Z]  @firebase/database: p:0: {"r":21,"a":"q","b":{"p":"/chapterSpeakingUsers/j2JLohKx3B3hpwVJvhqE","h":""}} 
[2020-03-30T10:41:41.623Z]  @firebase/database: p:0: from server: {"r":15,"b":{"s":"ok","d":""}} 
[2020-03-30T10:41:41.624Z]  @firebase/database: p:0: p response {"s":"ok","d":""} 
[2020-03-30T10:41:41.641Z]  @firebase/database: p:0: from server: {"r":16,"b":{"s":"ok","d":""}} 
[2020-03-30T10:41:41.642Z]  @firebase/database: p:0: m response {"s":"ok","d":""} 
[2020-03-30T10:41:41.643Z]  @firebase/database: p:0: handleServerMessage d {"p":"usersLatestChapterPostSeenDate/y32HASRWUyXjuuSbkOgNn84sdBO2/j2JLohKx3B3hpwVJvhqE","d":"2020-03-25T19:23:58.777Z"} 
[2020-03-30T10:41:41.644Z]  @firebase/database: event: /usersLatestChapterPostSeenDate/y32HASRWUyXjuuSbkOgNn84sdBO2/j2JLohKx3B3hpwVJvhqE:value:"2020-03-25T19:23:58.777Z" 
[2020-03-30T10:41:41.644Z]  @firebase/database: p:0: Unlisten called for /usersLatestChapterPostSeenDate/y32HASRWUyXjuuSbkOgNn84sdBO2/j2JLohKx3B3hpwVJvhqE default 
[2020-03-30T10:41:41.645Z]  @firebase/database: p:0: Unlisten on /usersLatestChapterPostSeenDate/y32HASRWUyXjuuSbkOgNn84sdBO2/j2JLohKx3B3hpwVJvhqE for default 
[2020-03-30T10:41:41.646Z]  @firebase/database: p:0: {"r":22,"a":"n","b":{"p":"/usersLatestChapterPostSeenDate/y32HASRWUyXjuuSbkOgNn84sdBO2/j2JLohKx3B3hpwVJvhqE"}} 
[2020-03-30T10:41:41.661Z]  @firebase/database: p:0: from server: {"r":17,"b":{"s":"ok","d":{}}} 
[2020-03-30T10:41:41.687Z]  @firebase/database: p:0: from server: {"r":18,"b":{"s":"ok","d":""}} 
[2020-03-30T10:41:41.688Z]  @firebase/database: p:0: p response {"s":"ok","d":""} 
[2020-03-30T10:41:41.724Z]  @firebase/database: p:0: from server: {"r":19,"b":{"s":"ok","d":""}} 
[2020-03-30T10:41:41.724Z]  @firebase/database: p:0: p response {"s":"ok","d":""} 
[2020-03-30T10:41:41.725Z]  @firebase/database: p:0: from server: {"r":20,"b":{"s":"ok","d":""}} 
[2020-03-30T10:41:41.726Z]  @firebase/database: p:0: p response {"s":"ok","d":""} 
[2020-03-30T10:41:41.787Z]  @firebase/database: p:0: from server: {"r":21,"b":{"s":"ok","d":{}}} 
[2020-03-30T10:41:41.788Z]  @firebase/database: p:0: listen response {"s":"ok","d":{}} 
[2020-03-30T10:41:41.790Z]  @firebase/database: event: /chapterSpeakingUsers/j2JLohKx3B3hpwVJvhqE:value:null 
[2020-03-30T10:41:41.806Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/lbO9MbQwz1uR4dImKjQ8:value:null 
[2020-03-30T10:41:41.816Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/umO6fltfUGoA0EcX5785:value:null 
[2020-03-30T10:41:41.841Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/nnHIPn4MY2h0OyJVeMgi:value:null 
[2020-03-30T10:41:41.846Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/jxog5m6njx5axHRJPt9u:value:null 
[2020-03-30T10:41:41.851Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/hndctC6sfO5hxUWZA5xY:value:null 
[2020-03-30T10:41:41.857Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/cSKK1C1lrPyetwMHRdrj:value:null 
[2020-03-30T10:41:41.862Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/QmlLF5ZxUilsFG5a1lm2:value:null 
[2020-03-30T10:41:41.885Z]  @firebase/database: p:0: from server: {"r":22,"b":{"s":"ok","d":""}} 
[2020-03-30T10:41:41.911Z]  @firebase/database: event: /usersChapterCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/j2JLohKx3B3hpwVJvhqE:value:null 
[2020-03-30T10:41:42.150Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/lbO9MbQwz1uR4dImKjQ8:value:null 
[2020-03-30T10:41:42.152Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/umO6fltfUGoA0EcX5785:value:null 
[2020-03-30T10:41:42.153Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/nnHIPn4MY2h0OyJVeMgi:value:null 
[2020-03-30T10:41:42.155Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/jxog5m6njx5axHRJPt9u:value:null 
[2020-03-30T10:41:42.156Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/hndctC6sfO5hxUWZA5xY:value:null 
[2020-03-30T10:41:42.158Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/cSKK1C1lrPyetwMHRdrj:value:null 
[2020-03-30T10:41:42.160Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/QmlLF5ZxUilsFG5a1lm2:value:null 
[2020-03-30T10:41:42.190Z]  @firebase/database: event: /usersChapterCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/kNUAkoWHbg5qw3otp5ME:value:null 
[2020-03-30T10:41:42.248Z]  @firebase/database: event: /usersChapterCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/e7TMlumV3Oyu8K7np4fX:value:null 
[2020-03-30T10:41:42.282Z]  @firebase/database: event: /usersChapterCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/awMLpFCmIn58PYmKJEnA:value:null 
[2020-03-30T10:41:42.424Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/UjklKNuB9ch3ApcInfHq:value:0 
[2020-03-30T10:41:42.430Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/ejoS3qqwdfkmIN52K4jU:value:null 
[2020-03-30T10:41:42.436Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/vJk2o00Pmc2sp4hJZSUz:value:0 
[2020-03-30T10:42:14.720Z]  @firebase/database: p:0: Unlisten called for /chapterSpeakingUsers/j2JLohKx3B3hpwVJvhqE default 
[2020-03-30T10:42:14.722Z]  @firebase/database: p:0: Unlisten on /chapterSpeakingUsers/j2JLohKx3B3hpwVJvhqE for default 
[2020-03-30T10:42:14.724Z]  @firebase/database: p:0: {"r":23,"a":"n","b":{"p":"/chapterSpeakingUsers/j2JLohKx3B3hpwVJvhqE"}} 
[2020-03-30T10:42:14.729Z]  @firebase/database: 0: set {"path":"/usersChapterPresence/y32HASRWUyXjuuSbkOgNn84sdBO2","value":null,"priority":null} 
[2020-03-30T10:42:14.731Z]  @firebase/database: p:0: {"r":24,"a":"p","b":{"p":"/usersChapterPresence/y32HASRWUyXjuuSbkOgNn84sdBO2","d":null}} 
[2020-03-30T10:42:14.883Z]  @firebase/database: p:0: from server: {"r":23,"b":{"s":"ok","d":""}} 
[2020-03-30T10:42:14.886Z]  @firebase/database: p:0: from server: {"r":24,"b":{"s":"ok","d":""}} 
[2020-03-30T10:42:14.886Z]  @firebase/database: p:0: p response {"s":"ok","d":""} 
[2020-03-30T10:42:15.166Z]  @firebase/database: p:0: Listen called for /usersMute/y32HASRWUyXjuuSbkOgNn84sdBO2/chapters/j2JLohKx3B3hpwVJvhqE default 
[2020-03-30T10:42:15.168Z]  @firebase/database: p:0: Listen on /usersMute/y32HASRWUyXjuuSbkOgNn84sdBO2/chapters/j2JLohKx3B3hpwVJvhqE for default 
[2020-03-30T10:42:15.170Z]  @firebase/database: p:0: {"r":25,"a":"q","b":{"p":"/usersMute/y32HASRWUyXjuuSbkOgNn84sdBO2/chapters/j2JLohKx3B3hpwVJvhqE","h":""}} 
[2020-03-30T10:42:15.172Z]  @firebase/database: event: /usersChapterCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/j2JLohKx3B3hpwVJvhqE:value:null 
[2020-03-30T10:42:15.293Z]  @firebase/database: p:0: from server: {"r":25,"b":{"s":"ok","d":{}}} 
[2020-03-30T10:42:15.294Z]  @firebase/database: p:0: listen response {"s":"ok","d":{}} 
[2020-03-30T10:42:15.295Z]  @firebase/database: event: /usersMute/y32HASRWUyXjuuSbkOgNn84sdBO2/chapters/j2JLohKx3B3hpwVJvhqE:value:null 
[2020-03-30T10:42:15.355Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/lbO9MbQwz1uR4dImKjQ8:value:null 
[2020-03-30T10:42:15.357Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/umO6fltfUGoA0EcX5785:value:null 
[2020-03-30T10:42:15.359Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/nnHIPn4MY2h0OyJVeMgi:value:null 
[2020-03-30T10:42:15.361Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/jxog5m6njx5axHRJPt9u:value:null 
[2020-03-30T10:42:15.362Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/hndctC6sfO5hxUWZA5xY:value:null 
[2020-03-30T10:42:15.364Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/cSKK1C1lrPyetwMHRdrj:value:null 
[2020-03-30T10:42:15.365Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/QmlLF5ZxUilsFG5a1lm2:value:null 
[2020-03-30T10:42:17.023Z]  @firebase/database: 0: update {"path":"/usersStatus","value":{"y32HASRWUyXjuuSbkOgNn84sdBO2":"away"}} 
[2020-03-30T10:42:17.026Z]  @firebase/database: p:0: {"r":26,"a":"m","b":{"p":"/usersStatus","d":{"y32HASRWUyXjuuSbkOgNn84sdBO2":"away"}}} 
[2020-03-30T10:42:17.149Z]  @firebase/database: p:0: from server: {"r":26,"b":{"s":"ok","d":""}} 
[2020-03-30T10:42:17.151Z]  @firebase/database: p:0: m response {"s":"ok","d":""} 
[2020-03-30T12:17:54.128Z]  @firebase/database: c:0:0:0 Websocket connection was disconnected. 
[2020-03-30T12:17:54.128Z]  @firebase/database: c:0:0:0 WebSocket is closing itself 
[2020-03-30T12:17:54.129Z]  @firebase/database: c:0:0: Realtime connection lost. 
[2020-03-30T12:17:54.129Z]  @firebase/database: c:0:0: Closing realtime connection. 
[2020-03-30T12:17:54.130Z]  @firebase/database: c:0:0: Shutting down all connections 
[2020-03-30T12:17:54.130Z]  @firebase/database: p:0: data client disconnected 
[2020-03-30T12:17:54.131Z]  @firebase/database: p:0: Window isn't visible.  Delaying reconnect. 
[2020-03-30T12:17:54.132Z]  @firebase/database: p:0: Trying to reconnect in 26213.448482952772ms 
[2020-03-30T12:17:54.137Z]  @firebase/database: event: /.info/connected:value:false 
[2020-03-30T12:17:54.142Z]  @firebase/database: 0: onDisconnectEvents 
[2020-03-30T12:17:54.490Z]  @firebase/database: p:0: Auth token refreshed 
[2020-03-30T12:18:03.898Z]  @firebase/database: p:0: Unlisten called for /usersMute/y32HASRWUyXjuuSbkOgNn84sdBO2/chapters/j2JLohKx3B3hpwVJvhqE default 
[2020-03-30T12:18:04.102Z]  @firebase/database: 0: set {"path":"/usersChapterCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/j2JLohKx3B3hpwVJvhqE","value":null,"priority":null} 
[2020-03-30T12:18:04.105Z]  @firebase/database: p:0: Buffering put: /usersChapterCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/j2JLohKx3B3hpwVJvhqE 
[2020-03-30T12:18:04.108Z]  @firebase/database: 0: update {"path":"/usersChapterPresence","value":{"y32HASRWUyXjuuSbkOgNn84sdBO2":"j2JLohKx3B3hpwVJvhqE"}} 
[2020-03-30T12:18:04.110Z]  @firebase/database: p:0: Buffering put: /usersChapterPresence 
[2020-03-30T12:18:04.130Z]  @firebase/database: p:0: Listen called for /usersLatestChapterPostSeenDate/y32HASRWUyXjuuSbkOgNn84sdBO2/j2JLohKx3B3hpwVJvhqE default 
[2020-03-30T12:18:04.155Z]  @firebase/database: 0: set {"path":"/chapterSpeakingUsers/j2JLohKx3B3hpwVJvhqE/y32HASRWUyXjuuSbkOgNn84sdBO2","value":null,"priority":null} 
[2020-03-30T12:18:04.157Z]  @firebase/database: p:0: Buffering put: /chapterSpeakingUsers/j2JLohKx3B3hpwVJvhqE/y32HASRWUyXjuuSbkOgNn84sdBO2 
[2020-03-30T12:18:04.159Z]  @firebase/database: 0: set {"path":"/chapterSpeakingUsers/j2JLohKx3B3hpwVJvhqE/y32HASRWUyXjuuSbkOgNn84sdBO2","value":null,"priority":null} 
[2020-03-30T12:18:04.161Z]  @firebase/database: p:0: Buffering put: /chapterSpeakingUsers/j2JLohKx3B3hpwVJvhqE/y32HASRWUyXjuuSbkOgNn84sdBO2 
[2020-03-30T12:18:04.162Z]  @firebase/database: 0: set {"path":"/chapterSpeakingUsers/j2JLohKx3B3hpwVJvhqE/y32HASRWUyXjuuSbkOgNn84sdBO2","value":null,"priority":null} 
[2020-03-30T12:18:04.164Z]  @firebase/database: p:0: Buffering put: /chapterSpeakingUsers/j2JLohKx3B3hpwVJvhqE/y32HASRWUyXjuuSbkOgNn84sdBO2 
[2020-03-30T12:18:04.359Z]  @firebase/database: p:0: Listen called for /chapterSpeakingUsers/j2JLohKx3B3hpwVJvhqE default 
[2020-03-30T12:18:04.376Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/lbO9MbQwz1uR4dImKjQ8:value:null 
[2020-03-30T12:18:04.384Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/umO6fltfUGoA0EcX5785:value:null 
[2020-03-30T12:18:04.394Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/nnHIPn4MY2h0OyJVeMgi:value:null 
[2020-03-30T12:18:04.402Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/jxog5m6njx5axHRJPt9u:value:null 
[2020-03-30T12:18:04.408Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/hndctC6sfO5hxUWZA5xY:value:null 
[2020-03-30T12:18:04.414Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/cSKK1C1lrPyetwMHRdrj:value:null 
[2020-03-30T12:18:04.421Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/QmlLF5ZxUilsFG5a1lm2:value:null 
[2020-03-30T12:18:04.457Z]  @firebase/database: event: /usersChapterCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/j2JLohKx3B3hpwVJvhqE:value:null 
[2020-03-30T12:18:04.534Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/lbO9MbQwz1uR4dImKjQ8:value:null 
[2020-03-30T12:18:04.537Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/umO6fltfUGoA0EcX5785:value:null 
[2020-03-30T12:18:04.538Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/nnHIPn4MY2h0OyJVeMgi:value:null 
[2020-03-30T12:18:04.540Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/jxog5m6njx5axHRJPt9u:value:null 
[2020-03-30T12:18:04.542Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/hndctC6sfO5hxUWZA5xY:value:null 
[2020-03-30T12:18:04.543Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/cSKK1C1lrPyetwMHRdrj:value:null 
[2020-03-30T12:18:04.544Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/QmlLF5ZxUilsFG5a1lm2:value:null 
[2020-03-30T12:18:04.573Z]  @firebase/database: event: /usersChapterCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/kNUAkoWHbg5qw3otp5ME:value:null 
[2020-03-30T12:18:04.615Z]  @firebase/database: event: /usersChapterCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/e7TMlumV3Oyu8K7np4fX:value:null 
[2020-03-30T12:18:04.643Z]  @firebase/database: event: /usersChapterCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/awMLpFCmIn58PYmKJEnA:value:null 
[2020-03-30T12:18:04.818Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/UjklKNuB9ch3ApcInfHq:value:0 
[2020-03-30T12:18:04.822Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/ejoS3qqwdfkmIN52K4jU:value:null 
[2020-03-30T12:18:04.824Z]  @firebase/database: event: /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/vJk2o00Pmc2sp4hJZSUz:value:0 
[2020-03-30T12:18:20.348Z]  @firebase/database: p:0: Making a connection attempt 
[2020-03-30T12:18:20.351Z]  @firebase/database: getToken() completed. Creating connection. 
[2020-03-30T12:18:20.354Z]  @firebase/database: c:0:1: Connection created 
[2020-03-30T12:18:20.359Z]  @firebase/database: c:0:1:0 Websocket connecting to wss://s-usc1c-nss-293.firebaseio.com/.ws?v=5&ls=8bOyXIHjiOw51qucAWKi3QhcnGOZmBws&ns=harpy-dev 
[2020-03-30T12:18:21.094Z]  @firebase/database: c:0:1:0 Websocket connected. 
[2020-03-30T12:18:21.099Z]  @firebase/database: c:0:1: Realtime connection established. 
[2020-03-30T12:18:21.101Z]  @firebase/database: p:0: connection ready 
[2020-03-30T12:18:21.104Z]  @firebase/database: p:0: {"r":27,"a":"auth","b":{"cred":"eyJhbGciOiJSUzI1NiIsImtpZCI6IjgzYTczOGUyMWI5MWNlMjRmNDM0ODBmZTZmZWU0MjU4Yzg0ZGI0YzUiLCJ0eXAiOiJKV1QifQ.eyJuYW1lIjoiTWl0Y2giLCJpc3MiOiJodHRwczovL3NlY3VyZXRva2VuLmdvb2dsZS5jb20vaGFycHktZGV2IiwiYXVkIjoiaGFycHktZGV2IiwiYXV0aF90aW1lIjoxNTg1MTYzMDYxLCJ1c2VyX2lkIjoieTMySEFTUldVeVhqdXVTYmtPZ05uODRzZEJPMiIsInN1YiI6InkzMkhBU1JXVXlYanV1U2JrT2dObjg0c2RCTzIiLCJpYXQiOjE1ODU1NzA2NzYsImV4cCI6MTU4NTU3NDI3NiwiZW1haWwiOiJtaXRjaEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsImZpcmViYXNlIjp7ImlkZW50aXRpZXMiOnsiZW1haWwiOlsibWl0Y2hAZ21haWwuY29tIl19LCJzaWduX2luX3Byb3ZpZGVyIjoicGFzc3dvcmQifX0.ZtNwzs_xsFWvlQ-jvfGPX_zT38AyugOJgj2yQCCG8PM8mR6Xw3Wiz0DPYm229Tjtivy9h71tyK5CstX8U1TbDGKr_EUTYQrsqs0HQ4-FvPj39qm8NbeFLFRcGoeH2nQsahFTr0BGGJn5QqQxM0EFfeZ8v2u-6LVfvivFDAs51Nf0m9GQTQNvHChaYEy5TvBQS_iCrpy0rxlSqDURM1HMGHVhyCUFCFN7tWhVPFK37XKLgZYqT99XrHtH2TS2_wTXZE0eGw3PnE3IFknF1n5U5w2TJtqdbVsM_guD8F-ww8TmPngdzmaxRJx-Wg2N_OQ8ugMcXcQNos5LoapnEtJjnw"}} 
[2020-03-30T12:18:21.109Z]  @firebase/database: p:0: Listen on /usersChapterCounter/y32HASRWUyXjuuSbkOgNn84sdBO2 for default 
[2020-03-30T12:18:21.115Z]  @firebase/database: p:0: {"r":28,"a":"q","b":{"p":"/usersChapterCounter/y32HASRWUyXjuuSbkOgNn84sdBO2","h":"nJwkLRRwLOcvaZea/Pgq6nHDbGo="}} 
[2020-03-30T12:18:21.116Z]  @firebase/database: p:0: Listen on /usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2 for default 
[2020-03-30T12:18:21.120Z]  @firebase/database: p:0: {"r":29,"a":"q","b":{"p":"/usersChatCounter/y32HASRWUyXjuuSbkOgNn84sdBO2","h":"qVmFCXUct62kRLkFtfRX5/2BFfo="}} 
[2020-03-30T12:18:21.121Z]  @firebase/database: p:0: Listen on /_site_down_timestamp for default 
[2020-03-30T12:18:21.122Z]  @firebase/database: p:0: {"r":30,"a":"q","b":{"p":"/_site_down_timestamp","h":""}} 
[2020-03-30T12:18:21.123Z]  @firebase/database: p:0: Listen on /_maintenance_immune_userUid for default 
[2020-03-30T12:18:21.124Z]  @firebase/database: p:0: {"r":31,"a":"q","b":{"p":"/_maintenance_immune_userUid","h":""}} 
[2020-03-30T12:18:21.125Z]  @firebase/database: p:0: Listen on /usersStatus/fhT7bR6yk4NVhoxnmf9ceYVoJiF2 for default 
[2020-03-30T12:18:21.126Z]  @firebase/database: p:0: {"r":32,"a":"q","b":{"p":"/usersStatus/fhT7bR6yk4NVhoxnmf9ceYVoJiF2","h":"iVBYsgYQaC5D87DdpvcTU8bnLQo="}} 
[2020-03-30T12:18:21.127Z]  @firebase/database: p:0: Listen on /usersStatus/8ZoJUXWrq7aTf240R1HI4nvEi8w2 for default 
[2020-03-30T12:18:21.128Z]  @firebase/database: p:0: {"r":33,"a":"q","b":{"p":"/usersStatus/8ZoJUXWrq7aTf240R1HI4nvEi8w2","h":"BxGGNRxrXwX/RjLLD2Z0XKpW6O0="}} 
[2020-03-30T12:18:21.129Z]  @firebase/database: p:0: Listen on /usersStatus/LrqL6dfN6hYOefRLTWqPLZSSoY13 for default 
[2020-03-30T12:18:21.130Z]  @firebase/database: p:0: {"r":34,"a":"q","b":{"p":"/usersStatus/LrqL6dfN6hYOefRLTWqPLZSSoY13","h":"iVBYsgYQaC5D87DdpvcTU8bnLQo="}} 
[2020-03-30T12:18:21.131Z]  @firebase/database: p:0: Listen on /usersStatus/VYkSz743L9NAdf51I9ezFWdtEu03 for default 
[2020-03-30T12:18:21.132Z]  @firebase/database: p:0: {"r":35,"a":"q","b":{"p":"/usersStatus/VYkSz743L9NAdf51I9ezFWdtEu03","h":"BxGGNRxrXwX/RjLLD2Z0XKpW6O0="}} 
[2020-03-30T12:18:21.133Z]  @firebase/database: p:0: Listen on /usersLatestChapterPostSeenDate/y32HASRWUyXjuuSbkOgNn84sdBO2/j2JLohKx3B3hpwVJvhqE for default 
[2020-03-30T12:18:21.134Z]  @firebase/database: p:0: {"r":36,"a":"q","b":{"p":"/usersLatestChapterPostSeenDate/y32HASRWUyXjuuSbkOgNn84sdBO2/j2JLohKx3B3hpwVJvhqE","h":""}} 
[2020-03-30T12:18:21.135Z]  @firebase/database: p:0: Listen on /chapterSpeakingUsers/j2JLohKx3B3hpwVJvhqE for default 
[2020-03-30T12:18:21.136Z]  @firebase/database: p:0: {"r":37,"a":"q","b":{"p":"/chapterSpeakingUsers/j2JLohKx3B3hpwVJvhqE","h":""}} 
[2020-03-30T12:18:21.137Z]  @firebase/database: p:0: {"r":38,"a":"p","b":{"p":"/usersChapterCounter/y32HASRWUyXjuuSbkOgNn84sdBO2/j2JLohKx3B3hpwVJvhqE","d":null}} 
[2020-03-30T12:18:21.138Z]  @firebase/database: p:0: {"r":39,"a":"m","b":{"p":"/usersChapterPresence","d":{"y32HASRWUyXjuuSbkOgNn84sdBO2":"j2JLohKx3B3hpwVJvhqE"}}} 
[2020-03-30T12:18:21.140Z]  @firebase/database: p:0: {"r":40,"a":"p","b":{"p":"/chapterSpeakingUsers/j2JLohKx3B3hpwVJvhqE/y32HASRWUyXjuuSbkOgNn84sdBO2","d":null}} 
[2020-03-30T12:18:21.140Z]  @firebase/database: p:0: {"r":41,"a":"p","b":{"p":"/chapterSpeakingUsers/j2JLohKx3B3hpwVJvhqE/y32HASRWUyXjuuSbkOgNn84sdBO2","d":null}} 
[2020-03-30T12:18:21.141Z]  @firebase/database: p:0: {"r":42,"a":"p","b":{"p":"/chapterSpeakingUsers/j2JLohKx3B3hpwVJvhqE/y32HASRWUyXjuuSbkOgNn84sdBO2","d":null}} 
[2020-03-30T12:18:21.142Z]  @firebase/database: event: /.info/connected:value:true 
[2020-03-30T12:18:21.145Z]  @firebase/database: 0: update {"path":"/usersStatus","value":{"y32HASRWUyXjuuSbkOgNn84sdBO2":"online"}} 
[2020-03-30T12:18:21.146Z]  @firebase/database: p:0: {"r":43,"a":"m","b":{"p":"/usersStatus","d":{"y32HASRWUyXjuuSbkOgNn84sdBO2":"online"}}} 
[2020-03-30T12:18:21.268Z]  @firebase/database: p:0: from server: {"r":27,"b":{"s":"ok","d":{"auth":{"name":"Mitch","email_verified":false,"provider":"password","email":"mitch@gmail.com","user_id":"y32HASRWUyXjuuSbkOgNn84sdBO2","token":{"name":"Mitch","email_verified":false,"email":"mitch@gmail.com","exp":1585574276,"user_id":"y32HASRWUyXjuuSbkOgNn84sdBO2","iat":1585570676,"sub":"y32HASRWUyXjuuSbkOgNn84sdBO2","aud":"harpy-dev","auth_time":1585163061,"iss":"https://securetoken.google.com/harpy-dev","firebase":{"identities":{"email":["mitch@gmail.com"]},"sign_in_provider":"password"}},"uid":"y32HASRWUyXjuuSbkOgNn84sdBO2"},"expires":1585574276}}} 
[2020-03-30T12:18:21.270Z]  @firebase/database: c:0:1: Primary connection is healthy. 
[2020-03-30T12:18:21.272Z]  @firebase/database: p:0: from server: {"r":28,"b":{"s":"ok","d":{}}} 
[2020-03-30T12:18:21.273Z]  @firebase/database: p:0: listen response {"s":"ok","d":{}} 
[2020-03-30T12:18:21.278Z]  @firebase/database: p:0: from server: {"r":29,"b":{"s":"ok","d":{}}} 
[2020-03-30T12:18:21.279Z]  @firebase/database: p:0: listen response {"s":"ok","d":{}} 
[2020-03-30T12:18:21.282Z]  @firebase/database: p:0: from server: {"r":30,"b":{"s":"ok","d":{}}} 
[2020-03-30T12:18:21.283Z]  @firebase/database: p:0: listen response {"s":"ok","d":{}} 
[2020-03-30T12:18:21.284Z]  @firebase/database: p:0: from server: {"r":31,"b":{"s":"ok","d":{}}} 
[2020-03-30T12:18:21.285Z]  @firebase/database: p:0: listen response {"s":"ok","d":{}} 
[2020-03-30T12:18:21.287Z]  @firebase/database: p:0: from server: {"r":32,"b":{"s":"ok","d":{}}} 
[2020-03-30T12:18:21.287Z]  @firebase/database: p:0: listen response {"s":"ok","d":{}} 
[2020-03-30T12:18:21.289Z]  @firebase/database: p:0: from server: {"r":33,"b":{"s":"ok","d":{}}} 
[2020-03-30T12:18:21.290Z]  @firebase/database: p:0: listen response {"s":"ok","d":{}} 
[2020-03-30T12:18:21.291Z]  @firebase/database: p:0: from server: {"r":34,"b":{"s":"ok","d":{}}} 
[2020-03-30T12:18:21.292Z]  @firebase/database: p:0: listen response {"s":"ok","d":{}} 
[2020-03-30T12:18:21.293Z]  @firebase/database: p:0: from server: {"r":35,"b":{"s":"ok","d":{}}} 
[2020-03-30T12:18:21.294Z]  @firebase/database: p:0: listen response {"s":"ok","d":{}} 
[2020-03-30T12:18:21.296Z]  @firebase/database: p:0: handleServerMessage d {"p":"usersLatestChapterPostSeenDate/y32HASRWUyXjuuSbkOgNn84sdBO2/j2JLohKx3B3hpwVJvhqE","d":"2020-03-25T19:23:58.777Z"} 
[2020-03-30T12:18:21.298Z]  @firebase/database: event: /usersLatestChapterPostSeenDate/y32HASRWUyXjuuSbkOgNn84sdBO2/j2JLohKx3B3hpwVJvhqE:value:"2020-03-25T19:23:58.777Z" 
[2020-03-30T12:18:21.300Z]  @firebase/database: p:0: Unlisten called for /usersLatestChapterPostSeenDate/y32HASRWUyXjuuSbkOgNn84sdBO2/j2JLohKx3B3hpwVJvhqE default 
[2020-03-30T12:18:21.301Z]  @firebase/database: p:0: Unlisten on /usersLatestChapterPostSeenDate/y32HASRWUyXjuuSbkOgNn84sdBO2/j2JLohKx3B3hpwVJvhqE for default 
[2020-03-30T12:18:21.302Z]  @firebase/database: p:0: {"r":44,"a":"n","b":{"p":"/usersLatestChapterPostSeenDate/y32HASRWUyXjuuSbkOgNn84sdBO2/j2JLohKx3B3hpwVJvhqE"}} 
[2020-03-30T12:18:21.334Z]  @firebase/database: p:0: from server: {"r":36,"b":{"s":"ok","d":{}}} 
[2020-03-30T12:18:21.336Z]  @firebase/database: p:0: from server: {"r":37,"b":{"s":"ok","d":{}}} 
[2020-03-30T12:18:21.336Z]  @firebase/database: p:0: listen response {"s":"ok","d":{}} 
[2020-03-30T12:18:21.337Z]  @firebase/database: event: /chapterSpeakingUsers/j2JLohKx3B3hpwVJvhqE:value:null 
[2020-03-30T12:18:21.339Z]  @firebase/database: p:0: from server: {"r":38,"b":{"s":"ok","d":""}} 
[2020-03-30T12:18:21.340Z]  @firebase/database: p:0: p response {"s":"ok","d":""} 
[2020-03-30T12:18:21.342Z]  @firebase/database: p:0: from server: {"r":39,"b":{"s":"ok","d":""}} 
[2020-03-30T12:18:21.342Z]  @firebase/database: p:0: m response {"s":"ok","d":""} 
[2020-03-30T12:18:21.343Z]  @firebase/database: p:0: from server: {"r":40,"b":{"s":"ok","d":""}} 
[2020-03-30T12:18:21.343Z]  @firebase/database: p:0: p response {"s":"ok","d":""} 
[2020-03-30T12:18:21.344Z]  @firebase/database: p:0: from server: {"r":41,"b":{"s":"ok","d":""}} 
[2020-03-30T12:18:21.344Z]  @firebase/database: p:0: p response {"s":"ok","d":""} 
[2020-03-30T12:18:21.345Z]  @firebase/database: p:0: from server: {"r":42,"b":{"s":"ok","d":""}} 
[2020-03-30T12:18:21.345Z]  @firebase/database: p:0: p response {"s":"ok","d":""} 
[2020-03-30T12:18:21.346Z]  @firebase/database: p:0: from server: {"r":43,"b":{"s":"ok","d":""}} 
[2020-03-30T12:18:21.346Z]  @firebase/database: p:0: m response {"s":"ok","d":""} 
[2020-03-30T12:18:21.418Z]  @firebase/database: p:0: from server: {"r":44,"b":{"s":"ok","d":""}} 
mparpaillon commented 4 years ago

Apparently waiting ~10min is enough to reproduce. Several of my users are having this issue and randomly don't see any chat message.

mparpaillon commented 4 years ago

Hi @thebrianchen Could you reopen this issue please? I've added more logs and it looks like a RTDB issue.

thebrianchen commented 4 years ago

Reopening and assigning to database team.

scottcrossen commented 4 years ago

@wilhuff Could you reopen this issue please? The problem seems to be in the firebase RTDB.

Capture d’écran 2020-03-30 à 12 20 11

After being inactive for 30min this query to RTDB returns a 400. Is the session expired or something ?

GET https://firestore.googleapis.com/google.firestore.v1.Firestore/Listen/channel?database=projects%2Fharpy-dev%2Fdatabases%2F(default)&gsessionid=Aw3wL2PtWVvgz06FBs-puhwZoULc6TiH&VER=8&RID=rpc&SID=WJjV6Bg7ryDiLJ6dcm11Rw&CI=0&AID=338&TYPE=xmlhttp&zx=eph212c6o9gu&t=1 net::ERR_ABORTED 400

Why do you think this is a problem with the RTDB? I read "firestore" there and not anything related to the realtime database.

mparpaillon commented 4 years ago

My bad @scottcrossen The 400 was firestore related but the rest is not. It's really the call to RTDB which freezes everything, as you can see in the latest logs I shared. (also the 400 doesn't always happen, whereas the RTDB websocket disconnect is happening everytime)

So I'm pretty sure that's what is causing the issue. I've added console.logs before and after the call so I know for sure that this is the one freezing the whole page and preventing the posts to appear.

I also tried bypassing angularfire to be sure that's a firebase issue and the problem was the same

scottcrossen commented 4 years ago

I am a backend developer so it looks like I was incorrectly triaged on this one. The RTDB backend is doing fine. It's clear that this is a client issue and is actually a mechanic of the SDK itself in an attempt to enforce reconnect backoff when the client isn't in use. Again, the TTL you seem to be encountering isn't based on web-socket initialization or networking. Perhaps you could try to modify your app to disconnect when window isn't visible. You can also look at the open source repo and suggest changes via a formal open-source contribution. You are also welcome to ask someone with blame on the file to look at it.

Again, I have no domain knowledge here so am not very helpful for which I apologize

mparpaillon commented 4 years ago

No problem @scottcrossen If you know who could help on this issue please assign.

Same issue here but nobody answered for some reason: https://stackoverflow.com/questions/57666725/websocket-getting-disconnected-when-app-in-background

Or here where the "solution" would be to enable long polling ? Does not seem like a good idea https://stackoverflow.com/questions/50589809/firebase-database-looses-websocket-connection-which-results-in-delays

Here the advice sounds like "Have you tried to turn off and on again ?". And sadly this is the best idea so far. I'm going to give it a try https://github.com/firebase/firebase-js-sdk/issues/540

Then they suggest to do.... this:

for (var key in localStorage) {
    if (key.includes('firebaseio.com')) {
      localStorage.removeItem(key);
    }
}

Come on...

Also here they say to ignore the error message... Waiting the data for 30scd is apparently perfectly normal https://stackoverflow.com/questions/12421993/firebase-websocket-is-closed-before-the-connection-is-established

This is a real unsolved issue. Would be nice to take it seriously.

mparpaillon commented 4 years ago

@thebrianchen Looks like firebase SDK is relying on the Page Visibility API a lot, but it looks like it's not reliable at all in some situations. Hence all those issues. I've added the following code

document.addEventListener('visibilitychange', () => {
  if (document.hidden) {
    console.log('document is hidden');
  } else {
    firebase.database().goOnline();
    console.log('document is showing');
  }
});

Then I went to the page, tried to reduce chrome on my phone (Android), open it again, close again, etc. And everything worked fine. Then I waited for like 10min with Chrome hidden and when I open again the visibilitychange was not triggered.

I might be able to create a repo so you can reproduce the issue.

So here, this event is not triggered https://github.com/firebase/firebase-js-sdk/blob/e0629330c71f7468fdf7a0d31bc0fae7b1ab4524/packages/database/src/core/PersistentConnection.ts#L159

So isVisible_ is not set to true

So the connection is not established again https://github.com/firebase/firebase-js-sdk/blob/e0629330c71f7468fdf7a0d31bc0fae7b1ab4524/packages/database/src/core/PersistentConnection.ts#L704-L705

mparpaillon commented 4 years ago

Ok so this is pretty easy to reproduce actually

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Test</title>
  <base href="/">
<body>
  <script>
    document.addEventListener('visibilitychange', () => {
      if (document.hidden) {
        console.log('======================================== document is hidden');
      } else {
        console.log('======================================== document is showing');
      }
    });
  </script>
</body>
</html>
Capture d’écran 2020-04-02 à 11 06 19

The event is not triggered after waiting 10min with chrome reduced on Android. (See I've been able to trigger the "hidden" log twice without triggering the "showing" log in between)

So you'll tell me that's a Chrome issue, not a Firebase issue, but since you're relying on this event, this becomes a Firebase issue.

mparpaillon commented 4 years ago

And here is the Chromium issue: https://bugs.chromium.org/p/chromium/issues/detail?id=1018601&q=visibilitychange&can=2

So what should we do since they haven't fix this bug since October?

thebrianchen commented 4 years ago

@mparpaillon Unfortunately, given that the issue is in Chrome, there really isn't much else we can do to raise visibility events. Long polling is generally used when trying to send traffic over proxies or firewalls and buffer responses before sending them, so it's not applicable to your scenario.

We can keep this issue open until the Chrome fixes this bug. Until then, a potential workaround is to use Firestore's network access, which polls and tries to reconnect when the network is offline, rather than relying on the visibility event.

mparpaillon commented 4 years ago

I don't understand the workaround. Is there an event I should listen to to reconnect to Firebase? I mean, would this event be fired when the tab goes inactive on Chrome Android?

thebrianchen commented 4 years ago

If you are using RTDB, there isn't much we can do until the Chrome issue with the Page Visibility API is fixed, since RTDB relies on it when reconnecting. As long as the visibility event isn't fired, RTDB will continue to stay offline, causing the delays you mentioned.

The workaround I mentioned was to use Firestore instead of RTDB. Rather than relying on the Page Visibility API to reestablish connectivity, Firestore will periodically retry until it regains its connection, so queries made in Firestore will not be affected by the Chrome issue. Unfortunately, this workaround will require you to migrate your data from RTDB to Firestore. In the meantime, I've reached out to the owners of the Chrome issue, and I hope it gets fixed soon. Sorry for the inconvenience!

jahooma commented 4 years ago

We've had this problem for months and it's been hard to track down. I hope the Chrome team fixes the visibility api bug soon!

In the meantime, here's the workaround I came up with, which fires the missing 'visibilitychange' event:

let prevHidden = false

setInterval(() => {
    if (document.hidden !== prevHidden) {
        prevHidden = document.hidden

        if (!document.hidden) {
            firebase.database().ref('.info/connected’).once('value', snap => {
                let isOffline = snap.val() === false

                if (isOffline) {
                    document.dispatchEvent(new Event('visibilitychange'))
                }
            })
        }
    }
}, 10 * 1000)

Because document.hidden still seems to be reliable, you can run a setInterval to simulate a visibility change detector. Then you fire the visibility change event if you are offline, and everything just works in my (very limited) testing!

I hope this can help someone else. Cheers.

mparpaillon commented 4 years ago

@jahooma Thx. I'll give it a try

mparpaillon commented 4 years ago

Message from the Chrome issue

Ok, did some digging and I think I found the root cause, we should be able to get the fix into M84.

In the meantime, you can listen to document.onresume and reestablish connection when you get this event.

Source: https://bugs.chromium.org/p/chromium/issues/detail?id=1018601#c16

mparpaillon commented 4 years ago

Ok here' the fix:

document.addEventListener('resume', () => {
  document.dispatchEvent(new Event('visibilitychange'));
});

The freeze event is called several minutes after a tab became inactive (~5min for me). Then (and only then) the resume event is called once the app is active again. This event works well, unlike visibilitychange, so we dispatch it manually.

I haven't seen the bug since I used this. Hopefully this will handle this issue until they fix it in M84.

Source: https://developers.google.com/web/updates/2018/07/page-lifecycle-api