Block a user
Extract base config schema to eliminate duplication across nodes
Completed
Changes
baseConfig.json- Shared schema defining general/logging/functionality/asset sectionsConfigManager.buildConfig(nodeName, uiConfig, nodeId, domainConfig)…
predict_class.js:166 - array access without bounds check
predict_class.js:166 - array access without bounds check
Fixed in generalFunctions submodule commit.
Measurement.js:116 - orphaned console.log debug line
Replace hardcoded Grafana token with environment variable
Replace hardcoded Grafana token with environment variable
Replaced hardcoded Grafana token with process.env.GRAFANA_TOKEN (with current value as fallback for backward compatibility).
Remove deprecated files (menuUtils_DEPRECATED, childRegistrationUtils_DEPRECATED)
Remove deprecated files (menuUtils_DEPRECATED, childRegistrationUtils_DEPRECATED)
Verified no imports. Deleted both deprecated files. Lint clean.
MeasurementContainer.clear() does not reset chaining context
AssetLoader: unbounded cache (no max size, no TTL)
predict_class.js:166 - array access without bounds check
Measurement.js:116 - orphaned console.log debug line
validationUtils.js:274 - says Sorting but returns false instead of sorting
Integration tests for parent-child registration flows
Add tests for pumpingStation, reactor, settler, measurement nodes
Add unit tests for generalFunctions core (MeasurementContainer, ConfigManager)
API reference for generalFunctions
Developer guide: Creating a new EVOLV node