This website requires JavaScript.
Explore
Help
Register
Sign In
bvandeusen
/
FabledCurator
Watch
1
Star
0
Fork
0
Code
Issues
2
Pull Requests
Actions
Packages
Projects
Releases
12
Wiki
Activity
Files
d631ed023ca0457a9b94807757547954e2263ae9
FabledCurator
/
backend
/
app
/
services
T
History
bvandeusen
and
Claude Opus 4.8
d631ed023c
CI / lint (push)
Successful in 4s
Details
CI / frontend-build (push)
Successful in 18s
Details
CI / backend-lint-and-test (push)
Successful in 37s
Details
CI / integration (push)
Successful in 3m45s
Details
style(translation): use datetime.UTC alias (ruff UP017)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <
noreply@anthropic.com
>
2026-07-07 21:04:17 -04:00
..
audits
feat(ia): wave 1 — Import tab dissolves, Maintenance regroups by system, one extension home
2026-07-02 17:37:21 -04:00
ml
feat(ml): presentation-chrome auto-hide sweep + hard-skip + conflict flagging (
#141
step 4)
2026-07-06 23:11:26 -04:00
platforms
feat(pixiv): flip dispatch to the native ingester (
#129
step 4)
2026-07-03 09:54:18 -04:00
__init__.py
feat(fc2a): add TagService — find-or-create, autocomplete, image association
2026-05-14 12:04:48 -04:00
archive_extractor.py
fix(archive): magic-byte archive detection so mis-named archives extract —
#713
part 1
2026-06-06 14:33:24 -04:00
artist_directory_service.py
feat(artist): "new since last visit" badge + banner
2026-06-03 15:27:11 -04:00
artist_service.py
feat(artist): editable display name + rename surface; drop name-uniqueness (
#130
step 1)
2026-07-04 22:04:20 -04:00
attachment_store.py
feat(attachments): sha-addressed AttachmentStore
2026-05-19 11:11:07 -04:00
backup_service.py
fix(backup): compressed -Fc dumps + pg_restore; reconcile subprocess timeouts (
#739
)
2026-06-10 14:29:17 -04:00
bulk_tag_service.py
chore(tags): remove orphaned cluster tag-gaps route + service method
2026-06-26 11:47:48 -04:00
cleanup_service.py
feat(tags): system-tag UI markers + full protection sweep (step 4 of
#128
)
2026-07-03 08:34:16 -04:00
credential_crypto.py
fix(audit-g5c): refuse silent Fernet key regeneration on partial restore
2026-06-02 17:04:27 -04:00
credential_service.py
feat(credentials+downloads): real credential Verify button + live download-activity polling
2026-05-28 07:52:20 -04:00
db_helpers.py
fix(services): PEP 695 type params for get_or_create (ruff UP047)
2026-06-09 23:50:59 -04:00
download_backends.py
refactor(subscriptions): remove the dead backfill dry-run preview (
#1281
)
2026-07-06 14:15:19 -04:00
download_service.py
fix(recapture): link on-disk images to their post (
#1288
)
2026-07-04 20:13:53 -04:00
extension_service.py
feat(artist): resolve patreon + subscribestar display names at add-time (
#130
step 5)
2026-07-04 22:37:50 -04:00
external_fetch.py
fix(external): split fetch timeout into read (60s) + total (30m) budgets (
#883
)
2026-06-16 21:15:49 -04:00
external_links.py
feat(recovery): surgical re-fetch for deep posts via ExternalLink reset
2026-07-02 21:07:21 -04:00
file_validator.py
refactor(downloads): DRY the ingester/gallery-dl seam — A1–A4 (plan
#707
)
2026-06-06 11:11:25 -04:00
gallery_dl.py
fix(recapture): link on-disk images to their post (
#1288
)
2026-07-04 20:13:53 -04:00
gallery_service.py
feat(gallery): default-hide presentation chrome (banner/editor screenshot) (
#141
step 1)
2026-07-06 22:27:00 -04:00
importer.py
fix(recapture): link on-disk images to their post (
#1288
)
2026-07-04 20:13:53 -04:00
ingest_core.py
refactor(subscriptions): remove the dead backfill dry-run preview (
#1281
)
2026-07-06 14:15:19 -04:00
interpreter_client.py
style(translation): use datetime.UTC alias (ruff UP017)
2026-07-07 21:04:17 -04:00
link_extract.py
feat(posts): extract + record external file-host links (Phase 3)
2026-06-14 13:15:36 -04:00
native_ingest_common.py
refactor(native-ingest): shared exception trio + base _failure_result (
#899
DRY 2/3)
2026-06-17 11:40:36 -04:00
page_number_parser.py
feat(series): post→series flows + browse list — backend (FC-6.2)
2026-06-07 18:34:11 -04:00
pagination.py
refactor(services): shared pagination cursor (DRY sweep)
2026-06-10 00:10:57 -04:00
patreon_client.py
refactor(native-ingest): shared exception trio + base _failure_result (
#899
DRY 2/3)
2026-06-17 11:40:36 -04:00
patreon_downloader.py
refactor(native-ingest): extract native_ingest_common + BaseNativeDownloader (
#899
DRY 1/3)
2026-06-17 11:32:28 -04:00
patreon_ingester.py
feat(pixiv): flip dispatch to the native ingester (
#129
step 4)
2026-07-03 09:54:18 -04:00
patreon_resolver.py
feat(artist): resolve patreon + subscribestar display names at add-time (
#130
step 5)
2026-07-04 22:37:50 -04:00
pixiv_client.py
feat(artist): pixiv display-name at add-time + identity-by-source (
#130
steps 2+3)
2026-07-04 22:24:25 -04:00
pixiv_downloader.py
fix(pixiv): capture ugoira frame timings in the post record (ordering bug)
2026-07-03 19:41:29 -04:00
pixiv_ingester.py
fix(pixiv): capture ugoira frame timings in the post record (ordering bug)
2026-07-03 19:41:29 -04:00
platform_lock.py
feat(subscribestar): flip dispatch to the native ingester (
#893
, Step 5)
2026-06-17 12:03:48 -04:00
post_feed_service.py
feat(translation): expose translated fields in post feed + provenance payloads (
#143
step 4)
2026-07-07 12:31:46 -04:00
provenance_service.py
feat(translation): expose translated fields in post feed + provenance payloads (
#143
step 4)
2026-07-07 12:31:46 -04:00
refetch_service.py
feat(download): tick/backfill modes + partial-success classifier (plan
#544
)
2026-06-01 18:23:28 -04:00
scheduler_service.py
feat(downloads): bulk retry respects cooldown; single-source RETRY overrides
2026-05-30 23:15:07 -04:00
series_match_service.py
feat(series): flat series sequence + cosmetic chapter dividers (
#789
Phase 1)
2026-06-11 21:30:01 -04:00
series_service.py
fix(images): percent-encode original-image URLs ('#' in paths 404'd)
2026-06-12 00:36:44 -04:00
showcase_service.py
fix(showcase): over-sample + random-order to break near-dup clustering —
#699
2026-06-06 15:44:04 -04:00
source_service.py
feat(artist): move a source into another artist (
#130
step 4)
2026-07-04 22:15:38 -04:00
subscribestar_client.py
feat(artist): resolve patreon + subscribestar display names at add-time (
#130
step 5)
2026-07-04 22:37:50 -04:00
subscribestar_downloader.py
refactor(native-ingest): extract native_ingest_common + BaseNativeDownloader (
#899
DRY 1/3)
2026-06-17 11:32:28 -04:00
subscribestar_ingester.py
feat(pixiv): flip dispatch to the native ingester (
#129
step 4)
2026-07-03 09:54:18 -04:00
tag_directory_service.py
feat(tags): system-tag UI markers + full protection sweep (step 4 of
#128
)
2026-07-03 08:34:16 -04:00
tag_query.py
feat(ui): confirm/keep auto-applied tags (milestone 139)
2026-07-06 18:51:39 -04:00
tag_service.py
feat(ui): confirm/keep auto-applied tags (milestone 139)
2026-07-06 18:51:39 -04:00
thumbnailer.py
feat(fc2a): add Thumbnailer service
2026-05-14 12:05:19 -04:00