diff --git a/rslib/src/backend/config.rs b/rslib/src/backend/config.rs index 9bc1140a2..88bc34601 100644 --- a/rslib/src/backend/config.rs +++ b/rslib/src/backend/config.rs @@ -58,8 +58,14 @@ impl From for StringKey { impl crate::services::ConfigService for Collection { fn get_config_json(&mut self, input: generic::String) -> Result { - let val: Option = self.get_config_optional(input.val.as_str()); - val.or_not_found(input.val) + let key = input.val.as_str(); + let val: Option = self.get_config_optional(key); + let default = match key { + "reviewerStorage" => Some(serde_json::from_str("{}").unwrap()), + _ => None, + }; + val.or(default) + .or_not_found(key) .and_then(|v| serde_json::to_vec(&v).map_err(Into::into)) .map(Into::into) } diff --git a/ts/routes/reviewer/reviewer.ts b/ts/routes/reviewer/reviewer.ts index 2c2e5a612..6185d1b0c 100644 --- a/ts/routes/reviewer/reviewer.ts +++ b/ts/routes/reviewer/reviewer.ts @@ -41,7 +41,7 @@ export class ReviewerState { async onReady() { this.iframe!.style.visibility = "visible"; - const { json } = await getConfigJson({ val: "reviewer_storage" }); + const { json } = await getConfigJson({ val: "reviewerStorage" }); this.sendInnerRequest({ type: "setstorage", json_buffer: json }); this.showQuestion(null); addEventListener("message", this.onMessage.bind(this)); @@ -64,7 +64,7 @@ export class ReviewerState { } case "setstorage": { setConfigJson({ - key: "reviewer_storage", + key: "reviewerStorage", valueJson: e.data.json_buffer, undoable: false, });