Why is JetAdmin loading EVERY firestore record EVERY page load? Am i taking crazy pills?

Tell me I’m doing something wrong.

Add a “table view” of a document collection. (set the page load to 10)

This is JUST me, JUST testing by the way… no users yet.


Screen Shot 2023-07-14 at 6.00.57 PM

Someone please tell me what JetAdmin is THINKING with this setup. If it’s user error please let me know how to fix this… absolutely unusable if this is the case.

1 Like

Yo Sean, How did this end?

I’ve just spent my first hour playing with Jet Admin and whilst promising, I’ve also seen this same thing. It concerns me that this hasn’t had a response or fix since last year.

I’ve got a fresh new collection with 5 rows of basic test data. All I did was built a table in Jet admin and edited 4 rows through a form! No joke.

Firestore has consumed 3k reads! What the hell?

The pricing on Firestore kicks in at 50K reads/day.

How can I possibly build a admin here? I haven’t even got any data yet. Let alone at scale. This is problematic. What’s going on?

Hi everybody, yes we are aware of this issue,
The team currently is working on it and doing further investigations. ​
Thank you for reporting to us. :slightly_smiling_face:

Hi @calm_palm have you used Firebase only in Sync mode? or have you connected in Direct mode as well? Direct mode will use much more Firebase quota.

Also note that Firebase counts read for every document, not for every request.

Also realtime sync updates also counts as read (according to Firebase docs Understand Cloud Firestore billing  |  Firebase).

Hi. I used Sync mode. So we can expect to use even more reads in direct mode!

I only 5 documents in the collection. It can’t be much smaller. It doesn’t look promising. Are other database connections more optimised?

@calm_palm This question is related to Firestore integration only since Firestore has rather strict billing policy. Other integrations does not have such billing policy. And it’s not a question of more/less optimization I believe because Firestore does not provide options to make it more optimized for any user. You can check how usage is calculated in their documentation (Usage and limits  |  Firestore  |  Firebase).

Most important parts in short:

  • During fetch data they charge for every record (!). For sync mode it means every 24 hours resync will perform “number of total records” reads.
  • To implement real-time sync we use data listeners. When listener initializes it receives database snapshot (Firestore counts it as “number of total records” reads), changes afterwards trigger sending of new snapshots (which also counts as “number of total records” reads).
  • We could implement realtime sync based on “Functions” feature, but it is not available in Free Firestore plan.

Usually this problem is actual for “free” firestore plan. For paid plans they have more limits.
Btw, direct mode can use less Firebase quota in case of frequently changing database.