diff --git a/src/DocumentHistoryModal.ts b/src/DocumentHistoryModal.ts index 372760c..a631d81 100644 --- a/src/DocumentHistoryModal.ts +++ b/src/DocumentHistoryModal.ts @@ -6,6 +6,7 @@ import ObsidianLiveSyncPlugin from "./main"; import { DIFF_DELETE, DIFF_EQUAL, DIFF_INSERT, diff_match_patch } from "diff-match-patch"; import { LoadedEntry, LOG_LEVEL } from "./lib/src/types"; import { Logger } from "./lib/src/logger"; +import { isErrorOfMissingDoc } from "./lib/src/utils_couchdb"; import { getDocData } from "./lib/src/utils"; export class DocumentHistoryModal extends Modal { @@ -35,13 +36,13 @@ export class DocumentHistoryModal extends Modal { const db = this.plugin.localDatabase; try { const w = await db.localDatabase.get(path2id(this.file), { revs_info: true }); - this.revs_info = w._revs_info.filter((e) => e.status == "available"); + this.revs_info = w._revs_info.filter((e) => e?.status == "available"); this.range.max = `${this.revs_info.length - 1}`; this.range.value = this.range.max; this.fileInfo.setText(`${this.file} / ${this.revs_info.length} revisions`); await this.loadRevs(); } catch (ex) { - if (ex.status && ex.status == 404) { + if (isErrorOfMissingDoc(ex)) { this.range.max = "0"; this.range.value = ""; this.range.disabled = true; diff --git a/src/lib b/src/lib index 2567497..9e993fd 160000 --- a/src/lib +++ b/src/lib @@ -1 +1 @@ -Subproject commit 2567497fa6f55e5f1f9fb00e20d4cb7b4f00f915 +Subproject commit 9e993fd984b0aabbe63b0cce17d056f40b2e650b diff --git a/src/main.ts b/src/main.ts index 98bac3f..45043cc 100644 --- a/src/main.ts +++ b/src/main.ts @@ -15,7 +15,7 @@ import { decrypt, encrypt, tryDecrypt } from "./lib/src/e2ee_v2"; const isDebug = false; import { InputStringDialog, PluginDialogModal, PopoverSelectString } from "./dialogs"; -import { isCloudantURI } from "./lib/src/utils_couchdb"; +import { isCloudantURI, isErrorOfMissingDoc } from "./lib/src/utils_couchdb"; import { getGlobalStore, observeStores } from "./lib/src/store"; import { lockStore, logMessageStore, logStore } from "./lib/src/stores"; import { NewNotice, setNoticeClass, WrappedNotice } from "./lib/src/wrapper"; @@ -2132,7 +2132,7 @@ export default class ObsidianLiveSyncPlugin extends Plugin { data: data }; } catch (ex) { - if (ex.status && ex.status == 404) { + if (isErrorOfMissingDoc(ex)) { return false; } }