{"items":[{"id":"9c69f65f-85b6-4c41-80ff-5166f8dcbb10","type":"pull_request","org":"TanStack","repo":"db","title":"Fix LiveQuery subset logic offline","summary":"Fixes a predicate-subset bug where `and(eq, isNull)` wasn’t recognized as a subset of an OR superset, which could leave LiveQuery stuck “not ready” when offline in on-demand mode; this is done by reordering `isWhereSubsetInternal` checks so OR handling happens before AND decomposition. It also improves debugging by isolating `forceDisconnectAndRefresh` in its own try/catch so failures aren’t mislabeled as snapshot request errors. Main concerns are logical-regression risk from changing evaluation order in subset checks (potentially affecting other predicate combinations) and ensuring the new error-handling path doesn’t mask actionable failures beyond the intended deadlock/refresh optimization case.","url":"https://nomit.dev/TanStack/db/status/67116b340a6038466c440fd2d04a8104e9c2071eb7c224e72d495c75e810d781","author":"KyleAMathews","contributors":["KyleAMathews","claude","autofix-ci[bot]"],"updated_at":"2026-02-20T18:48:47+00:00"},{"id":"f99a7b88-5d77-4496-b05e-c79fd05db5ed","type":"pull_request","org":"TanStack","repo":"db","title":"Fix collection utils type inference","summary":"Tightens TypeScript typing for collection utilities across Electric, Trailbase, PowerSync, and local-only collections so utils retain their concrete types through createCollection (especially when handler callbacks like onInsert/onUpdate/onDelete are present), and adds type-level tests to prevent regressions. This improves developer experience and correctness by avoiding widened UtilsRecord types and enabling safer autocomplete/compile-time guarantees across adapters. Main concerns are potential breaking type changes for downstream consumers relying on the previous widened behavior, plus the risk that overload/inference tweaks could expose new edge-case typing conflicts across different collection config shapes despite tests passing.","url":"https://nomit.dev/TanStack/db/status/9aef7b0709e909b26881c0512a912c037e9e26572db0d0b3b7382a250945df58","author":"kevin-dp","contributors":["kevin-dp","autofix-ci[bot]"],"updated_at":"2026-02-18T17:30:58+00:00"},{"id":"395a4821-8fac-4936-9739-7d0a95bdab23","type":"pull_request","org":"TanStack","repo":"db","title":"SQL LIKE matches newlines now","summary":"Fixes a bug where `like`/`ilike` patterns using `%` and `_` failed to match values containing newline characters by enabling the RegExp dotAll (`s`) flag, aligning behavior with SQL LIKE semantics. This improves correctness of query filtering and adds both unit and e2e coverage plus a patch changeset. Main concern is reliance on duplicated `evaluateLike` logic (fixed in two places) and ensuring dotAll flag support/consistency across all target JS runtimes; otherwise behavior could diverge or regress.","url":"https://nomit.dev/TanStack/db/status/b219f375beda14254d28a47b2263da1a6a62577aebbbe7f6cc1f82dc224018f1","author":"ldirer","contributors":["ldirer","claude"],"updated_at":"2026-02-18T17:30:56+00:00"},{"id":"0ace59af-62d2-42b4-a2fa-dd41a47575ff","type":"pull_request","org":"TanStack","repo":"db","title":"Local-only tx mutations now persist","summary":"Fixes manual transaction support for local-only collections by adding a `utils.acceptMutations(transaction)` helper that correctly filters mutations by collection ID and synchronously confirms them so optimistic changes become durable. This resolves cases where manual transactions would silently drop local-only mutations after `mutationFn` completed, and adds test coverage for mixed/manual-transaction scenarios. Concerns: the new confirmation path writes mutations through sync synchronously and relies on stable collection IDs—calling `acceptMutations` at the wrong time or misuse across collections could lead to unexpected persistence or ordering/duplication edge cases, so the API needs careful documentation and usage discipline.","url":"https://nomit.dev/TanStack/db/status/9d489ffec59ab826ac671fad0c1b1d4e6bdb37c982babb5dbe3cd4419747d97a","author":"kevin-dp","contributors":["kevin-dp","marbemac","autofix-ci[bot]"],"updated_at":"2026-02-18T17:30:54+00:00"},{"id":"18f65904-814e-4694-8e56-83c7efe7f953","type":"pull_request","org":"TanStack","repo":"db","title":"Fix LEFT JOIN WHERE filter bug","summary":"Fixes a query-optimizer bug where pushing single-source WHERE predicates into the nullable side of an outer join changed semantics, causing `.where(({ r }) => isUndefined(r?.payload))` after a `leftJoin` to keep all left rows by stripping matched right rows to `undefined` instead of filtering them out. This restores correct post-join filtering behavior for LEFT/RIGHT/FULL joins, adds targeted regression tests, and should prevent incorrect query results in affected join+filter patterns. Main concern is that reducing predicate pushdown on nullable join sides could impact performance or alter plans for some queries, so it’s worth watching for optimizer regressions and ensuring coverage across more complex outer-join/filter combinations.","url":"https://nomit.dev/TanStack/db/status/261e46eb33945f71669726e42c437d7f92421e12f84df0b97252e9e415dc3754","author":"kevin-dp","contributors":["kevin-dp","autofix-ci[bot]"],"updated_at":"2026-02-18T17:30:51+00:00"}],"pagination":{"offset":0,"limit":5,"has_more":true}}