Bug Fixes
-
Syslog timezone handling —
parse_syslog_timestamp()was hardcoding UTC regardless of theTZenvironment variable. For non-UTC containers, stored timestamps were off by the UTC offset, breaking time-range filters and shifting displayed times. Now interprets syslog times in the container's TZ and converts to UTC for storage. Backward-compatible forTZ=UTC(the previous default). -
Auto-backfill historical timestamps — On first boot after upgrade, automatically corrects all existing log timestamps using PostgreSQL's
AT TIME ZONEoperator with the container's TZ env var. Handles DST boundaries per-row. Skips for UTC users (no fix needed). Uses advisory locks on a single connection to prevent double-run from concurrent processes. Runs once, then skips on every subsequent boot. -
UI debounced filter inputs — Filter bar debounced inputs (IP, hostname, DNS query) were capturing stale filter state, causing searches to use outdated values. Now uses the latest filters at invocation time.
Docs
- Added UniFi trademark disclaimer to README.
Upgrade Notes
Set TZ in your .env file to match your gateway's timezone (e.g. TZ=America/Chicago, TZ=Europe/London). On first boot, the backfill automatically corrects historical timestamps — no manual SQL needed. If TZ is unset or UTC, behavior is unchanged from previous versions.