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:
parent
095a3d20fb
commit
7ca5ac5ac7
@ -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
4
package-lock.json
generated
@ -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",
|
||||
|
@ -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",
|
||||
|
@ -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.
|
||||
|
@ -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)) {
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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; }
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
}
|
@ -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();
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user