| @@ -665,8 +665,15 @@ | ||
| 665 | 665 | 'active_reason' => $module->active_reason(), |
| 666 | 666 | 'label' => $meta['label'] ?? ucfirst( $slug ), |
| 667 | 667 | 'icon' => $meta['icon'] ?? 'Square', |
| 668 | 668 | 'description' => $meta['description'] ?? '', |
| 669 | + // The dashboard group the module belongs to (cache, performance, | |
| 670 | + // network, insights, tools, ai-agents, settings), declared by the | |
| 671 | + // module itself. The Hub kept its own copy of this map, so every | |
| 672 | + // new module landed in its "Other" bucket until the Hub shipped. | |
| 673 | + // Must agree with src/components/sidebarGroups.ts; a unit test | |
| 674 | + // holds the two together. | |
| 675 | + 'group' => $meta['group'] ?? null, | |
| 669 | 676 | // Short label for the module's own tab when it hosts a tabbed |
| 670 | 677 | // page (FBS-83633). Only set on host modules. |
| 671 | 678 | 'tab_label' => $meta['tab_label'] ?? null, |
| 672 | 679 | // Public view: real values except secret fields, which are masked. |