1
0
mirror of https://github.com/vrtmrz/obsidian-livesync.git synced 2025-01-05 12:50:41 +02:00

0.24.0.dev-rc3

This commit is contained in:
vorotamoroz 2024-10-17 10:19:08 +01:00
parent 095a3d20fb
commit 7ca5ac5ac7
10 changed files with 59 additions and 49 deletions

View File

@ -1,7 +1,7 @@
{
"id": "obsidian-livesync",
"name": "Self-hosted LiveSync",
"version": "0.24.0.dev-rc2",
"version": "0.24.0.dev-rc3",
"minAppVersion": "0.9.12",
"description": "Community implementation of self-hosted livesync. Reflect your vault changes to some other devices immediately. Please make sure to disable other synchronize solutions to avoid content corruption or duplication.",
"author": "vorotamoroz",

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "obsidian-livesync",
"version": "0.24.0.dev-rc2",
"version": "0.24.0.dev-rc3",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "obsidian-livesync",
"version": "0.24.0.dev-rc2",
"version": "0.24.0.dev-rc3",
"license": "MIT",
"dependencies": {
"@aws-sdk/client-s3": "^3.645.0",

View File

@ -1,6 +1,6 @@
{
"name": "obsidian-livesync",
"version": "0.24.0.dev-rc2",
"version": "0.24.0.dev-rc3",
"description": "Reflect your vault changes to some other devices immediately. Please make sure to disable other synchronize solutions to avoid content corruption or duplication.",
"main": "main.js",
"type": "module",

View File

@ -343,7 +343,7 @@ export class ConfigSync extends LiveSyncCommands implements IObsidianModule {
get useSyncPluginEtc() {
return this.plugin.settings.usePluginEtc;
}
$isThisModuleEnabled() {
_isThisModuleEnabled() {
return this.plugin.settings.usePluginSync;
}
@ -352,7 +352,7 @@ export class ConfigSync extends LiveSyncCommands implements IObsidianModule {
pluginList: IPluginDataExDisplay[] = [];
showPluginSyncModal() {
if (!this.$isThisModuleEnabled()) {
if (!this._isThisModuleEnabled()) {
return;
}
if (this.pluginDialog) {
@ -417,7 +417,7 @@ export class ConfigSync extends LiveSyncCommands implements IObsidianModule {
return this.getFileCategory(filePath) != "";
}
async $everyOnDatabaseInitialized(showNotice: boolean) {
if (!this.$isThisModuleEnabled()) return true;
if (!this._isThisModuleEnabled()) return true;
try {
Logger("Scanning customizations...");
await this.scanAllConfigFiles(showNotice);
@ -429,7 +429,7 @@ export class ConfigSync extends LiveSyncCommands implements IObsidianModule {
return true;
}
async $everyBeforeReplicate(showNotice: boolean) {
if (!this.$isThisModuleEnabled()) return true;
if (!this._isThisModuleEnabled()) return true;
if (this.settings.autoSweepPlugins) {
await this.scanAllConfigFiles(showNotice);
return true;
@ -437,8 +437,8 @@ export class ConfigSync extends LiveSyncCommands implements IObsidianModule {
return true;
}
async $everyOnResumeProcess(): Promise<boolean> {
if (!this.$isThisModuleEnabled()) return true;
if (this.$isMainSuspended()) {
if (!this._isThisModuleEnabled()) return true;
if (this._isMainSuspended()) {
return true;
}
if (this.settings.autoSweepPlugins) {
@ -449,7 +449,7 @@ export class ConfigSync extends LiveSyncCommands implements IObsidianModule {
}
$everyAfterResumeProcess(): Promise<boolean> {
const q = activeDocument.querySelector(`.livesync-ribbon-showcustom`);
q?.toggleClass("sls-hidden", !this.$isThisModuleEnabled());
q?.toggleClass("sls-hidden", !this._isThisModuleEnabled());
return Promise.resolve(true);
}
async reloadPluginList(showMessage: boolean) {
@ -754,7 +754,7 @@ export class ConfigSync extends LiveSyncCommands implements IObsidianModule {
}
async updatePluginList(showMessage: boolean, updatedDocumentPath?: FilePathWithPrefix): Promise<void> {
if (!this.$isThisModuleEnabled()) {
if (!this._isThisModuleEnabled()) {
this.pluginScanProcessor.clearQueue();
this.pluginList = [];
pluginList.set(this.pluginList)
@ -1019,10 +1019,10 @@ export class ConfigSync extends LiveSyncCommands implements IObsidianModule {
}
async $anyModuleParsedReplicationResultItem(docs: PouchDB.Core.ExistingDocument<EntryDoc>) {
if (!docs._id.startsWith(ICXHeader)) return undefined;
if (this.$isThisModuleEnabled()) {
if (this._isThisModuleEnabled()) {
await this.updatePluginList(false, (docs as AnyEntry).path ? (docs as AnyEntry).path : this.getPath((docs as AnyEntry)));
}
if (this.$isThisModuleEnabled() && this.plugin.settings.notifyPluginOrSettingUpdated) {
if (this._isThisModuleEnabled() && this.plugin.settings.notifyPluginOrSettingUpdated) {
if (!this.pluginDialog || (this.pluginDialog && !this.pluginDialog.isOpened())) {
const fragment = createFragment((doc) => {
doc.createEl("span", undefined, (a) => {
@ -1063,9 +1063,9 @@ export class ConfigSync extends LiveSyncCommands implements IObsidianModule {
}
async $everyRealizeSettingSyncMode(): Promise<boolean> {
this.periodicPluginSweepProcessor?.disable();
if (!this.$isMainReady) return true;
if (!this.$isMainSuspended()) return true;
if (!this.$isThisModuleEnabled()) return true;
if (!this._isMainReady) return true;
if (!this._isMainSuspended()) return true;
if (!this._isThisModuleEnabled()) return true;
if (this.settings.autoSweepPlugins) {
await this.scanAllConfigFiles(false);
}
@ -1323,9 +1323,9 @@ export class ConfigSync extends LiveSyncCommands implements IObsidianModule {
}
async watchVaultRawEventsAsync(path: FilePath) {
// if (!this.$isMainReady) return true;
// if (!this.$isMainSuspended()) return true;
if (!this.$isThisModuleEnabled()) return true;
if (!this._isMainReady) return true;
if (!this._isMainSuspended()) return true;
if (!this._isThisModuleEnabled()) return true;
if (!this.isTargetPath(path)) return false;
const stat = await this.plugin.storageAccess.statHidden(path);
// Make sure that target is a file.

View File

@ -14,11 +14,11 @@ import type { IObsidianModule } from "../../modules/AbstractObsidianModule.ts";
export class HiddenFileSync extends LiveSyncCommands implements IObsidianModule {
$isThisModuleEnabled() {
_isThisModuleEnabled() {
return this.plugin.settings.syncInternalFiles;
}
periodicInternalFileScanProcessor: PeriodicProcessor = new PeriodicProcessor(this.plugin, async () => this.$isThisModuleEnabled() && this.$isDatabaseReady() && await this.syncInternalFilesAndDatabase("push", false));
periodicInternalFileScanProcessor: PeriodicProcessor = new PeriodicProcessor(this.plugin, async () => this._isThisModuleEnabled() && this._isDatabaseReady() && await this.syncInternalFilesAndDatabase("push", false));
get kvDB() {
return this.plugin.kvDB;
@ -39,7 +39,7 @@ export class HiddenFileSync extends LiveSyncCommands implements IObsidianModule
});
}
async $everyOnDatabaseInitialized(showNotice: boolean) {
if (this.$isThisModuleEnabled()) {
if (this._isThisModuleEnabled()) {
try {
Logger("Synchronizing hidden files...");
await this.syncInternalFilesAndDatabase("push", showNotice);
@ -52,7 +52,7 @@ export class HiddenFileSync extends LiveSyncCommands implements IObsidianModule
return true;
}
async $everyBeforeReplicate(showNotice: boolean) {
if (this.$isThisModuleEnabled() && this.$isDatabaseReady() && this.settings.syncInternalFilesBeforeReplication && !this.settings.watchInternalFileChanges) {
if (this._isThisModuleEnabled() && this._isDatabaseReady() && this.settings.syncInternalFilesBeforeReplication && !this.settings.watchInternalFileChanges) {
await this.syncInternalFilesAndDatabase("push", showNotice);
}
return true;
@ -61,22 +61,22 @@ export class HiddenFileSync extends LiveSyncCommands implements IObsidianModule
async $everyOnResumeProcess(): Promise<boolean> {
this.periodicInternalFileScanProcessor?.disable();
if (this.$isMainSuspended())
if (this._isMainSuspended())
return true;
if (this.$isThisModuleEnabled()) {
if (this._isThisModuleEnabled()) {
await this.syncInternalFilesAndDatabase("safe", false);
}
this.periodicInternalFileScanProcessor.enable(this.$isThisModuleEnabled() && this.settings.syncInternalFilesInterval ? (this.settings.syncInternalFilesInterval * 1000) : 0);
this.periodicInternalFileScanProcessor.enable(this._isThisModuleEnabled() && this.settings.syncInternalFilesInterval ? (this.settings.syncInternalFilesInterval * 1000) : 0);
return true
}
$everyRealizeSettingSyncMode(): Promise<boolean> {
this.periodicInternalFileScanProcessor?.disable();
if (this.$isMainSuspended())
if (this._isMainSuspended())
return Promise.resolve(true);
if (!this.plugin.isReady)
return Promise.resolve(true);
this.periodicInternalFileScanProcessor.enable(this.$isThisModuleEnabled() && this.settings.syncInternalFilesInterval ? (this.settings.syncInternalFilesInterval * 1000) : 0);
this.periodicInternalFileScanProcessor.enable(this._isThisModuleEnabled() && this.settings.syncInternalFilesInterval ? (this.settings.syncInternalFilesInterval * 1000) : 0);
return Promise.resolve(true);
}
@ -98,7 +98,7 @@ export class HiddenFileSync extends LiveSyncCommands implements IObsidianModule
return await this.watchVaultRawEventsAsync(path);
}
async watchVaultRawEventsAsync(path: FilePath): Promise<boolean | undefined> {
if (!this.$isThisModuleEnabled()) return false;
if (!this._isThisModuleEnabled()) return false;
if (!isInternalMetadata(path)) return false;
// Exclude files handled by customization sync
@ -274,7 +274,7 @@ export class HiddenFileSync extends LiveSyncCommands implements IObsidianModule
}
async $anyProcessOptionalSyncFiles(doc: LoadedEntry): Promise<boolean | undefined> {
if (isInternalMetadata(doc._id) && this.$isThisModuleEnabled()) {
if (isInternalMetadata(doc._id) && this._isThisModuleEnabled()) {
//system file
const filename = getPath(doc);
if (await this.plugin.$$isTargetFile(filename)) {

View File

@ -31,13 +31,13 @@ export abstract class LiveSyncCommands {
abstract onunload(): void;
abstract onload(): void | Promise<void>;
$isMainReady() {
return this.plugin.$isMainReady();
_isMainReady() {
return this.plugin._isMainReady();
}
$isMainSuspended() {
return this.plugin.$isMainSuspended();
_isMainSuspended() {
return this.plugin._isMainSuspended();
}
$isDatabaseReady() {
return this.plugin.$isDatabaseReady();
_isDatabaseReady() {
return this.plugin._isDatabaseReady();
}
}

View File

@ -618,10 +618,10 @@ export default class ObsidianLiveSyncPlugin extends Plugin implements LiveSyncLo
$everyModuleTestMultiDevice(): Promise<boolean> { return InterceptiveEvery; }
$$addTestResult(name: string, key: string, result: boolean, summary?: string, message?: string): void { throwShouldBeOverridden(); }
$isMainReady(): boolean { return this.isReady; }
$isMainSuspended(): boolean { return this.suspended; }
$isThisModuleEnabled(): boolean { return true; }
$isDatabaseReady(): boolean { return this.localDatabase.isReady; }
_isMainReady(): boolean { return this.isReady; }
_isMainSuspended(): boolean { return this.suspended; }
_isThisModuleEnabled(): boolean { return true; }
_isDatabaseReady(): boolean { return this.localDatabase.isReady; }
$anyGetAppId(): Promise<string | undefined> { return InterceptiveAny; }
}

View File

@ -38,18 +38,18 @@ export abstract class AbstractObsidianModule extends AbstractModule {
saveSettings = this.plugin.saveSettings.bind(this.plugin);
$isMainReady() {
return this.core.$isMainReady();
_isMainReady() {
return this.core._isMainReady();
}
$isMainSuspended() {
return this.core.$isMainSuspended();
_isMainSuspended() {
return this.core._isMainSuspended();
}
$isDatabaseReady() {
return this.core.$isDatabaseReady();
_isDatabaseReady() {
return this.core._isDatabaseReady();
}
//should be overridden
$isThisModuleEnabled() {
_isThisModuleEnabled() {
return true
}
}

View File

@ -9,9 +9,12 @@ import { writable } from "svelte/store";
export class ModuleDev extends AbstractObsidianModule implements IObsidianModule {
$everyOnloadStart(): Promise<boolean> {
__onMissingTranslation(() => { });
return Promise.resolve(true);
}
$everyOnloadAfterLoadSettings(): Promise<boolean> {
if (!this.settings.enableDebugTools) return Promise.resolve(true);
__onMissingTranslation(() => { });
// eslint-disable-next-line no-unused-labels
__onMissingTranslation((key) => {
const now = new Date();

View File

@ -23,6 +23,13 @@ Thank you, and I hope your troubles will be resolved!
---
## 0.24.0.dev-rc3
### Fixed
- No longer Missing Translation Warning is shown in the console.
- Fixed the issue where some functions were not working properly (`_` started functions).
## 0.24.0.dev-rc2
### Fixed