mirror of
https://github.com/vrtmrz/obsidian-livesync.git
synced 2026-05-01 05:18:34 +00:00
- Rename methods for automatic binging checking.
- Add automatic binging checks.
This commit is contained in:
@@ -33,176 +33,6 @@ import { getPlatformName } from "../../lib/src/PlatformAPIs/obsidian/Environment
|
||||
import type { LiveSyncCore } from "../../main.ts";
|
||||
import { TrysteroReplicator } from "../../lib/src/replication/trystero/TrysteroReplicator.ts";
|
||||
|
||||
// class P2PReplicatorCommandBase extends LiveSyncCommands implements P2PReplicatorBase {
|
||||
// storeP2PStatusLine = reactiveSource("");
|
||||
|
||||
// getSettings(): P2PSyncSetting {
|
||||
// return this.plugin.settings;
|
||||
// }
|
||||
// get settings() {
|
||||
// return this.plugin.settings;
|
||||
// }
|
||||
// getDB() {
|
||||
// return this.plugin.localDatabase.localDatabase;
|
||||
// }
|
||||
|
||||
// get confirm(): Confirm {
|
||||
// return this.plugin.confirm;
|
||||
// }
|
||||
// _simpleStore!: SimpleStore<any>;
|
||||
|
||||
// simpleStore(): SimpleStore<any> {
|
||||
// return this._simpleStore;
|
||||
// }
|
||||
|
||||
// constructor(plugin: ObsidianLiveSyncPlugin) {
|
||||
// super(plugin);
|
||||
// this.onBindFunction(plugin, plugin.services);
|
||||
// }
|
||||
|
||||
// async handleReplicatedDocuments(docs: EntryDoc[]): Promise<void> {
|
||||
// // console.log("Processing Replicated Docs", docs);
|
||||
// return await this.services.replication.parseSynchroniseResult(
|
||||
// docs as PouchDB.Core.ExistingDocument<EntryDoc>[]
|
||||
// );
|
||||
// }
|
||||
// onunload(): void {
|
||||
// throw new Error("Method not implemented.");
|
||||
// }
|
||||
// onload(): void | Promise<void> {
|
||||
// throw new Error("Method not implemented.");
|
||||
// }
|
||||
|
||||
// init() {
|
||||
// this._simpleStore = this.services.database.openSimpleStore("p2p-sync");
|
||||
// return Promise.resolve(this);
|
||||
// }
|
||||
|
||||
// }
|
||||
|
||||
// export class P2PReplicator extends P2PReplicatorMixIn(P2PReplicatorCommandBase) implements CommandShim {
|
||||
// storeP2PStatusLine = reactiveSource("");
|
||||
// _anyNewReplicator(settingOverride: Partial<RemoteDBSettings> = {}): Promise<LiveSyncAbstractReplicator> {
|
||||
// const settings = { ...this.settings, ...settingOverride };
|
||||
// if (settings.remoteType == REMOTE_P2P) {
|
||||
// return Promise.resolve(new LiveSyncTrysteroReplicator(this.plugin));
|
||||
// }
|
||||
// return undefined!;
|
||||
// }
|
||||
// override getPlatform(): string {
|
||||
// return getPlatformName();
|
||||
// }
|
||||
|
||||
// override onunload(): void {
|
||||
// removeP2PReplicatorInstance();
|
||||
// void this.close();
|
||||
// }
|
||||
|
||||
// override onload(): void | Promise<void> {
|
||||
// eventHub.onEvent(EVENT_REQUEST_OPEN_P2P, () => {
|
||||
// void this.openPane();
|
||||
// });
|
||||
// this.p2pLogCollector.p2pReplicationLine.onChanged((line) => {
|
||||
// this.storeP2PStatusLine.value = line.value;
|
||||
// });
|
||||
// }
|
||||
// async _everyOnInitializeDatabase(): Promise<boolean> {
|
||||
// await this.initialiseP2PReplicator();
|
||||
// return Promise.resolve(true);
|
||||
// }
|
||||
|
||||
// private async _allSuspendExtraSync() {
|
||||
// this.plugin.settings.P2P_Enabled = false;
|
||||
// this.plugin.settings.P2P_AutoAccepting = AutoAccepting.NONE;
|
||||
// this.plugin.settings.P2P_AutoBroadcast = false;
|
||||
// this.plugin.settings.P2P_AutoStart = false;
|
||||
// this.plugin.settings.P2P_AutoSyncPeers = "";
|
||||
// this.plugin.settings.P2P_AutoWatchPeers = "";
|
||||
// return await Promise.resolve(true);
|
||||
// }
|
||||
|
||||
// // async $everyOnLoadStart() {
|
||||
// // return await Promise.resolve();
|
||||
// // }
|
||||
|
||||
// async openPane() {
|
||||
// await this.services.API.showWindow(VIEW_TYPE_P2P);
|
||||
// }
|
||||
|
||||
// async _everyOnloadStart(): Promise<boolean> {
|
||||
// // this.plugin.registerView(VIEW_TYPE_P2P, (leaf) => new P2PReplicatorPaneView(leaf, this.plugin));
|
||||
// this.plugin.addCommand({
|
||||
// id: "open-p2p-replicator",
|
||||
// name: "P2P Sync : Open P2P Replicator",
|
||||
// callback: async () => {
|
||||
// await this.openPane();
|
||||
// },
|
||||
// });
|
||||
// this.plugin.addCommand({
|
||||
// id: "p2p-establish-connection",
|
||||
// name: "P2P Sync : Connect to the Signalling Server",
|
||||
// checkCallback: (isChecking) => {
|
||||
// if (isChecking) {
|
||||
// return !(this._replicatorInstance?.server?.isServing ?? false);
|
||||
// }
|
||||
// void this.open();
|
||||
// },
|
||||
// });
|
||||
// this.plugin.addCommand({
|
||||
// id: "p2p-close-connection",
|
||||
// name: "P2P Sync : Disconnect from the Signalling Server",
|
||||
// checkCallback: (isChecking) => {
|
||||
// if (isChecking) {
|
||||
// return this._replicatorInstance?.server?.isServing ?? false;
|
||||
// }
|
||||
// Logger(`Closing P2P Connection`, LOG_LEVEL_NOTICE);
|
||||
// void this.close();
|
||||
// },
|
||||
// });
|
||||
// this.plugin.addCommand({
|
||||
// id: "replicate-now-by-p2p",
|
||||
// name: "Replicate now by P2P",
|
||||
// checkCallback: (isChecking) => {
|
||||
// if (isChecking) {
|
||||
// if (this.settings.remoteType == REMOTE_P2P) return false;
|
||||
// if (!this._replicatorInstance?.server?.isServing) return false;
|
||||
// return true;
|
||||
// }
|
||||
// void this._replicatorInstance?.replicateFromCommand(false);
|
||||
// },
|
||||
// });
|
||||
// this.plugin
|
||||
// .addRibbonIcon("waypoints", "P2P Replicator", async () => {
|
||||
// await this.openPane();
|
||||
// })
|
||||
// .addClass("livesync-ribbon-replicate-p2p");
|
||||
|
||||
// return await Promise.resolve(true);
|
||||
// }
|
||||
// _everyAfterResumeProcess(): Promise<boolean> {
|
||||
// if (this.settings.P2P_Enabled && this.settings.P2P_AutoStart) {
|
||||
// setTimeout(() => void this.open(), 100);
|
||||
// }
|
||||
// const rep = this._replicatorInstance;
|
||||
// rep?.allowReconnection();
|
||||
// return Promise.resolve(true);
|
||||
// }
|
||||
// _everyBeforeSuspendProcess(): Promise<boolean> {
|
||||
// const rep = this._replicatorInstance;
|
||||
// rep?.disconnectFromServer();
|
||||
// return Promise.resolve(true);
|
||||
// }
|
||||
|
||||
// override onBindFunction(core: LiveSyncCore, services: typeof core.services): void {
|
||||
// services.replicator.handleGetNewReplicator(this._anyNewReplicator.bind(this));
|
||||
// services.databaseEvents.handleOnDatabaseInitialisation(this._everyOnInitializeDatabase.bind(this));
|
||||
// services.appLifecycle.handleOnInitialise(this._everyOnloadStart.bind(this));
|
||||
// services.appLifecycle.handleOnSuspending(this._everyBeforeSuspendProcess.bind(this));
|
||||
// services.appLifecycle.handleOnResumed(this._everyAfterResumeProcess.bind(this));
|
||||
// services.setting.handleSuspendExtraSync(this._allSuspendExtraSync.bind(this));
|
||||
// }
|
||||
// }
|
||||
|
||||
export class P2PReplicator extends LiveSyncCommands implements P2PReplicatorBase, CommandShim {
|
||||
storeP2PStatusLine = reactiveSource("");
|
||||
|
||||
@@ -230,7 +60,8 @@ export class P2PReplicator extends LiveSyncCommands implements P2PReplicatorBase
|
||||
setReplicatorFunc(() => this._replicatorInstance);
|
||||
addP2PEventHandlers(this);
|
||||
this.afterConstructor();
|
||||
this.onBindFunction(plugin, plugin.services);
|
||||
// onBindFunction is called in super class
|
||||
// this.onBindFunction(plugin, plugin.services);
|
||||
}
|
||||
|
||||
async handleReplicatedDocuments(docs: EntryDoc[]): Promise<void> {
|
||||
|
||||
Reference in New Issue
Block a user