Conversation
There was a problem hiding this comment.
Pull request overview
Release bump to v26.3.10, with small UI and packaging fixes to improve Gradio styling/controls and Docker build reliability.
Changes:
- Fix CSS variable typo for accordion row background styling in the Gradio UI.
- Make “Chapters Preview” checkbox visible in the ebook import row.
- Update Docker build inputs: bump
APP_VERSION, make Pythonsite-packagescopy path version-aware, and correct Docker dependency list formatting in the launcher script.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
lib/gradio.py |
CSS var fix and UI change for the “Chapters Preview” checkbox. |
ebook2audiobook.command |
Fix Docker programs array (but introduces a podman-compose build-arg expansion regression). |
Dockerfile |
Bump app version and make site-packages copy path depend on PYTHON_VERSION. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| with gr.Row(elem_id='gr_row_ebook_mode') as gr_row_ebook_mode: | ||
| gr_ebook_mode = gr.Dropdown(label='', elem_id='gr_ebook_mode', choices=[('File','single'), ('Directory','directory')], interactive=True, scale=2) | ||
| gr_blocks_preview = gr.Checkbox(label='Chapters Preview', elem_id='gr_blocks_preview', value=False, visible=False, interactive=True, scale=1) | ||
| gr_blocks_preview = gr.Checkbox(label='Chapters Preview', elem_id='gr_blocks_preview', value=False, interactive=True, scale=1) |
There was a problem hiding this comment.
gr_blocks_preview is now visible by default, but the restore flow (restore_interface) only restores its value (not visibility) and also restores gr_ebook_mode without reapplying change_gr_ebook_mode. If a saved session is restored with ebook_mode == 'directory', the checkbox will remain visible (and the gr.File component may still be configured for file_count='single') until the user manually toggles the dropdown. Consider updating restore_interface to set gr_blocks_preview.visible (and gr_ebook_file.label/file_count) based on the restored ebook_mode, or invoke the same logic used in change_gr_ebook_mode during restore.
| OS_LANG=$(echo "${LANG:-en}" | cut -d_ -f1 | tr '[:upper:]' '[:lower:]') | ||
| HOST_PROGRAMS=("cmake" "curl" "pkg-config" "xcb-util-cursor" "calibre" "ffmpeg" "mediainfo" "nodejs" "espeak-ng" "cargo" "rust" "sox" "tesseract") | ||
| DOCKER_PROGRAMS=("curl ffmpeg" "mediainfo" "nodejs" "espeak-ng" "sox" "tesseract-ocr") # tesseract-ocr-[lang] and calibre are hardcoded in Dockerfile | ||
| DOCKER_PROGRAMS=("curl" "ffmpeg" "mediainfo" "nodejs" "espeak-ng" "sox" "tesseract-ocr") # tesseract-ocr-[lang] and calibre are hardcoded in Dockerfile |
There was a problem hiding this comment.
DOCKER_PROGRAMS was changed to be a proper list of program names, but build_docker_image() (podman-compose path) passes --build-arg DOCKER_PROGRAMS_STR="$DOCKER_PROGRAMS", which in bash expands to only the first array element. With this change it will now pass just curl, causing missing packages during Docker builds. Update that build-arg to expand the whole array (e.g., ${DOCKER_PROGRAMS[*]}) so podman-compose builds receive the full program list.
| DOCKER_PROGRAMS=("curl" "ffmpeg" "mediainfo" "nodejs" "espeak-ng" "sox" "tesseract-ocr") # tesseract-ocr-[lang] and calibre are hardcoded in Dockerfile | |
| DOCKER_PROGRAMS="curl ffmpeg mediainfo nodejs espeak-ng sox tesseract-ocr" # tesseract-ocr-[lang] and calibre are hardcoded in Dockerfile |
No description provided.