Some changes to DataMind Oda apply while it runs, and others wait for the next start. Hot reload is the part of Oda that applies changes in place: with it on, a plugin toggled or a settings file edited while Oda is open takes effect without a restart. This page shows which changes apply live, how Oda watches for them, and what the reload messages mean.
With hot reload on, these changes apply without a 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 settings watches.node_modules, dot entries (names starting with a dot), cache and data are skipped by default (the ignored list). Rapid changes are batched with a short delay: debounce defaults to 100 ms.A reload that does not go through changes nothing: the version that was already running stays in place, and the previous configuration is kept until the new one 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. | Fix the file and position shown; the message includes a short code frame. Saving again retries the reload. |
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.
Either hot reload is off for the way Oda was running, or the change is one that always needs a restart, such as a swapped plugin version. The automation, SDK and headless profiles start with hot reload off, and with it off every change applies at the next start; see Oda profiles and launchers.
Usually not. With hot reload on, plugin toggles, bundle installs and settings changes apply while Oda runs. Restart when you replace a plugin or bundle that is already installed, or change where a plugin's package comes from; see Plugins and bundles.
Oda re-reads a watched settings file only after its write has stopped changing for two seconds, so it never reads a file that is half-saved. If a reload is already running, your save waits its turn, and saves that land while one is running are not stacked up: the latest file state is what gets applied.
Nothing changes. A failed reload keeps the version that was already running and the previous configuration; the failure is reported so you can fix it, and saving again retries the reload.
The place in the code that failed to compile: File: <file>:<line>:<column>, followed by a short code frame. Fix the file at that position and save again to retry the reload.
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 before Oda had finished starting. Configuration reloads run only after Oda is ready; nothing is lost, and the change is applied once it has started.
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: later changes are still applied.
The settings files Oda manages are watched by their exact paths, wherever they sit. For code, a watch list (root) names the folders; it defaults to the folder Oda runs from, and an empty list keeps only the exact settings watches. node_modules, dot entries, cache and data are skipped by default.
Yes. Creating, changing and deleting a watched file all count as changes, so when a settings file is deleted, the settings it added stop applying.
It is on in the desktop app. The automation, SDK and headless profiles start with it off, and it can be switched back on in the settings file a profile keeps on this computer; see The profile settings file. With it off, changes apply at the next start.