1
0
mirror of https://github.com/emilk/egui.git synced 2026-06-26 22:53:14 -04:00

Log localStorage write failures in local_storage_set (#8062)

Log `localStorage` write failures in `local_storage_set`

**Description**  
This PR improves `local_storage_set()` logging in
`eframe/src/web/storage.rs`.

It logs:
- write failures with key and browser error
- unavailable local storage

This helps diagnose web persistence issues such as `QuotaExceededError`
when `localStorage.setItem()` fails.

---------

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
This commit is contained in:
rustbasic
2026-04-07 17:38:57 +09:00
committed by GitHub
parent 3abba21f2d
commit 188ffacf41

View File

@@ -9,7 +9,19 @@ pub fn local_storage_get(key: &str) -> Option<String> {
/// Write data to local storage.
pub fn local_storage_set(key: &str, value: &str) {
local_storage().map(|storage| storage.set_item(key, value));
match local_storage() {
Some(storage) => {
if let Err(err) = storage.set_item(key, value) {
log::warn!(
"local_storage_set failed: key={key}, err={}",
crate::web::string_from_js_value(&err)
);
}
}
None => {
log::warn!("local_storage unavailable");
}
}
}
#[cfg(feature = "persistence")]