mirror of
https://github.com/vrtmrz/obsidian-livesync.git
synced 2025-12-27 16:41:29 +00:00
### Fixed - Off-loaded chunking have been fixed to ensure proper functionality (#693). - Chunk document ID assignment has been fixed. - Replication prevention message during version up detection has been improved (#686). - `Keep A` and `Keep B` on Conflict resolving dialogue has been renamed to `Use Base` and `Use Conflicted` (#691). ### Improved - Metadata and content-size unmatched documents are now detected and reported, prevented to be applied to the storage. ### New Features - `Scan for Broken files` has been implemented on `Hatch` -> `TroubleShooting`. ### Refactored - Off-loaded processes have been refactored for the better maintainability. - Removed unused code.
61 lines
2.3 KiB
TypeScript
61 lines
2.3 KiB
TypeScript
import { MarkdownRenderer } from "../../../deps.ts";
|
|
import { versionNumberString2Number } from "../../../lib/src/string_and_binary/convert.ts";
|
|
import { $msg } from "../../../lib/src/common/i18n.ts";
|
|
import { fireAndForget } from "octagonal-wheels/promises";
|
|
import type { ObsidianLiveSyncSettingTab } from "./ObsidianLiveSyncSettingTab.ts";
|
|
import { visibleOnly } from "./SettingPane.ts";
|
|
//@ts-ignore
|
|
const manifestVersion: string = MANIFEST_VERSION || "-";
|
|
//@ts-ignore
|
|
const updateInformation: string = UPDATE_INFO || "";
|
|
|
|
const lastVersion = ~~(versionNumberString2Number(manifestVersion) / 1000);
|
|
export function paneChangeLog(this: ObsidianLiveSyncSettingTab, paneEl: HTMLElement): void {
|
|
const cx = this.createEl(
|
|
paneEl,
|
|
"div",
|
|
{
|
|
cls: "op-warn-info",
|
|
},
|
|
undefined,
|
|
visibleOnly(() => !this.isConfiguredAs("versionUpFlash", ""))
|
|
);
|
|
|
|
this.createEl(
|
|
cx,
|
|
"div",
|
|
{
|
|
text: this.editingSettings.versionUpFlash,
|
|
},
|
|
undefined
|
|
);
|
|
this.createEl(cx, "button", { text: $msg("obsidianLiveSyncSettingTab.btnGotItAndUpdated") }, (e) => {
|
|
e.addClass("mod-cta");
|
|
e.addEventListener("click", () => {
|
|
fireAndForget(async () => {
|
|
this.editingSettings.versionUpFlash = "";
|
|
await this.saveAllDirtySettings();
|
|
});
|
|
});
|
|
});
|
|
const informationDivEl = this.createEl(paneEl, "div", { text: "" });
|
|
const tmpDiv = createDiv();
|
|
// tmpDiv.addClass("sls-header-button");
|
|
tmpDiv.addClass("op-warn-info");
|
|
|
|
tmpDiv.innerHTML = `<p>${$msg("obsidianLiveSyncSettingTab.msgNewVersionNote")}</p><button>${$msg("obsidianLiveSyncSettingTab.optionOkReadEverything")}</button>`;
|
|
if (lastVersion > (this.editingSettings?.lastReadUpdates || 0)) {
|
|
const informationButtonDiv = informationDivEl.appendChild(tmpDiv);
|
|
informationButtonDiv.querySelector("button")?.addEventListener("click", () => {
|
|
fireAndForget(async () => {
|
|
this.editingSettings.lastReadUpdates = lastVersion;
|
|
await this.saveAllDirtySettings();
|
|
informationButtonDiv.remove();
|
|
});
|
|
});
|
|
}
|
|
fireAndForget(() =>
|
|
MarkdownRenderer.render(this.plugin.app, updateInformation, informationDivEl, "/", this.plugin)
|
|
);
|
|
}
|