What's New
Complete Module Migration (#126) — CLOSED
All migratable features are now self-contained built-in modules with their own manifests, storage, routes, and i18n. 8 modules total:
| Module | Type | Batch |
|---|---|---|
| Backup & Restore | integration | 1 |
| Reports & Complaints | analysis | 1 |
| MQTT / Home Assistant | integration | 1 |
| Speedtest Tracker | integration | 2 |
| ThinkBroadband BQM | integration | 2 |
| BNetzA Broadband Measurement | integration | 2 |
| Weather Integration | integration | Pilot |
| Incident Journal | analysis | 3 |
Each module can be individually disabled via Settings > Modules.
Key Changes
- Standalone storage: Each module has its own Storage class (no more core mixins). Speedtest, BQM, BNetzA, and Journal all manage their own tables.
- Publisher contributes: New
publisherkey in module manifests for MQTT-style publishers. - Module loader fix: Dynamic imports now use real package paths (
app.modules.*) instead of synthetic ones, fixing relative imports in all modules. - i18n backward compatibility: Module translation keys are available both namespaced (
docsight.journal.icon_auto) and un-namespaced (icon_auto) for existing JS code.
What Stays Core (by design)
- DOCSIS Signal Analysis (IS the core domain)
- Events (core infrastructure used by all modules)
- Correlation Analysis (thin layer, tightly coupled)
Stats
- 693 tests passing
- 8 built-in modules discovered, 0 failures
- E2E verified: Dashboard, Journal, Settings/Modules