v2.3.1 — Issue Fixes & Smarter Comparisons
Fixes for the first three issues filed against the fork — thank you @talkingdragon for the sharp reports — plus a smarter Review page.
🐛 Fixed: Reassign reported failure for successful renames (#16)
The rename script ends with a debug-only echo, and in the web UI's quiet mode that made every successful rename exit with an error status — the Review modal then showed "0 renamed, N failed" even though the files were moved and the database updated. If you ever saw that message: your reassignments almost certainly worked; check the bird's page.
Also in this fix: a real 401 now stops the reassign loop with a link that opens Settings so your browser can actually show its sign-in prompt (a background request never can), any genuine script error is shown verbatim instead of the old "check sign-in" guess, and the station now uses a single basic-auth realm, so signing in anywhere signs you in everywhere.
🖨️ New: reports print as clean A4 documents (#15)
Print Report now produces a proper document: no sidebar, tab bar, or buttons; ink-friendly flat cards; species lists that flow down the page without splitting rows; and — since the point of a printed monthly report is the complete record — every species prints, regardless of the on-screen "Show all" state. A typical monthly report fits on two A4 pages.
🐛 Fixed: "Show all species" on Reports did nothing (#14)
Two stacked bugs: the button's handler was silently overwritten by the Insights page's function of the same name, and the hidden rows were pinned by a CSS !important rule that inline styles can't override. Both fixed — the button now expands and collapses the full species list.
🔍 Better: the Review page's comparison strip
The "Compare with…" clips are now filled by priority: your confirmed clips at ≥80% confidence first, then the station's strongest recent matches, then weaker confirmed clips as a last resort. A new species starts with the model's best references; as you confirm good visits, the strip gradually becomes entirely your own verified audio. Mixed strips are labeled with a ✓ marking which clips you confirmed.
The strongest-match hunt also now searches recent detections rather than all-time bests — on a long-running station the all-time top clips have usually been purged from disk, which could leave the strip showing only faint clips despite fresh 90%+ recordings being available.
Updating
cd ~/BirdNET-Pi
git fetch origin
git pull --ff-only origin main
sudo bash scripts/update_birdnet_snippets.sh
Then refresh your browser.
🤖 Generated with Claude Code