fix filecount desync

This commit is contained in:
minish 2025-07-02 23:42:01 -04:00
parent 471649fdec
commit 1554233e12
Signed by: min
SSH Key Fingerprint: SHA256:h4k7JNrfe1dzv1WE3oGVeAY9DPSZXIu3/j89+6DtHWE
5 changed files with 17 additions and 10 deletions

2
Cargo.lock generated
View File

@ -224,7 +224,7 @@ dependencies = [
[[package]]
name = "breeze"
version = "0.3.0"
version = "0.3.1"
dependencies = [
"argh",
"atomic-time",

View File

@ -1,6 +1,6 @@
[package]
name = "breeze"
version = "0.3.0"
version = "0.3.1"
edition = "2024"
[profile.dev.package]

View File

@ -1,4 +1,4 @@
use std::sync::Arc;
use std::sync::{Arc, atomic::Ordering};
use axum::extract::{Query, State};
use base64::{Engine, prelude::BASE64_URL_SAFE_NO_PAD};
@ -82,5 +82,8 @@ pub async fn delete(
return (StatusCode::INTERNAL_SERVER_ERROR, "Delete failed");
}
// decrement upload count
engine.upl_count.fetch_sub(1, Ordering::Relaxed);
(StatusCode::OK, "Deleted successfully!")
}

View File

@ -77,16 +77,20 @@ impl Disk {
tokio::spawn(async move {
// create file to save upload to
let mut file = File::create(p)
.await
.expect("could not open file! make sure your upload path is valid");
let file = File::create(p).await;
if let Err(err) = file {
tracing::error!(%err, "could not open file! make sure your upload path is valid");
return;
}
let mut file = file.unwrap();
// receive chunks and save them to file
while let Some(chunk) = rx.recv().await {
debug!("writing chunk to disk (length: {})", chunk.len());
file.write_all(&chunk)
.await
.expect("error while writing file to disk");
if let Err(err) = file.write_all(&chunk).await {
tracing::error!(%err, "error while writing file to disk");
}
}
});

View File

@ -343,7 +343,7 @@ impl Engine {
/// Wipe out an upload from all storage.
///
/// This is for deleting failed uploads only!!
/// (Intended for deletion URLs and failed uploads)
pub async fn remove(&self, saved_name: &str) -> eyre::Result<()> {
info!(saved_name, "!! removing upload");