feat: device hot-reload, tools-relative adb, auto port bind (#3586)

* wip: bind to 0.0.0.0 instead of 127.0.0.1

* dont hang in background - ignore suspend commands when tty is disabled

* use system adb

* pass configs through to android mobile launch

* fix: line sizes + clear pushes frame

* dont resume window state on mobile

* fix screen sizing for ipad

* attempt and fail to implement codesigning

* Clippy and note about safety in android bindings
This commit is contained in:
Jonathan Kelley authored and GitHub committed 2025-01-20 17:42:13 -08:00
1 parent e199e86dad
commit 8334f7fbaa
22 files changed
+620 -212

No files matched your search

+9 -1
View File
@@ -194,12 +194,15 @@ impl AppRunner {
/// Open an existing app bundle, if it exists
pub(crate) async fn open_existing(&mut self, devserver: &WebServer) -> Result<()> {
let fullstack_address = devserver.proxied_server_address();
if let Some((_, app)) = self
.running
.iter_mut()
.find(|(platform, _)| **platform != Platform::Server)
{
app.open(devserver.devserver_address(), None, true).await?;
app.open(devserver.devserver_address(), fullstack_address, true)
.await?;
}
Ok(())
}
@@ -228,6 +231,11 @@ impl AppRunner {
continue;
}
// Special-case the Cargo.toml file - we want updates here to cause a full rebuild
if path.file_name().and_then(|v| v.to_str()) == Some("Cargo.toml") {
return None;
}
// Otherwise, it might be an asset and we should look for it in all the running apps
for runner in self.running.values() {
if let Some(bundled_name) = runner.hotreload_bundled_asset(&path).await {