Frontmatter
| id | 8153 |
| title | Architecture: Propagate windowId to StateProviders and Controllers |
| state | Closed |
| labels | enhancementaiarchitecture |
| assignees | tobiu |
| createdAt | Dec 21, 2025, 5:09 PM |
| updatedAt | Dec 21, 2025, 5:13 PM |
| githubUrl | https://github.com/neomjs/neo/issues/8153 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | null |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Dec 21, 2025, 5:13 PM |
Architecture: Propagate windowId to StateProviders and Controllers
tobiu assigned to @tobiu on Dec 21, 2025, 5:09 PM

tobiu
Dec 21, 2025, 5:13 PM
Implemented windowId propagation to state.Provider and controller.Component.
- Added non-reactive windowId config to state.Provider
- Updated component.Abstract to propagate windowId changes
- Updated component.Abstract to pass windowId during state provider creation
- Fixed JSDoc type for controller.Component.windowId
tobiu closed this issue on Dec 21, 2025, 5:13 PM
This task ensures that
windowIdis consistently propagated fromNeo.component.Abstractto its associatedstate.Providerandcontroller.Componentinstances.Requirements:
Neo.state.Provider:
windowIdconfig (defaultnull). It does not need to be reactive, ascontroller.Componentalready has it as a non-reactive config.Neo.component.Abstract:
afterSetWindowId(value, oldValue):valueis defined, propagate it tothis.controller.windowId(if the controller exists).valueis defined, propagate it tothis.stateProvider.windowId(if the state provider exists).beforeSetStateProvider(value, oldValue):windowId: this.windowIdin the default values object passed toClassSystemUtil.beforeSetInstancewhen creating the state provider instance.