fix: don't send hot-reload if app is building (#3607)
This commit is contained in:
1 parent
6c907b1c20
commit
024285c548
2 files changed
+9
-4
No files matched your search
@@ -315,4 +315,9 @@ impl Builder {
|
|||||||
_ => false,
|
_ => false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Check if the queued build is blocking hotreloads
|
||||||
|
pub(crate) fn can_receive_hotreloads(&self) -> bool {
|
||||||
|
matches!(&self.stage, BuildStage::Success)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -93,10 +93,10 @@ pub(crate) async fn serve_all(mut args: ServeArgs) -> Result<()> {
|
|||||||
// and then send that update to all connected clients
|
// and then send that update to all connected clients
|
||||||
if let Some(hr) = runner.attempt_hot_reload(files).await {
|
if let Some(hr) = runner.attempt_hot_reload(files).await {
|
||||||
// Only send a hotreload message for templates and assets - otherwise we'll just get a full rebuild
|
// Only send a hotreload message for templates and assets - otherwise we'll just get a full rebuild
|
||||||
if hr.templates.is_empty()
|
//
|
||||||
&& hr.assets.is_empty()
|
// Also make sure the builder isn't busy since that might cause issues with hotreloads
|
||||||
&& hr.unknown_files.is_empty()
|
// https://github.com/DioxusLabs/dioxus/issues/3361
|
||||||
{
|
if hr.is_empty() || !builder.can_receive_hotreloads() {
|
||||||
tracing::debug!(dx_src = ?TraceSrc::Dev, "Ignoring file change: {}", file);
|
tracing::debug!(dx_src = ?TraceSrc::Dev, "Ignoring file change: {}", file);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user