What's New
Browser Extension (Chrome & Firefox)
- UniFi Insights Plus browser extension for Chrome, Edge, and Firefox -- enrich your UniFi Controller directly in the browser
- Flow View enrichment -- threat badges, GeoIP country flags, and abuse scores overlaid on firewall log entries in the UniFi OS interface
- Side panel enrichment -- detailed threat intelligence shown alongside individual log entries
- Tab injection -- seamlessly embeds the Log Insight dashboard as a tab within the UniFi Controller
- Popup dashboard -- quick-access connection manager with server status, log stats, and theme support
- Multi-browser build system -- separate manifests for Chrome (Manifest V3) and Firefox with a single shared codebase
- Batch threat lookup API -- new endpoint for the extension to fetch threat, rDNS, and ASN data for multiple IPs in one request
Installing the Browser Extension
- The extension is pending review on the Chrome Web Store and Firefox Add-ons. In the meantime, you can sideload it manually. Follow the instructions on our browser extension docs.
Log Viewer
- Drill-down filters now apply immediately when navigating from other views (e.g. clicking an IP in the dashboard)
- Parent components can now track pause/refresh state for better coordination
Receiver Reliability
- Added statement timeouts on database inserts to prevent hung queries from blocking the UDP receive loop (which causes silent packet loss)
- Heartbeat logging -- periodic status line confirms the receiver is alive with receive/insert/drop counters
- Consecutive failure tracking -- warns after repeated DB insert failures so connectivity issues are caught early
- Slow flush warnings -- logs a warning when batch inserts take longer than 1 second
- Silence detection -- warns when no UDP packets have been received for 30+ seconds
Bug Fixes
- Fixed built-in rule filtering to correctly identify both SYSTEM_DEFINED and DERIVED rules -- previously some system rules were misclassified as custom
- Fixed external PostgreSQL schema race condition on first boot (#59) — when two processes (receiver + API) start simultaneously against a fresh external database,
CREATE TABLE IF NOT EXISTScould race on PostgreSQL's implicit type creation, causing aUniqueViolationerror. Now uses a transaction-scoped advisory lock (pg_advisory_xact_lock) to serialize migrations, with targeted exception handlers as safety nets. Failed schema migrations are now fatal instead of silently continuing.
Documentation
- README now links to insightsplus.dev/docs for full documentation