Patch Changes
-
fix(db): compile filter expression once in createFilterFunctionFromExpression (#954)
Fixed a performance issue in
createFilterFunctionFromExpressionwhere the expression was being recompiled on every filter call. This only affected realtime change event filtering for pushed-down predicates at the collection level when using orderBy + limit. The core query engine was not affected as it already compiled predicates once. -
fix(query-db-collection): use deep equality for object field comparison in query observer (#967)
Fixed an issue where updating object fields (non-primitives) with
refetch: falseinonUpdatehandlers would cause the value to rollback to the previous state every other update. The query observer was using shallow equality (===) to compare items, which compares object properties by reference rather than by value. This caused the observer to incorrectly detect differences and write stale data back to syncedData. Now usesdeepEqualsfor proper value comparison.