···11----
22-"@atmo-dev/contrail-appview": patch
33----
44-55-Stop accumulating duplicate FTS rows when records are re-applied during backfill.
66-77-The FTS-sync path only deleted an existing FTS row before inserting when the
88-record was already in `existingMap`. Backfill runs with `skipReplayDetection`,
99-which leaves `existingMap` empty, so every re-applied record looked brand-new
1010-and appended another FTS row. The FTS virtual table has no uniqueness
1111-constraint, so these accumulated, and the search JOIN fanned each event out into
1212-one result row per duplicate. Make the delete-then-insert unconditional so FTS
1313-sync is idempotent regardless of replay detection.
1414-1515-The unconditional delete also evicts a stale FTS row when an update clears all
1616-searchable fields: in that case there is no content to re-insert, but the prior
1717-row must still be removed so old terms stop matching.
+22
packages/contrail-appview/CHANGELOG.md
···11# @atmo-dev/contrail-appview
2233+## 0.12.2
44+55+### Patch Changes
66+77+- 32ace91: Stop accumulating duplicate FTS rows when records are re-applied during backfill.
88+99+ The FTS-sync path only deleted an existing FTS row before inserting when the
1010+ record was already in `existingMap`. Backfill runs with `skipReplayDetection`,
1111+ which leaves `existingMap` empty, so every re-applied record looked brand-new
1212+ and appended another FTS row. The FTS virtual table has no uniqueness
1313+ constraint, so these accumulated, and the search JOIN fanned each event out into
1414+ one result row per duplicate. Make the delete-then-insert unconditional so FTS
1515+ sync is idempotent regardless of replay detection.
1616+1717+ The unconditional delete also evicts a stale FTS row when an update clears all
1818+ searchable fields: in that case there is no content to re-insert, but the prior
1919+ row must still be removed so old terms stop matching.
2020+2121+ - @atmo-dev/contrail-base@0.12.2
2222+ - @atmo-dev/contrail-authority@0.12.2
2323+ - @atmo-dev/contrail-record-host@0.12.2
2424+325## 0.12.1
426527### Patch Changes