mirror of
https://github.com/emilk/egui.git
synced 2026-06-26 14:49:06 -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:
@@ -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")]
|
||||
|
||||
Reference in New Issue
Block a user