pub enum HotReloadKind {
Supported,
Experimental,
Unsupported,
}Expand description
How in-process (native) app reload is expected to behave.
Per research.md §R10, native hot-reload is inherently unreliable due to
dlclose semantics. The manifest field sets correct user expectations.
Variants§
Supported
Reload is reliable (Bun subprocess restart). Default for Bun apps.
Experimental
Reload is attempted but its result depends on whether the on-disk
library image actually changed. When the daemon has this app’s OLD
image mapped (Linux’s dlopen returns the cached handle for an
already-dlopen’d path, so a package upgrade landing new bytes at
the same path goes undetected without an explicit staleness check),
app.reload succeeds and reports status: "restart_required"; the
process keeps serving the OLD mapped image (with its last known-good
provides) until the node actually restarts, at which point the new
version activates. Default for Native apps (FR-024).
Unsupported
App must be restarted to pick up changes.