Hot reload is the part of DataMind Oda that applies changes in place, while it runs, instead of at the next start. This page shows which changes apply live, which ones wait for a restart, how Oda watches for changes, and what the reload messages mean.
With hot reload on, these changes take effect without a restart:
requires a process restart.root) names the folders watched for code changes. It defaults to the folder Oda runs from, and an empty list keeps only the exact watches for the settings files Oda manages.node_modules, entries whose names start with a dot, cache and data are skipped by default (the ignored list).debounce defaults to 100 ms.A failed reload changes nothing: the version that was already running stays in place, and the previous configuration is kept until a valid change applies. Reload messages use the short name HMR for hot reload.
| Message | What it means | What to do |
|---|---|---|
File: <file>:<line>:<column> | A code change failed to compile while it was being reloaded, so it was not applied. A short code frame follows the line. | Fix the file at the position shown and save again; the reload is retried. |
HMR is disposed | Hot reload had already shut down when the change arrived, so it could not be applied. | Start Oda again; the change is picked up at the next start. |
Profile HMR requires application readiness | The change arrived before Oda had finished starting. Configuration reloads run only after Oda is ready. | Nothing; the change is applied once Oda has started. |
If re-reading a watched settings file fails, Oda reports the failure and keeps the previous configuration; correct the file and save again.
With hot reload on: a plugin toggled on the Plugins page, an edit to the profile's settings file, and a code change covered by the watch list. Everything else waits for the next start.
The desktop app runs with hot reload on. Automation, the SDK and headless runs start with it off, and a profile can turn it back on in the settings file it keeps on this computer; Oda profiles and launchers covers the ways Oda runs.
Some changes always wait: replacing an installed plugin or bundle with another version, and pointing a plugin name at a different package or folder. Oda refuses the live change with requires a process restart; make the change and start Oda again.
A watched settings file is re-read only after its content has stopped changing for two seconds, so a half-finished save is never read. If a reload is already running, your save waits its turn, and changes that land together apply as one, at the latest state.
The root watch list names them. It defaults to the folder Oda runs from, and an empty list keeps only the exact watches for the settings files Oda manages. node_modules, entries whose names start with a dot, cache and data are skipped by default.
Nothing. A failed reload keeps the version that was already running and the previous configuration; once the cause is fixed and the file is saved again, the reload is retried.
The message File: <file>:<line>:<column> names the file that failed to compile and the position in it, followed by a short code frame. Fix that position and save again.
Hot reload had already shut down when the change arrived, so it could not be applied. Start Oda again; the change is picked up at the next start.
The change arrived while Oda was still starting. Configuration reloads run only after Oda is ready; nothing is lost, and the change applies once the start finishes.
No. Every reload shares one queue and runs one after another, and a reload never starts inside another. A failed reload does not stop the queue.
Yes. Creating, editing and deleting a watched file all count as changes, so when a settings file is deleted, the settings it added stop applying.