mirror of
https://github.com/fleetbase/fleetbase.git
synced 2026-01-08 07:16:49 +00:00
## Changes
### Removed Old Instance Initializers
- Deleted `app/instance-initializers/load-extensions.js` (used bootEngines)
- Deleted `app/instance-initializers/initialize-widgets.js` (now in initialize-universe)
### Created New Instance Initializer
- `app/instance-initializers/initialize-universe.js`
- Creates console-specific registries
- Registers default dashboard widgets using WidgetService
- Loads extension.js files from enabled extensions
- No longer calls bootEngines (enables lazy loading)
### Migrated Application Route
- `app/routes/application.js`
- Replaced `@service universe` with specialized services
- Uses `@service('universe/hook-service')` for hook execution
- Uses `@service('universe/extension-manager')` for boot waiting
- `universe.callHooks()` → `hookService.execute()`
- `universe.booting()` → `extensionManager.waitForBoot()`
### Migrated Dashboard Widget Panel
- `app/components/dashboard/widget-panel.js`
- Replaced `@service universe` with `@service('universe/widget-service')`
- `universe.getDashboardWidgets()` → `widgetService.getWidgets('dashboard')`
### Migrated Dashboard Model
- `app/models/dashboard.js`
- `universe.getDashboardRegistry()` → `widgetService.getRegistry()`
- Looks up `service:universe/widget-service` instead of `service:universe`
### What Stayed the Same
- `app/controllers/console.js` - Event system usage unchanged
- `app/controllers/console/notifications.js` - Event system usage unchanged
- Event system (`on`, `trigger`) remains on Universe facade
## Benefits
- ✅ Enables true lazy loading (engines load on-demand)
- ✅ Separation of concerns via specialized services
- ✅ Clearer service responsibilities
- ✅ Better performance (no bootEngines at startup)
- ✅ Maintains backward compatibility for events