From 5a2e12da01f224e7023a80317e8f03cbf652c173 Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Thu, 25 Jun 2026 14:23:55 -0400 Subject: [PATCH] =?UTF-8?q?fix:=20anti-doublon=20upload=20=E2=80=94=20lock?= =?UTF-8?q?=20m=C3=A9moire=20in-flight=20+=20garde=20click/drag=20frontend?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Backend: Mutex pour bloquer les uploads concurrents du même hash (409 Conflict) - Backend: logs tracing pour tracer chaque upload entrant - Frontend: flag isDragging pour éviter le double déclenchement click+drag - Dépendance: ajout hex = 0.4 pour log du hash Corrige le bug où un seul fichier uploadé générait 4 copies sur Imago. --- Cargo.lock | 7 +++++++ Cargo.toml | 1 + src/frontend/changelog.html | 6 +++--- src/frontend/help.html | 6 +++--- src/frontend/index.html | 10 +++++++--- src/server/mod.rs | 3 +++ src/server/routes.rs | 34 ++++++++++++++++++++++++++++++++++ 7 files changed, 58 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a04cedd..a96362f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1013,6 +1013,12 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + [[package]] name = "http" version = "1.4.2" @@ -1276,6 +1282,7 @@ dependencies = [ "clap", "dashmap", "futures-util", + "hex", "image", "libc", "notify", diff --git a/Cargo.toml b/Cargo.toml index 42765b7..5926025 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,6 +23,7 @@ serde_json = "1" toml = "0.8" # Hashing sha2 = "0.10" +hex = "0.4" # SQLite rusqlite = { version = "0.32", features = ["bundled"] } # Logging diff --git a/src/frontend/changelog.html b/src/frontend/changelog.html index ddd846a..06a8ac2 100644 --- a/src/frontend/changelog.html +++ b/src/frontend/changelog.html @@ -3,7 +3,7 @@ -Changelog — imagod-web v0.2.0+build.21-e867dad-dirty +Changelog — imagod-web v0.2.0+build.22-3254c33-dirty