immich/server
Claude (thor) bd967ce5e4 refactor(server): collapse duplicated sync stream handlers
The sync service hand-rolled the same delete/upsert/backfill/create stream
loops across ~27 per-entity handlers. Extract four typed helpers on
SyncService — streamDeletes, streamUpserts (overloaded, optional map),
streamBackfill, and streamCreates — and rewrite each handler to call them.

Behavior is unchanged: the per-parent backfill bookkeeping
(isEntityBackfillComplete / getStartId / completion acks / checkpoint
seeding) and the create-stream's one-time ack are preserved exactly, and
the OCR delete keeps its whole-row payload. Verified by the sync medium
test suite (26 files, 145 tests) plus tsc and eslint.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-10 19:42:10 -04:00
..
bin fix(server): memory fragmentation (#27027) 2026-03-26 18:21:52 +01:00
src refactor(server): collapse duplicated sync stream handlers 2026-08-10 19:42:10 -04:00
test fix: medium tests dependencies (#30612) 2026-08-07 11:36:20 +02:00
.gitignore
.npmignore chore: use pnpm for builds (#19752) 2025-08-19 08:55:24 -04:00
.prettierignore refactor: migrate map repository to kysely (#15348) 2025-01-17 09:14:42 -06:00
.prettierrc
Dockerfile chore(deps): update ghcr.io/jdx/mise docker tag to v2026.8.1 (#30542) 2026-08-04 20:58:32 +02:00
Dockerfile.dev chore(deps): update ghcr.io/jdx/mise docker tag to v2026.8.1 (#30542) 2026-08-04 20:58:32 +02:00
eslint.config.mjs chore(deps): update dependency eslint-plugin-unicorn to v72 (#30092) 2026-07-21 15:33:46 +02:00
helmet.json fix(server): updated default CSP config to support videos from V3 player (#29830) 2026-07-15 12:49:18 +02:00
mise.toml refactor: plugin sdk types (#28674) 2026-05-28 22:04:15 +00:00
nest-cli.json fix: isolate docker host/container filesystem for node_modules and build output (#21167) 2025-08-24 13:09:45 -05:00
package.json fix(deps): update dependency js-yaml to v5 [security] (#30440) 2026-07-31 13:24:39 +02:00
tsconfig.build.json chore: move .tsbuildinfo file to dist folder (#27682) 2026-04-10 16:02:25 +02:00
tsconfig.json chore(deps): update dependency eslint-plugin-unicorn to v70 - abandoned (#29684) 2026-07-20 23:47:14 -04:00