Align reading statuses with MangaBaka, add auto-add sync, fix rating scale#24
Merged
Merged
Conversation
…ing scale Reading status changes: - Rename 'on_hold' → 'paused' everywhere (aligns with MB state enum) - Add 'considering' status (new; mirrors MB's considering state) - Add 'rereading' to all dropdowns and filter pills that were missing it - DB migration renames existing 'on_hold' rows to 'paused' on startup - chip-hold CSS class renamed to chip-paused MangaBaka sync improvements: - Add mb_auto_add setting: when enabled, series not in MB library are POST'd to add them instead of silently skipped (live sync, import, push-all) - Fix rating scale bug: app stores 0–10 but MB expects 0–100; multiply ×10 on push, divide ÷10 (with 0.5 snap) on pull — was silently wrong before - Fix mb_pull rating range check: was <= 10.0 (dropped all ratings > 10) - Fix mb_pull missing /10 conversion (ratings stored at wrong scale) - Fix export rating: was sending raw 0–10 value instead of ×10 - Fix 'considering' state: now in _STATE_MAP, _VALID_READING_STATUSES, export _STATUS_MAP, and reverse pull map - Handle MB series lifecycle: 'merged' → update mb_linked_id and re-fetch; 'deleted' → skip metadata update with warning log - pull_library() now follows pagination.next URL instead of manual page math - search() now sends limit=20 (was defaulting to 10) - test_mb_sync returns missing_write_scope bool; frontend warns if absent Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
on_hold→pausedacross all layers (DB migration, backend validation, frontend dropdowns/pills/chips, CSS, export, sync maps).on_holdno longer exists anywhere.consideringfully wired in (was half-present);rereadingadded to all dropdowns and filter pills that were missing it.mb_auto_addtoggle — when enabled, a series not found in the user's MB library during sync/push is added viaPOST /v1/my/library/{id}instead of silently skipped. Applies to live sync, import sync, and Push All.<= 100.0and divides ÷10 with 0.5-step snap. Export also fixed. Was silently wrong before.merged(updatesmb_linked_id, re-fetches with new ID) anddeleted(skips with warning log).pull_library()followspagination.nextURL instead of manual page math.search()now sendslimit=20(was defaulting to 10).test_mb_syncnow returnsmissing_write_scope: trueif the PAT lackslibrary.write; frontend shows a warning.Files changed
app/database.pymb_auto_add=false; data migrationon_hold → pausedapp/mangabaka.pysearch()limit paramapp/mangabaka_sync.pyadd_to_library()POST; fixedpush_entryrating ×10; fixedpull_librarypagination;consideringin_STATE_MAP;pausedreplaceson_holdapp/notifier.pyapp/routers/export.py_STATUS_MAPupdated; rating export ×10 fix;consideringaddedapp/routers/series.py_VALID_READING_STATUSESupdated;_bg_sync_to_mb+_bg_sync_import_to_mbcheckmb_auto_addapp/routers/settings.pymb_auto_addinEXPOSED_KEYS+ model;mb_pullrating fix;test_mb_syncscope check; push-all status exposesaddedcountapp/scheduler.pyACTIVE_STATUSESusespaused; push-all tracksaddedcounter; merged/deleted series lifecycle in metadata refreshstatic/css/components.css.chip-hold→.chip-pausedstatic/index.htmlmb_auto_addtoggle added to MB settings blockstatic/js/app.jsmb_auto_adddefault; push-all toast shows added count; test-sync toast warns on missing scopeReviewer notes
UPDATE tracked_series SET reading_status = 'paused' WHERE reading_status = 'on_hold') runs inside the existingengine.begin()block at startup — idempotent and safe on an already-migrated DB.add_to_librarysends all progress fields in one POST body so no follow-up PATCH is needed.ratingfield is 0–100 integer; internaluser_ratingis 0–10 float. The ×10 / ÷10 conversion now happens at every boundary (push, pull, export).🤖 Generated with Claude Code