DNS Medic v3.2.4 — Release Notes
Pi-hole: Session management overhaul
Fixes session exhaustion — the extension previously created a new authenticated session with Pi-hole on
every API call (every button click, every blocklist lookup). Under active use this exhausted Pi-hole
v6's concurrent session limit. The extension now creates one session per popup open and reuses it
across all calls within that session.
Auto-retry on expired sessions — if a cached session expires mid-use (after ~5 minutes), the extension
now silently re-authenticates and retries the failed request. Previously this surfaced as a "Session
expired — please retry" error that required manual user action.
Accurate error messages — "Test Connection" now correctly distinguishes between an invalid token and an
unreachable Pi-hole server, rather than collapsing both to "Invalid token."
Fixes Pi-hole FTL freeze — Pi-hole v6 has a concurrency bug where simultaneous API requests can freeze
the FTL daemon. Blocklist domain lookups are now processed sequentially instead of in parallel. The
parallel implementation is preserved in the code and will be restored once the upstream Pi-hole bug is
fixed.
Pi-hole: Blocking menu fixes
- "Disable Blocking → Indefinitely" now correctly passes no timer to the API (previously sent timer=0
which some Pi-hole versions mishandled) - The blocking menu is no longer initialized for non-Pi-hole providers
- Switching to Pi-hole in settings now correctly initializes the blocking menu; saving settings while
already on Pi-hole now refreshes the blocking status
Internals
- Domain blocklist test stub updated to handle window.addEventListener (prevented popup-display tests
from running)