fix: err on startup with a clear expect, rather than swallowing
This commit is contained in:
parent
0e8d6e1f54
commit
2f842632a6
2 changed files with 13 additions and 4 deletions
|
|
@ -16,7 +16,7 @@ async fn main() {
|
||||||
let listen = config.listen_addr();
|
let listen = config.listen_addr();
|
||||||
let entries_dir = config.data_dir.join("entries");
|
let entries_dir = config.data_dir.join("entries");
|
||||||
|
|
||||||
std::fs::create_dir_all(&entries_dir).ok();
|
std::fs::create_dir_all(&entries_dir).expect("failed to create entries directory");
|
||||||
|
|
||||||
let (tx, rx) = tokio::sync::mpsc::channel::<(entries::Entry, Option<Vec<u8>>, Option<Vec<u8>>)>(32);
|
let (tx, rx) = tokio::sync::mpsc::channel::<(entries::Entry, Option<Vec<u8>>, Option<Vec<u8>>)>(32);
|
||||||
|
|
||||||
|
|
|
||||||
15
src/web.rs
15
src/web.rs
|
|
@ -254,7 +254,10 @@ async fn submit(
|
||||||
let drawing_filename = if let Some(ref bytes) = drawing_bytes {
|
let drawing_filename = if let Some(ref bytes) = drawing_bytes {
|
||||||
let drawing_name = format!("{prefix}.png");
|
let drawing_name = format!("{prefix}.png");
|
||||||
let drawings_dir = state.config.data_dir.join("drawings");
|
let drawings_dir = state.config.data_dir.join("drawings");
|
||||||
std::fs::create_dir_all(&drawings_dir).ok();
|
if let Err(e) = std::fs::create_dir_all(&drawings_dir) {
|
||||||
|
tracing::error!("failed to create drawings directory: {e}");
|
||||||
|
return Html(render_error_page(&state.config, "Something went wrong. Please try again."));
|
||||||
|
}
|
||||||
if let Err(e) = std::fs::write(drawings_dir.join(&drawing_name), bytes) {
|
if let Err(e) = std::fs::write(drawings_dir.join(&drawing_name), bytes) {
|
||||||
tracing::error!("failed to write drawing: {e}");
|
tracing::error!("failed to write drawing: {e}");
|
||||||
return Html(render_error_page(&state.config, "Something went wrong. Please try again."));
|
return Html(render_error_page(&state.config, "Something went wrong. Please try again."));
|
||||||
|
|
@ -267,7 +270,10 @@ async fn submit(
|
||||||
let voice_note_filename = if let Some(ref bytes) = voice_note_bytes {
|
let voice_note_filename = if let Some(ref bytes) = voice_note_bytes {
|
||||||
let vn_name = format!("{prefix}.webm");
|
let vn_name = format!("{prefix}.webm");
|
||||||
let vn_dir = state.config.data_dir.join("voice_notes");
|
let vn_dir = state.config.data_dir.join("voice_notes");
|
||||||
std::fs::create_dir_all(&vn_dir).ok();
|
if let Err(e) = std::fs::create_dir_all(&vn_dir) {
|
||||||
|
tracing::error!("failed to create voice notes directory: {e}");
|
||||||
|
return Html(render_error_page(&state.config, "Something went wrong. Please try again."));
|
||||||
|
}
|
||||||
if let Err(e) = std::fs::write(vn_dir.join(&vn_name), bytes) {
|
if let Err(e) = std::fs::write(vn_dir.join(&vn_name), bytes) {
|
||||||
tracing::error!("failed to write voice note: {e}");
|
tracing::error!("failed to write voice note: {e}");
|
||||||
return Html(render_error_page(&state.config, "Something went wrong. Please try again."));
|
return Html(render_error_page(&state.config, "Something went wrong. Please try again."));
|
||||||
|
|
@ -292,7 +298,10 @@ async fn submit(
|
||||||
|
|
||||||
// Write to disk
|
// Write to disk
|
||||||
let entries_dir = state.config.data_dir.join("entries");
|
let entries_dir = state.config.data_dir.join("entries");
|
||||||
std::fs::create_dir_all(&entries_dir).ok();
|
if let Err(e) = std::fs::create_dir_all(&entries_dir) {
|
||||||
|
tracing::error!("failed to create entries directory: {e}");
|
||||||
|
return Html(render_error_page(&state.config, "Something went wrong. Please try again."));
|
||||||
|
}
|
||||||
let path = entries_dir.join(&filename);
|
let path = entries_dir.join(&filename);
|
||||||
if let Err(e) = std::fs::write(&path, entry.to_file_contents()) {
|
if let Err(e) = std::fs::write(&path, entry.to_file_contents()) {
|
||||||
tracing::error!("failed to write entry: {e}");
|
tracing::error!("failed to write entry: {e}");
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue