-
v26.06.01.0 — sidecar synthetic cleanup + tier-gated reclassification
StableCI / lint (push) Successful in 5sCI / frontend-build (push) Successful in 22sCI / backend-lint-and-test (push) Successful in 28sCI / intimp (push) Successful in 3m54sBuild images / sign-extension (push) Has been skippedBuild images / build-web (push) Successful in 1m1sBuild images / build-ml (push) Successful in 1m21sCI / intapi (push) Successful in 7m31sCI / intcore (push) Successful in 8m0sreleased this
2026-06-01 00:20:24 -04:00 | 471 commits to dev since this releaseWhat's in
PR #39 (merge commit
856e910).Sidecar synthetic anchor cleanup (
6fc8ae3)SourceService.list()hidesurl LIKE 'sidecar:%'anchors from/api/sourcesby default — no more phantom subscriptions in the Subscriptions hub.importer._source_for_sidecarprefers real (non-sidecar) Sources over synthetic anchors when both exist for the same (artist, platform). Fixes silent attachment of gallery-dl Posts to the wrong row.- alembic 0028 collapses the synth+real coexisting case on deploy — repoints Posts / ImageProvenance / DownloadEvent.source_id onto the real Source, deletes the synthetic. Lone synthetics (no real twin) intentionally stay; they anchor imported content.
Download event classifier + missing dep (
66f19d6)[patreon][warning] Not allowed to view post Nnow classifies as TIER_LIMITED regardless of return code (was gated on1, 4, fell through to UNKNOWN_ERROR when gallery-dl set other exit bits). Paywalled-post syncs stop bumpingconsecutive_failures.- Gallery-dl subprocess timeout dropped from 900s → 870s — wins the race against Celery's 900s soft_time_limit so
TimeoutExpiredalways captures partial output. Empty-log "stranded by recovery sweep" events become rare. yt-dlp>=2025.1added to requirements.txt — video posts download cleanly.
Deploy
Run alembic upgrade — 0028 is included. Existing DPMaker-shape rows collapse to one row; phantoms disappear from the UI; tier-gated Patreon syncs render as 'ok'.
Downloads