-
-
Notifications
You must be signed in to change notification settings - Fork 18
Roadmap
Documentation current as of v2026-03-26
This is the development roadmap for DOCSight. Items marked as complete are already released.
Released | Milestone (9/9 closed)
DOCSight v2.0: from single-modem monitoring to a multi-source DOCSIS diagnostics platform with a completely redesigned UI.
- Complete UI Redesign -- Charcoal + Purple design system, collapsible sidebar, hero card with sparkline, channel health donuts, all views modernized, mobile-responsive
- Unified Collector Interface -- Standardized pattern for all data sources with cross-source correlation (#23)
- Gaming Quality Index -- A-F grade with weighted component breakdown and per-genre game compatibility cards (#20)
- Modulation Watchdog & Power Drift Detection -- Per-channel QAM tracking with severity-based alerts, per-modulation thresholds from VFKD guidelines (#21, #16)
- Smokeping Integration -- Live latency graphs via proxy (#22)
- Vodafone Station Support -- CGA6444VF/CGA4322DE + TG3442DE with auto-detection (#14)
- Technicolor TC4400 Support -- Standalone DOCSIS 3.1 modem (#24)
- Vodafone Ultra Hub 7 Support -- Sercomm DOCSIS 3.1 router (#29)
- BNetzA Integration -- Upload official Breitbandmessung PDF protocols (#28)
- Demo/Test Mode -- 9 months of seeded history, no real router needed (#30)
- FritzBox Event Log Parser -- Closed: redundant with existing event log (#17)
- OFDMA Channel Analysis -- Closed: subcarrier data not exposed by any modem API (#18)
- Incident Import, Icons & Search -- Excel/CSV import, icon picker, full-text search (#58)
- Incident Groups -- Organize entries under named incidents with status tracking (#66)
- BNetzA Automated Measurements -- File watcher, CSV parser, headless Breitbandmessung sidecar (#63)
- Arris CM3500B Driver -- Mixed DOCSIS 3.0/3.1, HTTPS enforcement (#77)
- Unitymedia Connect Box (CH7465) Driver -- Session-based auth
- Speedtest Server Tracking -- Server ID and name in results table (#79)
- Upstream Bandwidth Display -- Per-channel bitrate and aggregate capacity from QAM order (#81)
- BQM Calendar View -- Month grid, slideshow, cross-view date linking (#65)
- BQM Bulk Import -- Upload historical images with auto-date detection (#67)
- 4096QAM MER Threshold Fix -- Corrected to CableLabs PHYv3.1 spec values (39/40 dB)
- Multi-Channel Comparison -- Overlay up to 6 channels for side-by-side analysis (#80)
- Notification System -- Webhook, ntfy, Discord, Gotify with severity filtering and cooldown (#19)
- Backup & Restore -- Scheduled backups with retention, one-click download, restore from setup wizard (#64)
- CM3500 Provisioned Speeds -- Parse speeds from service flow configuration (#84)
- Journal Export -- CSV, JSON, and Markdown export for journal entries (#68)
- API Token Authentication -- Bearer tokens for programmatic access by external clients like Home Assistant or companion apps
- In-App Glossary -- Contextual help popovers explaining DOCSIS terminology on the dashboard (#158)
- Health Hysteresis -- Prevents status flapping between severity levels (#169)
- Compact Dashboard -- Collapsible channel details for a streamlined overview
- Diagnostic Notes in PDF -- Complaint PDF export flags out-of-spec DOCSIS values with explanations
- Security Hardening -- Rate limiting, session protection, dependency audit (#160)
- Sagemcom F@st 3896 Driver -- JSON-RPC API with SHA-512 auth (#163)
- Hitron CODA-56 Driver -- Clean JSON API, DOCSIS 3.1 (#172)
- Arris SB6141 Driver -- DOCSIS 3.0 standalone with HNAP1 (#174)
- Arris CM8200A Driver -- ISP-branded DOCSIS 3.1 with IP-based session reuse (#168)
- Netgear CM3000 Driver -- DOCSIS 3.1 standalone, JS variable parsing (#164)
- Cable Segment Utilization -- FRITZ!Box cable segment load monitoring with correlation integration (#188)
- Arris SB6190 Driver -- DOCSIS 3.0, HTTPS with CGI auth, community-contributed (#192)
- All-Channel Compare Presets -- One-click "All Downstream" / "All Upstream" overlay with auto-scaling colors (#206)
- Pin This Day -- Preserve raw-resolution Connection Monitor samples for specific days to protect evidence from automatic aggregation (#204)
- Modulation Health Baseline -- DS health index normalized per-channel against observed baseline instead of theoretical max QAM
- Channel History Fix -- Fixed empty channel history for Vodafone Station and UltraHub7 caused by float-string channel IDs (#210)
- Navigation Simplification -- Mobile-first sidebar with collapsible Analysis group, unified Extensions panel, tablet breakpoint fix (#217)
- Settings UX Guard -- Warns before module toggles and theme apply when form has unsaved changes (#215)
- Channel Timeline UX -- URL-persistent state via hash fragment, distinct empty states, per-direction state memory for compare mode (#218)
- Non-DOCSIS Router Support -- Generic Router mode for fiber, DSL, and satellite connections (#129)
- Community Modem Drivers -- Pluggable driver architecture for community contributions (#131)
Epic #128 | Released in v2026-02-28.x
DOCSight is now modular. Every major feature is a self-contained module that can be enabled, disabled, or replaced.
- Core Loader Framework -- Manifest-first auto-discovery, dynamic loading, error isolation (#122)
- Frontend Integration -- Dynamic sidebar, settings panels, CSS/JS auto-loading from modules (#123)
- Management API & Settings UI -- Enable/disable modules, status badges, restart banner (#124)
- Pilot Migration: Weather -- First module migration, validates architecture end-to-end (#125)
- Migrate All Features -- 8 built-in modules: Backup, BNetzA, BQM, Journal, MQTT, Reports, Speedtest, Weather (#126)
- Community Module Registry -- docsight-modules repo with starter template and development guide (#127)
See the Module System wiki page for how to install, manage, and build modules.
Released in v2026-03-01.1
- Dashboard Redesign -- Mobile-first PWA dashboard with hero card, metric cards, health rings, grouped channel tables, responsive breakpoints with bottom tab bar on mobile
- Settings Redesign -- Modular design system with glass cards, toggle rows, consistent layout
- Theme Engine -- Themes as modules with 3 built-in themes (Classic, Ocean, Tribu), live preview, instant switch. Community themes via module registry
- PWA & Offline -- Service worker, self-hosted dependencies and fonts, installable as a PWA
- Design System -- Modular CSS architecture: tokens, components, views, modals, fonts. Per-module CSS isolation
- Smokeping Module Extraction -- Smokeping extracted to full module with own routes, i18n, templates, and JS
Released in v2026-03-06
- Per-Protocol-Group Health Index -- Correct scaling per (direction, DOCSIS version) (#92)
- Multi-Day Overview -- Stacked distribution bars and dual-axis health/low-QAM trend (7d/30d)
- Intraday Channel Drill-Down -- Per-channel modulation timelines with degradation summaries
- Low-QAM Exposure KPI -- Percentage of time at or below configurable threshold
- Sample Density Indicator -- Actual vs expected sample count with quality percentage
Released in v2026-03-10.1
- Side-by-Side Period Comparison -- Compare two custom time windows or quick presets with the same signal metrics used in trends (#50)
- Health Distribution Summaries -- Per-period quality breakdown for faster before/after assessment
- Complaint Evidence Integration -- Send the active comparison directly into the complaint letter and technical PDF export
- Mobile-Friendly Comparison Layout -- Responsive controls and tables that remain usable on narrow screens
Released in v2026-03-16
- ✅ CSV data collection -- Daily automated CSV Yesterday fetch from ThinkBroadband with up to 2 hours of random spread after the configured collect time (min 00:30) (#136)
- ✅ Native uPlot charts -- Interactive latency band (min/max) and proportional packet loss markers, replacing static PNG images
- ✅ Today/Yesterday/7d/30d quick-range -- Quick navigation with PNG fallback for historical dates
- ✅ Authenticated collector -- Share URL extraction with encrypted credentials via ConfigManager
Released in v2026-03-17
- ✅ Error counter reset detection -- Detects modem restarts by monitoring error counter resets across collection cycles (#60)
- ✅ Event log integration -- Restart events surfaced in the event log with i18n labels
Released in v2026-03-24
- ✅ Technicolor CGM4981COM -- Cox Panoramic Gateway PM8/XB8, community-contributed by @coltonfitzgerald (#254)
Released in v2026-03-16 through v2026-03-24
- ✅ Comprehensive frontend quality audit -- Accessibility (focus-visible, aria-pressed, keyboard handlers), CSS token consistency, contrast fixes for light mode across all views
- ✅ Speedtest trigger button -- Manual speedtest trigger from the Speedtest page (#255)
- ✅ System font toggle -- Settings > Appearance toggle to switch from Outfit to OS default font (#287)
- ✅ Sagemcom session recovery -- Fixed login crash and session recovery after manual modem login
- ✅ Modem URL fix -- Settings page no longer silently reverts user-configured modem URLs (#288)
- ✅ Report i18n -- Recursive template string extraction and restored accents (#256)
Released in v2026-03-26
- ✅ Dependency pinning -- All Python dependencies pinned to exact versions with cryptographic hashes via pip-compile (#294)
- ✅ Docker image pinning -- Base image pinned to SHA256 manifest digest
- ✅ GitHub Actions pinning -- All CI actions pinned to commit SHAs
- ✅ Automated vulnerability audit -- pip-audit runs on every push/PR via pypa/gh-action-pip-audit
- ✅ Dependabot -- Weekly automated updates for pip, GitHub Actions, and Docker
- ✅ Python 3.13 -- Runtime upgraded from Python 3.12 to 3.13 (#296)
Released in v2026-03-16.1
- Event-driven speedtest triggers with modulation, SNR, error spike, and health change detection (#234)
- Configurable guardrails: global cooldown, per-trigger cooldown, max actions per hour, flapping detection
- Execution history with status tracking (pending, fired, completed, suppressed, expired)
- Correlation timeline integration for Smart Capture entries
- Follow-up: Per-trigger sub-settings and Connection Monitor packet loss trigger (#245)
Released in v2026-03-11.1
- ✅ Phase 1: Continuous target monitoring -- Always-on latency probing with ICMP/TCP, per-target stats, PingPlotter-style charts, outage log, CSV export (#194)
- ✅ Phase 2: Traceroute burst capture -- On-demand and event-triggered traceroute with hop-level evidence via dedicated setuid C helper (#196)
-
Phase 3: Remote probe / lightweight agent-- Closed. Not planned. (#197) - ✅ Sample aggregation -- Tiered retention with minute/hour averages for long-term trends, 30d/90d views (#198)
- Adaptive Polling -- Automatically increase poll frequency when errors spike
- Upstream Channel Count Monitoring -- Alert when upstream channels drop
- Ingress/Return Path Scoring -- Composite score for return path interference detection
- Network Uptime Calendar -- Month-view heatmap of daily quality
- SNMP-based generic driver
Want to work on one of these? Open an issue to discuss the approach first!
Home | Quick Start | Configuration | API Reference | GitHub
- Quick Start
- Installation
- Running without Docker
- Podman Quadlet
- Configuration
- Reverse Proxy
- Example Compose Stacks
- Dashboard
- Connection Monitor
- Signal Trends
- Before/After Comparison
- Channel Timeline & Compare
- Event Log
- Smart Capture
- Gaming Quality Index
- Modulation Performance
- Cable Segment Utilization
- In-App Glossary
- Speedtest Tracker
- BNetzA Breitbandmessung
- ThinkBroadband BQM
- Smokeping
- Weather
- Netzbremse (Peering)
- Home Assistant (MQTT)
- Prometheus Metrics