What you'll notice
If you open KOReader's KOSync / CWA Sync menu without a book loaded (e.g. from the file browser), the Push and Pull actions are now disabled and show (No Active Document) next to the label instead of silently doing nothing when tapped. Same treatment when the password isn't set — you get a (Password Not Set) hint. Auto-sync no longer fires when there's no document.
Get it
```bash
docker pull ghcr.io/new-usemame/calibre-web-nextgen:latest
```
or pin to this tag:
```bash
docker pull ghcr.io/new-usemame/calibre-web-nextgen:v4.0.117
```
Credit
Backport of CWA #1074 by @SethMilliken.
What changed
- `koreader/plugins/cwasync.koplugin/main.lua` — new `hasActiveDocument()` + `statusTextIfActionUnavailable()` helpers; Push/Pull `enabled_func` gates on both password + active document; auto-sync toggle early-returns when no document is open.
- 5 unit tests in `tests/unit/test_kosync_plugin_no_active_document_handling.py` pin the helpers, menu predicates, and the early-return.