Ya hice un post pero este se cerró. También encontré esta publicación que es más o menos el mismo error que recibí.
Ahora recibí el mismo error por otro motivo y todavía no puedo encontrar ninguna respuesta en la red. Estoy usando la base de datos en tiempo real y tengo un nodo en la base de datos que se ve así:
private: { $user_uid: { formula: { formula_quota:30, quota_used:0 } } }Uso un botón para publicar algunos datos y ejecutar una transacción para obtener el objeto de cuota y actualizarlo cuando finaliza la publicación.
No publicaré el código que no se usa o comenta, pero la transacción de cuota es así:
quotaTransaction ( userUID:string, projectUID:string, state:EditorState, asObject:boolean, asProject:boolean ) { const quotaPath = `/private/${ userUID }/formula`; const quotaDoc = ref( this.db, quotaPath ); runTransaction( quotaDoc, quota => { let nbPublish = 0; if ( asObject ) nbPublish++; if ( asProject ) nbPublish++; let quotaUsed = quota.quota_used; let formulaQuota = quota.formula_quota; if ( nbPublish + quotaUsed > formulaQuota ) return ( undefined ); return ( { quota_used: quotaUsed + nbPublish, formula_quota:formulaQuota } ); } ).catch( console.log ); }la primera vez que ejecuto la transacción de cuota me sale este error
RangeError: se excedió el tamaño máximo de la pila de llamadas en ChildrenNode.isLeafNode (vendor.js:52413:13) en ChildrenNode.equals (vendor.js:20990:22) en ChildrenNode.equals (vendor.js:20995:31) en ChildrenNode.equals (vendor.js:20995:31) en ChildrenNode.equals (vendor.js:20995:31) en ChildrenNode.equals (vendor.js:20995:31) en ChildrenNode.equals (vendor.js:20995:31) en ChildrenNode .equals (vendedor.js:20995:31) en ChildrenNode.equals (vendedor.js:20995:31) en ChildrenNode.equals (vendedor.js:20995:31)
la segunda vez que lo ejecuto me sale:
TypeError: childPathObj.split no es una función en pathChild (vendor.js:17766:38) en ImmutableTree.findRootMostMatchingPathAndValue (vendor.js:23435:30) en ImmutableTree.findRootMostMatchingPathAndValue (vendor.js:23432:51) en ImmutableTreePathAndValueMatchingRootMostMatchingRoot (vendor.js:23432:51) en ImmutableTree.findRootMostValueAndPath (vendor.js:23456:17) en compoundWriteGetCompleteNode (vendor.js:55532:45) en compoundWriteChildCompoundWrite (vendor.js:55574:27) en writeTreeCalcCompleteEventCache (vendor.js :55887:19) en syncTreeCalcCompleteEventCache (vendor.js:57565:10) en repoGetLatestState (vendor.js:59219:10)
¿Alguna pista, tal vez el equipo de Firebase pueda ayudarme?