From bf1b709a2d093633bbb7d634ecddd00c0a34bc6e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 1 Jul 2026 13:44:41 +0000 Subject: [PATCH] Version Packages --- .changeset/fix-move-in-lsn-filtering.md | 11 ----------- packages/pglite-sync/CHANGELOG.md | 11 +++++++++++ packages/pglite-sync/package.json | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) delete mode 100644 .changeset/fix-move-in-lsn-filtering.md diff --git a/.changeset/fix-move-in-lsn-filtering.md b/.changeset/fix-move-in-lsn-filtering.md deleted file mode 100644 index 85bb5eaea..000000000 --- a/.changeset/fix-move-in-lsn-filtering.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"@electric-sql/pglite-sync": patch ---- - -Fix move-in messages from tagged_subqueries not being synced - -This fixes two issues with move-in messages from Electric's `tagged_subqueries` feature: - -1. **LSN filtering bypass**: Move-in messages don't include an LSN header because they originate from direct database queries rather than the PostgreSQL replication stream. Previously, these messages were being filtered out as "already seen" because the missing LSN defaulted to 0. This fix checks for the `is_move_in` header and bypasses LSN filtering for these messages. - -2. **Duplicate key handling**: Move-in data can overlap with data from the initial sync (e.g., when a row "moves in" to match a subquery that it already matched during initial sync). This fix uses `ON CONFLICT DO UPDATE` for move-in inserts to handle these duplicates gracefully, updating the row with the latest data instead of erroring. diff --git a/packages/pglite-sync/CHANGELOG.md b/packages/pglite-sync/CHANGELOG.md index bed636ebf..6293b606b 100644 --- a/packages/pglite-sync/CHANGELOG.md +++ b/packages/pglite-sync/CHANGELOG.md @@ -1,5 +1,16 @@ # @electric-sql/pglite-sync +## 0.6.4 + +### Patch Changes + +- af37b02: Fix move-in messages from tagged_subqueries not being synced + + This fixes two issues with move-in messages from Electric's `tagged_subqueries` feature: + + 1. **LSN filtering bypass**: Move-in messages don't include an LSN header because they originate from direct database queries rather than the PostgreSQL replication stream. Previously, these messages were being filtered out as "already seen" because the missing LSN defaulted to 0. This fix checks for the `is_move_in` header and bypasses LSN filtering for these messages. + 2. **Duplicate key handling**: Move-in data can overlap with data from the initial sync (e.g., when a row "moves in" to match a subquery that it already matched during initial sync). This fix uses `ON CONFLICT DO UPDATE` for move-in inserts to handle these duplicates gracefully, updating the row with the latest data instead of erroring. + ## 0.6.3 ### Patch Changes diff --git a/packages/pglite-sync/package.json b/packages/pglite-sync/package.json index db5a29568..541b487f3 100644 --- a/packages/pglite-sync/package.json +++ b/packages/pglite-sync/package.json @@ -1,6 +1,6 @@ { "name": "@electric-sql/pglite-sync", - "version": "0.6.3", + "version": "0.6.4", "description": "Postgres Sync for PGlite", "type": "module", "private": false,