diff --git a/warzone/Cargo.lock b/warzone/Cargo.lock
index f8e1505..33791ac 100644
--- a/warzone/Cargo.lock
+++ b/warzone/Cargo.lock
@@ -2789,7 +2789,7 @@ dependencies = [
[[package]]
name = "warzone-client"
-version = "0.0.15"
+version = "0.0.16"
dependencies = [
"anyhow",
"argon2",
@@ -2822,7 +2822,7 @@ dependencies = [
[[package]]
name = "warzone-mule"
-version = "0.0.15"
+version = "0.0.16"
dependencies = [
"anyhow",
"clap",
@@ -2831,7 +2831,7 @@ dependencies = [
[[package]]
name = "warzone-protocol"
-version = "0.0.15"
+version = "0.0.16"
dependencies = [
"base64",
"bincode",
@@ -2856,7 +2856,7 @@ dependencies = [
[[package]]
name = "warzone-server"
-version = "0.0.15"
+version = "0.0.16"
dependencies = [
"anyhow",
"axum",
@@ -2883,7 +2883,7 @@ dependencies = [
[[package]]
name = "warzone-wasm"
-version = "0.0.15"
+version = "0.0.16"
dependencies = [
"base64",
"bincode",
diff --git a/warzone/Cargo.toml b/warzone/Cargo.toml
index 032568a..59bfe70 100644
--- a/warzone/Cargo.toml
+++ b/warzone/Cargo.toml
@@ -9,7 +9,7 @@ members = [
]
[workspace.package]
-version = "0.0.15"
+version = "0.0.16"
edition = "2021"
license = "MIT"
rust-version = "1.75"
diff --git a/warzone/crates/warzone-server/src/routes/web.rs b/warzone/crates/warzone-server/src/routes/web.rs
index cad7e18..3defa87 100644
--- a/warzone/crates/warzone-server/src/routes/web.rs
+++ b/warzone/crates/warzone-server/src/routes/web.rs
@@ -237,7 +237,7 @@ let pollTimer = null;
let ws = null; // WebSocket connection
let wasmReady = false;
-const VERSION = '0.0.15';
+const VERSION = '0.0.16';
let DEBUG = true; // toggle with /debug command
// ── Receipt tracking ──
@@ -641,16 +641,14 @@ function handleFileChunk(result) {
offset += c.length;
}
- // Trigger download
+ // Show clickable download link
const blob = new Blob([assembled]);
const url = URL.createObjectURL(blob);
- const a = document.createElement('a');
- a.href = url;
- a.download = pf.filename;
- a.click();
- URL.revokeObjectURL(url);
-
- addSys('File "' + pf.filename + '" downloaded (' + formatSize(assembled.length) + ')');
+ const d = document.createElement('div');
+ d.className = 'msg';
+ d.innerHTML = '' + ts() + ' 📎 ' + esc(pf.filename) + ' (' + formatSize(assembled.length) + ') from ' + esc(pf.sender.slice(0,12));
+ $messages.appendChild(d);
+ $messages.scrollTop = $messages.scrollHeight;
delete pendingFiles[result.id];
}
}