c209e3b37e
Merge pull request 'Tier-1 video dedup: import-time + retroactive cleanup (#871)' (#110) from dev into main
bvandeusen2026-06-16 08:55:38 -04:00
8b99dc9b81
test(downloader): fix test_sidecar_written_and_findable for post-first minimal sidecar (#856)
bvandeusenandClaude Opus 4.82026-06-15 10:15:04 -04:00
dcbc3ae335
refactor(ingest): post-first — post-record is the sole body writer on the native path (#856)
bvandeusenandClaude Opus 4.82026-06-15 10:10:21 -04:00
00607a309b
feat(ingest): post-body schema-drift canary — fail a native walk red when zero bodies extracted (#862)
bvandeusenandClaude Opus 4.82026-06-15 08:56:11 -04:00
fd84be40dd
Merge pull request 'External-attach orphan fix (#859) + image-less post display' (#108) from dev into main
bvandeusen2026-06-15 01:55:36 -04:00
f897e2534b
feat(posts): full-width body for image-less posts (drop dead 'no images' box)
bvandeusenandClaude Opus 4.82026-06-15 00:42:14 -04:00
79f510d7f8
Merge pull request 'Merge dev → main: read post body from content_json_string (the empty-body fix) (#842)' (#107) from dev into main
bvandeusen2026-06-15 00:19:45 -04:00
976107bbe8
fix(patreon): read post body from content_json_string (ProseMirror), not the dead content field (#842)
bvandeusenandClaude Opus 4.82026-06-15 00:14:52 -04:00
59181069da
Merge pull request 'Merge dev → main: per-post stdout diagnostics + post-field write DRY (#842/#753)' (#106) from dev into main
bvandeusen2026-06-14 23:45:39 -04:00
0d51b93aa7
refactor(importer): single _apply_post_fields predicate for both ingest paths (#842/#753)
bvandeusenandClaude Opus 4.82026-06-14 23:39:30 -04:00
428ecd8642
Merge pull request 'Merge dev → main: per-post body-capture diagnostics in the event UI (#842)' (#105) from dev into main
bvandeusen2026-06-14 23:14:14 -04:00
ed1e04b831
Merge pull request 'Merge dev → main: recapture body-fetch fix + diagnostics (#842)' (#104) from dev into main
bvandeusen2026-06-14 22:31:41 -04:00
f5156bd847
Merge pull request 'Merge dev → main: Recapture mode (#842) — re-grab post bodies/links + localize on-disk inline images' (#103) from dev into main
bvandeusen2026-06-14 21:21:49 -04:00
65ec29ba9b
feat(ingest): Recapture mode — re-grab post bodies/links + localize on-disk inline images (#830)
bvandeusenandClaude Opus 4.82026-06-14 20:58:40 -04:00
dfc3922d24
Merge pull request 'Merge dev → main: #830 rich post capture + external-host downloads (+ #768/#789/#739)' (#102) from dev into main
bvandeusen2026-06-14 19:16:09 -04:00
3eb08e926b
Merge pull request 'fix(aliases): modal raw-key bug + alias visibility/management' (#101) from dev into main
bvandeusen2026-06-12 14:02:00 -04:00
5c3f8ebd70
fix(aliases): store modal alias under raw model key + make aliases visible/manageable
bvandeusenandClaude Opus 4.82026-06-12 13:05:58 -04:00
9e81ced359
Merge pull request 'fix(images): percent-encode original-image URLs ('#' in paths 404'd)' (#100) from dev into main
bvandeusen2026-06-12 00:44:56 -04:00
618f7cdc36
Merge pull request 'feat(ml): drop image_record.tagger_predictions — image_prediction is sole store (#768 step 3)' (#96) from dev into main
bvandeusen2026-06-11 19:32:05 -04:00
3610ba495f
feat(ml): drop image_record.tagger_predictions — image_prediction is sole store (#768 step 3)
bvandeusenandClaude Opus 4.82026-06-11 18:52:33 -04:00
028ea33a7c
Merge pull request 'fix(migration): make 0045 DDL-only; backfill image_prediction via batched task (#768)' (#95) from dev into main
bvandeusen2026-06-11 09:22:22 -04:00
444c1fb075
Merge pull request 'perf(migration): 0045 streams json_each (no materialize / no temp blowup)' (#94) from dev into main
bvandeusen2026-06-10 22:07:16 -04:00
e6d5f67f11
perf(migration): 0045 streams json_each via inline CASE guard (no temp spill)
bvandeusenandClaude Opus 4.82026-06-10 20:58:47 -04:00
26c68b0a75
Merge pull request 'fix(migration): 0045 guards json_each against scalar tagger_predictions' (#93) from dev into main
bvandeusen2026-06-10 20:33:27 -04:00
e75427b19a
Merge pull request '#768 steps 1+2: normalized image_prediction table (read cutover)' (#92) from dev into main
bvandeusen2026-06-10 20:15:26 -04:00
bad37e07b2
Merge pull request 'Browse hub, series rename, full-prediction dropdown + a DRY pass (7 sweeps)' (#90) from dev into main
bvandeusen2026-06-10 00:24:01 -04:00
14c244bd3d
refactor(tags): shared tag_query for fandom self-join + serialization (DRY sweep)
bvandeusenandClaude Opus 4.82026-06-10 00:19:17 -04:00
4c6406ee18
Merge pull request 'fix(posts): link duplicate items to every post + prune bare shells' (#88) from dev into main
bvandeusen2026-06-08 19:42:31 -04:00
bb47e80b3e
Merge pull request 'fix(cleanup): unused-tags delete must use the same predicate as the preview' (#87) from dev into main
bvandeusen2026-06-08 18:17:49 -04:00
df76bc0f58
test(cleanup): fix prune-spares-fandom fixture — used character keeps fandom alive
bvandeusenandClaude Opus 4.82026-06-08 18:09:27 -04:00
de4ef6ae74
fix(cleanup): live prune uses the same predicate as the preview (data loss)
bvandeusenandClaude Opus 4.82026-06-08 18:04:02 -04:00
dc1083b5e0
Merge pull request 'Unused-tag fandom fix + ML-worker logging/tuning + unified dropdown Enter' (#86) from dev into main
bvandeusen2026-06-08 17:27:55 -04:00