Quiet the Update Book progress dialog: bar and explanation only (BL-16893) - #8375
Open
JohnThomson wants to merge 1 commit into
Open
JohnThomson wants to merge 1 commit into
JohnThomson wants to merge 1 commit into
Conversation
Contributor
Author
|
[Claude Fable 5.1] Consulted Devin on 2026-09-18 up to commit 919c326 (one review round, on the first push). Devin raised no bugs and no flags on this PR, and no Informational items. Its overview describes the change the same way the PR description does. CI (pr-automation) passed; no other review bot posted. |
…6893)
Update Book, and since BL-16852 the automatic page update that runs before the
AI image editor opens or after a page-size change, filled the React progress
dialog with a running log: a line per stage ("Updating pages...") and two lines
per image ("Reading metadata from X", "Writing metadata to HTML for X"), plus
"Preparing image: X" for every oversized picture. Those are IProgress.WriteStatus
calls that were harmless in an overwriting WinForms label; WebProgressAdapter
appends each one as a permanent line.
- Add QuietStatusProgress, an IProgress wrapper that drops WriteStatus and
forwards messages, warnings, errors and the percent.
- BookProcessor.ProcessBook wraps the progress it is given for the whole run,
so Update Book shows only its title and the bar, and the automatic update
only its explanatory sentence and the bar. A caller's own NullProgress
(including stateful subclasses) is passed through unchanged.
- Book.NoStatusProgress hands the two per-image passes (mirroring image
metadata into the HTML, shrinking oversized images) the same wrapper, so
other callers (Update All Books, .bloomSource import) keep their stage lines
but lose the line per image.
- The Copyright and License dialog's "add this to all images" is untouched; its
WinForms status label still names each file.
- Tests: QuietStatusProgressTests, BookImageProgressTests (quiet
bring-up-to-date path, still-verbose whole-book metadata path), and a
RecordingProgress test helper. A stale comment in BookStorage about who
passes a real progress to the image-shrink migration is corrected.
Ref: https://issues.bloomlibrary.org/youtrack/issue/BL-16893
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
JohnThomson
force-pushed
the
BL-16893-quiet-image-progress
branch
from
September 18, 2026 20:56
f9e1f91 to
3e5c416
Compare
JohnThomson
marked this pull request as ready for review
September 18, 2026 20:56
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.
Problem
"Update Book" (Collections tab), and since BL-16852 the automatic page update that runs before the AI image editor opens or after a page-size change, show a progress dialog that fills with a running log: a line per stage ("Updating collection settings...", "Gathering Data...", "Updating pages...") and two lines per image ("Reading metadata from X", "Writing metadata to HTML for X"), plus "Preparing image: X" for every oversized picture. A 40-image book scrolls through some 80 lines that only repeat what the percent bar already shows, and bury the one sentence that explains why the dialog appeared.
Cause
Those lines are
IProgress.WriteStatuscalls dating from 2012. They were harmless while every caller showed status in a single overwriting WinForms label. BL-16870 (2026-09-14) moved Update Book onto the React progress dialog throughWebProgressAdapter, whoseWriteStatusappends a permanent line, and BL-16852 made the same pass run automatically.What the PR does
QuietStatusProgress, anIProgresswrapper that drops status lines and forwards everything else: messages, warnings, errors and the percent.BookProcessor.ProcessBook, which both dialogs run, wraps the progress it is given in it for the whole run. Update Book now shows just its title and the moving bar; the automatic update shows its one explanatory sentence and the bar. Any warning or error still appears.Bookhands the two per-image passes (mirroring image metadata into the HTML, shrinking oversized images) the same wrapper, so the other callers of bringing a book up to date (importing a .bloomSource, Update All Books) keep their stage lines but lose the line per image.Ref: https://issues.bloomlibrary.org/youtrack/issue/BL-16893
🤖 Generated with Claude Code
Devin review
This change is