feat: finish the Discord switchover — recapture on every native source, backfills that run, gallery-dl's Discord config retired (milestone 428)
CI and images / lint (push) Successful in 2s
CI and images / extension-version (push) Successful in 3s
CI and images / frontend-build (push) Successful in 21s
CI and images / backend-lint-and-test (push) Successful in 32s
CI and images / integration (push) Failing after 2m19s
CI and images / sign-extension (push) Skipped
CI and images / build-web (push) Skipped
CI and images / smoke-web (push) Skipped
CI and images / promote (push) Skipped
CI and images / build-agent (push) Skipped
CI and images / lint (push) Successful in 2s
CI and images / extension-version (push) Successful in 3s
CI and images / frontend-build (push) Successful in 21s
CI and images / backend-lint-and-test (push) Successful in 32s
CI and images / integration (push) Failing after 2m19s
CI and images / sign-extension (push) Skipped
CI and images / build-web (push) Skipped
CI and images / smoke-web (push) Skipped
CI and images / promote (push) Skipped
CI and images / build-agent (push) Skipped
- Recover and Recapture show on every native source. The menu gated them on
a copied platform list ('patreon', 'subscribestar') that went stale when
Discord moved over. Sources now carry `native_ingester` from the backend's
own predicate.
- A running backfill is due on every scheduler tick. Nothing queued a
backfill's next chunk: each one waited for the source's regular interval,
so an armed backfill sat idle until the next check (8h at the default) and
a five-chunk walk took most of two days. The in-flight guard and the
platform lock keep one chunk at a time. A failing source falls back to its
backoff, and a stalled or out-of-budget walk stops being due. It also runs
when the artist has auto-check off, since the operator started it by hand.
- gallery-dl no longer carries Discord: its naming constants, platform
defaults, sidecar-mirroring postprocessor and token injection are gone.
The naming test moves to the native downloader and still renders against
the real gallery-dl sidecar fixture. That is the guard that the files
gallery-dl wrote are found on disk rather than fetched again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LVjrnpQjRgHdvq95rASoiR
This commit is contained in:
@@ -76,10 +76,10 @@ const running = computed(() => props.source.backfill_state === 'running')
|
||||
const recovering = computed(() => !!props.source.backfill_bypass_seen)
|
||||
const recapturing = computed(() => !!props.source.backfill_recapture)
|
||||
// Recover / recapture are native-ingester features (ledger-bypass re-walk and
|
||||
// post-text re-grab), available to every native platform — not just Patreon.
|
||||
// Mirrors backend download_backends.NATIVE_INGESTER_PLATFORMS.
|
||||
const NATIVE_PLATFORMS = ['patreon', 'subscribestar']
|
||||
const isNative = computed(() => NATIVE_PLATFORMS.includes(props.source.platform))
|
||||
// post-text re-grab), available on every native platform. The backend says
|
||||
// which those are (`native_ingester`); a copied list here went stale when
|
||||
// Discord moved over.
|
||||
const isNative = computed(() => !!props.source.native_ingester)
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@@ -679,7 +679,7 @@ async function onRecover(source) {
|
||||
}
|
||||
}
|
||||
|
||||
// #830: arm a recapture walk (Patreon-only) — re-grab every post's body +
|
||||
// #830: arm a recapture walk (native platforms) — re-grab every post's body +
|
||||
// external links and localize on-disk inline images, without re-downloading
|
||||
// media. Reuses the backfill lifecycle/badge; stop via the same Stop control.
|
||||
async function onRecapture(source) {
|
||||
|
||||
@@ -140,7 +140,7 @@ export const useSourcesStore = defineStore('sources', () => {
|
||||
_patchSource(body)
|
||||
return body
|
||||
}
|
||||
// #830: arm a recapture walk (Patreon-only) — re-grab every post's body +
|
||||
// #830: arm a recapture walk (native platforms) — re-grab every post's body +
|
||||
// external links and localize on-disk inline images, WITHOUT re-downloading
|
||||
// media. Shares the backfill lifecycle/badge; stop via stopBackfill.
|
||||
async function recaptureSource(id, artistIdHint = null) {
|
||||
|
||||
Reference in New Issue
Block a user