Beta v0.5.1b24 — past initial proving, but the Python API surface may still shift before 1.0. WiredTiger on-disk format is stable, but there's no migration tool yet — don't put production data here.

Admin UI punch list — five silent-failure modes fixed

15 May 2026 · Joe Drumgoole · Releases

Summary: Admin UI punch list — five silent-failure modes fixed (v0.5.1b14).

The May 2026 end-to-end review of the secantus-admin web UI catalogued five P0s — bugs that didn't crash anything but presented wrong information to the user. v0.5.1b14 fixes all five. None of them require any database-level change; this is purely admin-UI plumbing, but each one was either lying to the user or hiding a real error behind cheerful copy.

The biggest was the profiler page swallowing every exception while reading system.profile. A bare except Exception: rendered "no entries yet — run an operation to see one appear here" no matter what the underlying error was, including the target server being completely unreachable. The clause is now narrowed to PyMongoError and the friendly error message gets funnelled into the page's normal error banner. The same page also had a flash keyword argument that the template never rendered — every settings change returned HX-Redirect and the user saw zero confirmation that anything had happened. The POST handler now re-renders the page inline with a flash banner that names the new level / slowms / sampleRate values.

The other three are dead-code cleanups: the doc tour in docs/admin.md walked the user through a /console page that was renamed to /query two refactors ago (and never mentioned the sibling /insert page or the /server page at all); the Maintenance "Drop collection" form had an hx-get="/maintenance/drop-collection-redirect" attribute pointing at a route that never existed (masked by an onsubmit handler that intercepted before HTMX got the GET out); and the dashboard router still exposed a GET /_partials/dashboard-tiles HTMX-polling endpoint from before the WebSocket dashboard landed — never invoked by any page, but happily serving requests from anything that hit the URL.

Full release notes on GitHub · Install from PyPI · Tag