Repository navigation
Conversation
…eftover reading data Five more Health cards, each reading the library's own records rather than its chapters: - Series covers: a series with nothing to show as a cover (none set, none fetched, no chapter to take one from). - Series details: a series with no description or genres. A missing description only counts where the series' source gives descriptions to other series; a series missing only its author is listed for reference. - Disk space and folders: low free space (judged by share and size, so a big array at 4 % is fine) and a library or download folder that cannot be read or looks empty while chapters are recorded under it. - Tracker sync: a sign-in a tracker refused, a failed sync, a sign-in expired or expiring within 14 days. - Reading data: counts of reading history, tracker records, offline downloads, favourites and progress pointing at removed series or chapters. Informational; nothing is deleted. The first four can be ignored per finding, and Fix everything lists the ones still amber under Needs you. The checks' shared page size, cut and verdict move to lib/healthKit.ts so a check can live in its own file. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Owner
|
Thank you for these. Three parts are in v0.72.0,
Two cards are left out on purpose:
Series details waits on #257. Without a fix step beside it, a library built by hand would show thousands of |
Squeaks72
added a commit
to Squeaks72/uchiyomi
that referenced
this pull request
Oct 16, 2026
… series grouped on the server Three cards from @Squeaks72's AngeloSha#252 and AngeloSha#253, rebuilt on Health's own parts, and the server half of AngeloSha#254's By series. - lib/healthKit.ts: MAX_ITEMS, truncate, verdict and the summary tails, out of health.ts (AngeloSha#253's split), plus the full row list each per-series card keeps under a symbol for By series -- never on the wire. - Disk space and folders (lib/healthDisk.ts): red under the downloader's own MIN_FREE_GB, where new downloads stop (AngeloSha#253 used 5 GB of its own, so 5-10 GB read fine while every download was refused), amber under the slow archive's floor while it has a series queued. A library or download folder that cannot be opened, or is empty while chapters are recorded in it, is a problem; only its first entry is read (opendir, one entry), never a readdir that wakes an Unraid array. An ignore records the level, so an ignored warning does not silence a later problem. The archive's floor is read from its row: importing lib/archive.ts closed a module loop that left healthSummary half loaded. - Tracker sync (lib/healthTrackers.ts), AngeloSha#253's card: every member's refused, failing, ended or ending sign-in, named by the tracker's own adapter; an ignore records what was wrong. - Chapter files (lib/healthFiles.ts), AngeloSha#252 rebuilt: the files the nightly count found no page in, from its stamps alone (pages = 0, pages_checked_at set, not pruned) on a new partial index -- no file is opened -- with Fetch again (`refetch`, the series page's route, which keeps each old file until its copy lands) on the files Uchiyomi downloaded itself. No delete, here or in Fix everything. persistScan clears pages_checked_at when a file's mtime moves, so a refetched file leaves the card and is counted again. - By series: GET /api/admin/health?view=series adds `bySeries`, grouped from every card's full list (AngeloSha#254 grouped the fifty rows a card sends), worst first; never built by the six-hourly refresh. - Fix everything lists the three new cards under Needs you, last. Co-authored-by: Squeaks72 <18704769+Squeaks72@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Squeaks72
added a commit
to Squeaks72/uchiyomi
that referenced
this pull request
Oct 16, 2026
…in all eight languages The web half of @Squeaks72's AngeloSha#254, AngeloSha#253 and AngeloSha#252. - By check / By series (components/HealthBySeries.tsx, lib/healthBySeries.ts): one card per series in Health's card look with its status edge, each finding as its own card's row with its keys. Remove from library is the bulk hide route (never N deletes) after a confirmation that counts and names the series, and acts only on the ticked series on the screen; Open is a link, the actions are keys. The view is per device; every reader of the report on Admin shares one query, which asks for the series while the view is By series. - The Chapter files row's Fetch again key, the new cards' titles, links and sentences, and their legend copy. - 51 strings translated into all eight languages (no English copies). Co-authored-by: Squeaks72 <18704769+Squeaks72@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 <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
Five more Health cards, each reading the library's own records rather than its chapters. Each has the shape of the existing checks: findings first,
inforows never turn a card amber, a finding can be ignored by itskey, and the card says what it cannot see.serveLibSeriesThumbuses). A cover that exists but is blank is not claimed.POST /api/admin/health/ignore). Fix everything has nothing to do for them (a cover, a description or a disk is the owner's), and lists each one still amber under Needs you by the card's own count, so its end never reads as done over them.bff/src/lib/healthKit.ts, so a check can live in its own file without importing the whole report. The existing checks are unchanged.Type
Testing
bffandwebtypecheck clean. New tests:bff/test/healthMore.test.ts(the free-space rule),bff/test/healthMore.int.test.tsandbff/test/healthDetails.int.test.tsagainst a throwaway Postgres (which series the covers card lists; a refused, an expiring and a healthy tracker sign-in; leftover reading data being informational; a source that describes no series not being asked for descriptions), and link cases inweb/test/healthLinks.test.ts.webtests pass in full;health.intandhealthIgnore.intpass. The disk card's folder reading was not covered by a test (only its free-space rule), and nothing was exercised in a browser.Checklist
docs/USAGE.md,docs/api.md,bff/openapi.yaml)🤖 Generated with Claude Code