mirror of
https://github.com/vrtmrz/obsidian-livesync.git
synced 2026-09-22 02:27:07 +00:00
fix imports
This commit is contained in:
+18
-18
@@ -1,22 +1,22 @@
|
|||||||
import { LOG_LEVEL_INFO } from "octagonal-wheels/common/logger";
|
import { LOG_LEVEL_INFO } from "octagonal-wheels/common/logger";
|
||||||
import type PouchDB from "pouchdb-core";
|
import type PouchDB from "pouchdb-core";
|
||||||
import type { SimpleStore } from "octagonal-wheels/databases/SimpleStoreBase";
|
import type { SimpleStore } from "octagonal-wheels/databases/SimpleStoreBase";
|
||||||
import type { HasSettings, ObsidianLiveSyncSettings, EntryDoc } from "./lib/src/common/types";
|
import type { HasSettings, ObsidianLiveSyncSettings, EntryDoc } from "@lib/common/types";
|
||||||
import { __$checkInstanceBinding } from "./lib/src/dev/checks";
|
import { __$checkInstanceBinding } from "@lib/dev/checks";
|
||||||
import type { Confirm } from "./lib/src/interfaces/Confirm";
|
import type { Confirm } from "@lib/interfaces/Confirm";
|
||||||
import type { DatabaseFileAccess } from "./lib/src/interfaces/DatabaseFileAccess";
|
import type { DatabaseFileAccess } from "@lib/interfaces/DatabaseFileAccess";
|
||||||
import type { Rebuilder } from "./lib/src/interfaces/DatabaseRebuilder";
|
import type { Rebuilder } from "@lib/interfaces/DatabaseRebuilder";
|
||||||
import type { IFileHandler } from "./lib/src/interfaces/FileHandler";
|
import type { IFileHandler } from "@lib/interfaces/FileHandler";
|
||||||
import type { StorageAccess } from "./lib/src/interfaces/StorageAccess";
|
import type { StorageAccess } from "@lib/interfaces/StorageAccess";
|
||||||
import type { LiveSyncLocalDBEnv } from "./lib/src/pouchdb/LiveSyncLocalDB";
|
import type { LiveSyncLocalDBEnv } from "@lib/pouchdb/LiveSyncLocalDB";
|
||||||
import type { LiveSyncCouchDBReplicatorEnv } from "./lib/src/replication/couchdb/LiveSyncReplicator";
|
import type { LiveSyncCouchDBReplicatorEnv } from "@lib/replication/couchdb/LiveSyncReplicator";
|
||||||
import type { CheckPointInfo } from "./lib/src/replication/journal/JournalSyncTypes";
|
import type { CheckPointInfo } from "@lib/replication/journal/JournalSyncTypes";
|
||||||
import type { LiveSyncJournalReplicatorEnv } from "./lib/src/replication/journal/LiveSyncJournalReplicatorEnv";
|
import type { LiveSyncJournalReplicatorEnv } from "@lib/replication/journal/LiveSyncJournalReplicatorEnv";
|
||||||
import type { LiveSyncReplicatorEnv } from "./lib/src/replication/LiveSyncAbstractReplicator";
|
import type { LiveSyncReplicatorEnv } from "@lib/replication/LiveSyncAbstractReplicator";
|
||||||
import { useTargetFilters } from "./lib/src/serviceFeatures/targetFilter";
|
import { useTargetFilters } from "@lib/serviceFeatures/targetFilter";
|
||||||
import { useRemoteConfigurationMigration } from "./lib/src/serviceFeatures/remoteConfig";
|
import { useRemoteConfigurationMigration } from "@lib/serviceFeatures/remoteConfig";
|
||||||
import type { ServiceContext } from "./lib/src/services/base/ServiceBase";
|
import type { ServiceContext } from "@lib/services/base/ServiceBase";
|
||||||
import type { InjectableServiceHub } from "./lib/src/services/InjectableServices";
|
import type { InjectableServiceHub } from "@lib/services/InjectableServices";
|
||||||
import { AbstractModule } from "./modules/AbstractModule";
|
import { AbstractModule } from "./modules/AbstractModule";
|
||||||
import { ModulePeriodicProcess } from "./modules/core/ModulePeriodicProcess";
|
import { ModulePeriodicProcess } from "./modules/core/ModulePeriodicProcess";
|
||||||
import { ModuleReplicator } from "./modules/core/ModuleReplicator";
|
import { ModuleReplicator } from "./modules/core/ModuleReplicator";
|
||||||
@@ -26,9 +26,9 @@ import { ModuleConflictChecker } from "./modules/coreFeatures/ModuleConflictChec
|
|||||||
import { ModuleConflictResolver } from "./modules/coreFeatures/ModuleConflictResolver";
|
import { ModuleConflictResolver } from "./modules/coreFeatures/ModuleConflictResolver";
|
||||||
import { ModuleResolvingMismatchedTweaks } from "./modules/coreFeatures/ModuleResolveMismatchedTweaks";
|
import { ModuleResolvingMismatchedTweaks } from "./modules/coreFeatures/ModuleResolveMismatchedTweaks";
|
||||||
import { ModuleLiveSyncMain } from "./modules/main/ModuleLiveSyncMain";
|
import { ModuleLiveSyncMain } from "./modules/main/ModuleLiveSyncMain";
|
||||||
import type { ServiceModules } from "./lib/src/interfaces/ServiceModule";
|
import type { ServiceModules } from "@lib/interfaces/ServiceModule";
|
||||||
import { ModuleBasicMenu } from "./modules/essential/ModuleBasicMenu";
|
import { ModuleBasicMenu } from "./modules/essential/ModuleBasicMenu";
|
||||||
import { usePrepareDatabaseForUse } from "./lib/src/serviceFeatures/prepareDatabaseForUse";
|
import { usePrepareDatabaseForUse } from "@lib/serviceFeatures/prepareDatabaseForUse";
|
||||||
|
|
||||||
export class LiveSyncBaseCore<
|
export class LiveSyncBaseCore<
|
||||||
T extends ServiceContext = ServiceContext,
|
T extends ServiceContext = ServiceContext,
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import { LiveSyncBaseCore } from "../../LiveSyncBaseCore";
|
|||||||
import { initialiseServiceModulesCLI } from "./serviceModules/CLIServiceModules";
|
import { initialiseServiceModulesCLI } from "./serviceModules/CLIServiceModules";
|
||||||
import { DEFAULT_SETTINGS, LOG_LEVEL_VERBOSE, type LOG_LEVEL, type ObsidianLiveSyncSettings } from "@lib/common/types";
|
import { DEFAULT_SETTINGS, LOG_LEVEL_VERBOSE, type LOG_LEVEL, type ObsidianLiveSyncSettings } from "@lib/common/types";
|
||||||
import type { InjectableServiceHub } from "@lib/services/implements/injectable/InjectableServiceHub";
|
import type { InjectableServiceHub } from "@lib/services/implements/injectable/InjectableServiceHub";
|
||||||
import type { InjectableSettingService } from "@/lib/src/services/implements/injectable/InjectableSettingService";
|
import type { InjectableSettingService } from "@lib/services/implements/injectable/InjectableSettingService";
|
||||||
import {
|
import {
|
||||||
LOG_LEVEL_DEBUG,
|
LOG_LEVEL_DEBUG,
|
||||||
setGlobalLogFunction,
|
setGlobalLogFunction,
|
||||||
@@ -26,7 +26,7 @@ import type { CLICommand, CLIOptions } from "./commands/types";
|
|||||||
import { getPathFromUXFileInfo } from "@lib/common/typeUtils";
|
import { getPathFromUXFileInfo } from "@lib/common/typeUtils";
|
||||||
import { stripAllPrefixes } from "@lib/string_and_binary/path";
|
import { stripAllPrefixes } from "@lib/string_and_binary/path";
|
||||||
import { IgnoreRules } from "./serviceModules/IgnoreRules";
|
import { IgnoreRules } from "./serviceModules/IgnoreRules";
|
||||||
import { useP2PReplicatorFeature } from "@/lib/src/replication/trystero/useP2PReplicatorFeature";
|
import { useP2PReplicatorFeature } from "@lib/replication/trystero/useP2PReplicatorFeature";
|
||||||
|
|
||||||
const SETTINGS_FILE = ".livesync/settings.json";
|
const SETTINGS_FILE = ".livesync/settings.json";
|
||||||
ensureGlobalNodeLocalStorage();
|
ensureGlobalNodeLocalStorage();
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ import type { ServiceInstances } from "@lib/services/ServiceHub";
|
|||||||
import { NodeKeyValueDBService } from "./NodeKeyValueDBService";
|
import { NodeKeyValueDBService } from "./NodeKeyValueDBService";
|
||||||
import { NodeSettingService } from "./NodeSettingService";
|
import { NodeSettingService } from "./NodeSettingService";
|
||||||
import { DatabaseService } from "@lib/services/base/DatabaseService";
|
import { DatabaseService } from "@lib/services/base/DatabaseService";
|
||||||
import type { ObsidianLiveSyncSettings } from "@/lib/src/common/types";
|
import type { ObsidianLiveSyncSettings } from "@lib/common/types";
|
||||||
|
|
||||||
export class NodeServiceContext extends ServiceContext {
|
export class NodeServiceContext extends ServiceContext {
|
||||||
databasePath: string;
|
databasePath: string;
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ import { useSetupURIFeature } from "@lib/serviceFeatures/setupObsidian/setupUri"
|
|||||||
import { useRemoteConfiguration } from "@lib/serviceFeatures/remoteConfig";
|
import { useRemoteConfiguration } from "@lib/serviceFeatures/remoteConfig";
|
||||||
import { SetupManager } from "@/modules/features/SetupManager";
|
import { SetupManager } from "@/modules/features/SetupManager";
|
||||||
import { useSetupManagerHandlersFeature } from "@/serviceFeatures/setupObsidian/setupManagerHandlers";
|
import { useSetupManagerHandlersFeature } from "@/serviceFeatures/setupObsidian/setupManagerHandlers";
|
||||||
import { useP2PReplicatorCommands } from "@/lib/src/replication/trystero/useP2PReplicatorCommands";
|
import { useP2PReplicatorCommands } from "@lib/replication/trystero/useP2PReplicatorCommands";
|
||||||
import { useP2PReplicatorFeature } from "@/lib/src/replication/trystero/useP2PReplicatorFeature";
|
import { useP2PReplicatorFeature } from "@lib/replication/trystero/useP2PReplicatorFeature";
|
||||||
|
|
||||||
const SETTINGS_DIR = ".livesync";
|
const SETTINGS_DIR = ".livesync";
|
||||||
const SETTINGS_FILE = "settings.json";
|
const SETTINGS_FILE = "settings.json";
|
||||||
|
|||||||
@@ -28,8 +28,8 @@ import { ServiceContext } from "@lib/services/base/ServiceBase";
|
|||||||
import type { InjectableServiceHub } from "@lib/services/InjectableServices";
|
import type { InjectableServiceHub } from "@lib/services/InjectableServices";
|
||||||
import { Menu } from "@lib/services/implements/browser/Menu";
|
import { Menu } from "@lib/services/implements/browser/Menu";
|
||||||
import { SimpleStoreIDBv2 } from "octagonal-wheels/databases/SimpleStoreIDBv2";
|
import { SimpleStoreIDBv2 } from "octagonal-wheels/databases/SimpleStoreIDBv2";
|
||||||
import type { BrowserAPIService } from "@/lib/src/services/implements/browser/BrowserAPIService";
|
import type { BrowserAPIService } from "@lib/services/implements/browser/BrowserAPIService";
|
||||||
import type { InjectableSettingService } from "@/lib/src/services/implements/injectable/InjectableSettingService";
|
import type { InjectableSettingService } from "@lib/services/implements/injectable/InjectableSettingService";
|
||||||
import { LiveSyncTrysteroReplicator } from "@lib/replication/trystero/LiveSyncTrysteroReplicator";
|
import { LiveSyncTrysteroReplicator } from "@lib/replication/trystero/LiveSyncTrysteroReplicator";
|
||||||
|
|
||||||
function addToList(item: string, list: string) {
|
function addToList(item: string, list: string) {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { LOG_LEVEL_VERBOSE, Logger } from "@/lib/src/common/logger";
|
import { LOG_LEVEL_VERBOSE, Logger } from "@lib/common/logger";
|
||||||
import type { KeyValueDatabase } from "@/lib/src/interfaces/KeyValueDatabase";
|
import type { KeyValueDatabase } from "@lib/interfaces/KeyValueDatabase";
|
||||||
import { deleteDB, openDB, type IDBPDatabase } from "idb";
|
import { deleteDB, openDB, type IDBPDatabase } from "idb";
|
||||||
import { serialized } from "octagonal-wheels/concurrency/lock";
|
import { serialized } from "octagonal-wheels/concurrency/lock";
|
||||||
|
|
||||||
|
|||||||
@@ -43,5 +43,5 @@ declare global {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export * from "../lib/src/events/coreEvents.ts";
|
export * from "@lib/events/coreEvents.ts";
|
||||||
export { eventHub };
|
export { eventHub };
|
||||||
|
|||||||
+3
-3
@@ -1,7 +1,7 @@
|
|||||||
import { type PluginManifest, TFile } from "@/deps.ts";
|
import { type PluginManifest, TFile } from "@/deps.ts";
|
||||||
import type { DatabaseEntry, FilePath } from "@lib/common/models/db.type";
|
import type { DatabaseEntry, FilePath } from "@lib/common/models/db.type";
|
||||||
import type { EntryBody } from "@lib/common/models/db.definition";
|
import type { EntryBody } from "@lib/common/models/db.definition";
|
||||||
export type { CacheData, FileEventItem } from "../lib/src/common/types.ts";
|
export type { CacheData, FileEventItem } from "@lib/common/types.ts";
|
||||||
|
|
||||||
export interface PluginDataEntry extends DatabaseEntry {
|
export interface PluginDataEntry extends DatabaseEntry {
|
||||||
deviceVaultName: string;
|
deviceVaultName: string;
|
||||||
@@ -52,7 +52,7 @@ export type queueItem = {
|
|||||||
|
|
||||||
export const FileWatchEventQueueMax = 10;
|
export const FileWatchEventQueueMax = 10;
|
||||||
|
|
||||||
export { configURIBase, configURIBaseQR } from "../lib/src/common/types.ts";
|
export { configURIBase, configURIBaseQR } from "@lib/common/types.ts";
|
||||||
|
|
||||||
export {
|
export {
|
||||||
CHeader,
|
CHeader,
|
||||||
@@ -62,4 +62,4 @@ export {
|
|||||||
ICHeaderEnd,
|
ICHeaderEnd,
|
||||||
ICHeaderLength,
|
ICHeaderLength,
|
||||||
ICXHeader,
|
ICXHeader,
|
||||||
} from "../lib/src/common/models/fileaccess.const.ts";
|
} from "@lib/common/models/fileaccess.const.ts";
|
||||||
|
|||||||
+1
-1
@@ -205,7 +205,7 @@ import { BASE_IS_NEW, EVEN, TARGET_IS_NEW } from "@lib/common/models/shared.cons
|
|||||||
export { BASE_IS_NEW, EVEN, TARGET_IS_NEW };
|
export { BASE_IS_NEW, EVEN, TARGET_IS_NEW };
|
||||||
// Why 2000? : ZIP FILE Does not have enough resolution.
|
// Why 2000? : ZIP FILE Does not have enough resolution.
|
||||||
import { compareMTime } from "@lib/common/utils.database.ts";
|
import { compareMTime } from "@lib/common/utils.database.ts";
|
||||||
import { _fetch } from "@/lib/src/common/coreEnvFunctions.ts";
|
import { _fetch } from "@lib/common/coreEnvFunctions.ts";
|
||||||
export { compareMTime };
|
export { compareMTime };
|
||||||
function getKey(file: AnyEntry | string | UXFileInfoStub) {
|
function getKey(file: AnyEntry | string | UXFileInfoStub) {
|
||||||
const key = typeof file == "string" ? file : stripAllPrefixes(file.path);
|
const key = typeof file == "string" ? file : stripAllPrefixes(file.path);
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ import { ConflictResolveModal } from "@/modules/features/InteractiveConflictReso
|
|||||||
import { Semaphore } from "octagonal-wheels/concurrency/semaphore";
|
import { Semaphore } from "octagonal-wheels/concurrency/semaphore";
|
||||||
import { EVENT_REQUEST_OPEN_PLUGIN_SYNC_DIALOG, eventHub } from "@/common/events.ts";
|
import { EVENT_REQUEST_OPEN_PLUGIN_SYNC_DIALOG, eventHub } from "@/common/events.ts";
|
||||||
import type { PluginDialogModal } from "./PluginDialogModal.ts";
|
import type { PluginDialogModal } from "./PluginDialogModal.ts";
|
||||||
import { $msg } from "@/lib/src/common/i18n.ts";
|
import { $msg } from "@lib/common/i18n.ts";
|
||||||
import type { InjectableServiceHub } from "@lib/services/InjectableServices.ts";
|
import type { InjectableServiceHub } from "@lib/services/InjectableServices.ts";
|
||||||
import type { LiveSyncCore } from "@/main.ts";
|
import type { LiveSyncCore } from "@/main.ts";
|
||||||
import { LiveSyncError } from "@lib/common/LSError.ts";
|
import { LiveSyncError } from "@lib/common/LSError.ts";
|
||||||
|
|||||||
@@ -570,7 +570,7 @@ Offline Changed files: ${processFiles.length}`;
|
|||||||
this._log(`Hidden file:${path} is changed.`, LOG_LEVEL_VERBOSE);
|
this._log(`Hidden file:${path} is changed.`, LOG_LEVEL_VERBOSE);
|
||||||
stat = cache.stat;
|
stat = cache.stat;
|
||||||
}
|
}
|
||||||
this.updateLastProcessedFile(path, stat!);
|
this.updateLastProcessedFile(path, stat ?? this.statToKey(null));
|
||||||
const lastIsNotFound = !lastKey || lastKey.endsWith("-0-0");
|
const lastIsNotFound = !lastKey || lastKey.endsWith("-0-0");
|
||||||
const nowIsNotFound = cache.deleted;
|
const nowIsNotFound = cache.deleted;
|
||||||
const type = lastIsNotFound && nowIsNotFound ? "invalid" : nowIsNotFound ? "delete" : "modified";
|
const type = lastIsNotFound && nowIsNotFound ? "invalid" : nowIsNotFound ? "delete" : "modified";
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import type ObsidianLiveSyncPlugin from "@/main.ts";
|
|||||||
import { MARK_DONE } from "@/modules/features/ModuleLog.ts";
|
import { MARK_DONE } from "@/modules/features/ModuleLog.ts";
|
||||||
import type { LiveSyncCore } from "@/main.ts";
|
import type { LiveSyncCore } from "@/main.ts";
|
||||||
import { __$checkInstanceBinding } from "@lib/dev/checks.ts";
|
import { __$checkInstanceBinding } from "@lib/dev/checks.ts";
|
||||||
import { createInstanceLogFunction } from "@/lib/src/services/lib/logUtils.ts";
|
import { createInstanceLogFunction } from "@lib/services/lib/logUtils.ts";
|
||||||
|
|
||||||
let noticeIndex = 0;
|
let noticeIndex = 0;
|
||||||
export abstract class LiveSyncCommands {
|
export abstract class LiveSyncCommands {
|
||||||
|
|||||||
@@ -15,8 +15,8 @@ import { LiveSyncCommands } from "@/features/LiveSyncCommands";
|
|||||||
import { serialized } from "octagonal-wheels/concurrency/lock_v2";
|
import { serialized } from "octagonal-wheels/concurrency/lock_v2";
|
||||||
import { arrayToChunkedArray } from "octagonal-wheels/collection";
|
import { arrayToChunkedArray } from "octagonal-wheels/collection";
|
||||||
import { EVENT_ANALYSE_DB_USAGE, EVENT_REQUEST_PERFORM_GC_V3, eventHub } from "@/common/events";
|
import { EVENT_ANALYSE_DB_USAGE, EVENT_REQUEST_PERFORM_GC_V3, eventHub } from "@/common/events";
|
||||||
import type { LiveSyncCouchDBReplicator } from "@/lib/src/replication/couchdb/LiveSyncReplicator";
|
import type { LiveSyncCouchDBReplicator } from "@lib/replication/couchdb/LiveSyncReplicator";
|
||||||
import { delay } from "@/lib/src/common/utils";
|
import { delay } from "@lib/common/utils";
|
||||||
import { isNotFoundError } from "@lib/common/utils.doc.ts";
|
import { isNotFoundError } from "@lib/common/utils.doc.ts";
|
||||||
// import { _requestToCouchDB } from "@/common/utils";
|
// import { _requestToCouchDB } from "@/common/utils";
|
||||||
const DB_KEY_SEQ = "gc-seq";
|
const DB_KEY_SEQ = "gc-seq";
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { App, Modal } from "@/deps.ts";
|
import { App, Modal } from "@/deps.ts";
|
||||||
import P2POpenReplicationPane from "./P2POpenReplicationPane.svelte";
|
import P2POpenReplicationPane from "./P2POpenReplicationPane.svelte";
|
||||||
import { mount, unmount } from "svelte";
|
import { mount, unmount } from "svelte";
|
||||||
import type { LiveSyncTrysteroReplicator } from "@/lib/src/replication/trystero/LiveSyncTrysteroReplicator";
|
import type { LiveSyncTrysteroReplicator } from "@lib/replication/trystero/LiveSyncTrysteroReplicator";
|
||||||
|
|
||||||
export type P2POpenReplicationModalCallback = {
|
export type P2POpenReplicationModalCallback = {
|
||||||
onSync: (peerId: string) => Promise<void>;
|
onSync: (peerId: string) => Promise<void>;
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import { LOG_LEVEL_NOTICE } from "@lib/common/logger";
|
|||||||
import { Logger } from "@lib/common/logger.ts";
|
import { Logger } from "@lib/common/logger.ts";
|
||||||
import { EVENT_P2P_PEER_SHOW_EXTRA_MENU, type PeerStatus } from "@lib/replication/trystero/P2PReplicatorPaneCommon.ts";
|
import { EVENT_P2P_PEER_SHOW_EXTRA_MENU, type PeerStatus } from "@lib/replication/trystero/P2PReplicatorPaneCommon.ts";
|
||||||
import type { LiveSyncBaseCore } from "@/LiveSyncBaseCore.ts";
|
import type { LiveSyncBaseCore } from "@/LiveSyncBaseCore.ts";
|
||||||
import type { P2PPaneParams } from "@/lib/src/replication/trystero/UseP2PReplicatorResult";
|
import type { P2PPaneParams } from "@lib/replication/trystero/UseP2PReplicatorResult";
|
||||||
export const VIEW_TYPE_P2P = "p2p-replicator";
|
export const VIEW_TYPE_P2P = "p2p-replicator";
|
||||||
|
|
||||||
function addToList(item: string, list: string) {
|
function addToList(item: string, list: string) {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { WorkspaceLeaf } from "@/deps.ts";
|
|||||||
import { mount } from "svelte";
|
import { mount } from "svelte";
|
||||||
import { SvelteItemView } from "@/common/SvelteItemView.ts";
|
import { SvelteItemView } from "@/common/SvelteItemView.ts";
|
||||||
import type { LiveSyncBaseCore } from "@/LiveSyncBaseCore.ts";
|
import type { LiveSyncBaseCore } from "@/LiveSyncBaseCore.ts";
|
||||||
import type { P2PPaneParams } from "@/lib/src/replication/trystero/UseP2PReplicatorResult";
|
import type { P2PPaneParams } from "@lib/replication/trystero/UseP2PReplicatorResult";
|
||||||
import P2PServerStatusPane from "./P2PServerStatusPane.svelte";
|
import P2PServerStatusPane from "./P2PServerStatusPane.svelte";
|
||||||
|
|
||||||
export const VIEW_TYPE_P2P_SERVER_STATUS = "p2p-server-status";
|
export const VIEW_TYPE_P2P_SERVER_STATUS = "p2p-server-status";
|
||||||
|
|||||||
+1
-1
Submodule src/lib updated: 66c9ebaa1e...d22b7595cc
+13
-13
@@ -1,5 +1,5 @@
|
|||||||
import { getLanguage, Notice, Plugin, type App, type PluginManifest } from "./deps";
|
import { getLanguage, Notice, Plugin, type App, type PluginManifest } from "./deps";
|
||||||
import { setGetLanguage } from "./lib/src/common/coreEnvFunctions.ts";
|
import { setGetLanguage } from "@lib/common/coreEnvFunctions.ts";
|
||||||
setGetLanguage(getLanguage);
|
setGetLanguage(getLanguage);
|
||||||
import { LiveSyncCommands } from "./features/LiveSyncCommands.ts";
|
import { LiveSyncCommands } from "./features/LiveSyncCommands.ts";
|
||||||
import { HiddenFileSync } from "./features/HiddenFileSync/CmdHiddenFileSync.ts";
|
import { HiddenFileSync } from "./features/HiddenFileSync/CmdHiddenFileSync.ts";
|
||||||
@@ -14,34 +14,34 @@ import { ModuleObsidianSettingDialogue } from "./modules/features/ModuleObsidian
|
|||||||
import { ModuleObsidianDocumentHistory } from "./modules/features/ModuleObsidianDocumentHistory.ts";
|
import { ModuleObsidianDocumentHistory } from "./modules/features/ModuleObsidianDocumentHistory.ts";
|
||||||
import { ModuleObsidianGlobalHistory } from "./modules/features/ModuleGlobalHistory.ts";
|
import { ModuleObsidianGlobalHistory } from "./modules/features/ModuleGlobalHistory.ts";
|
||||||
import { LocalDatabaseMaintenance } from "./features/LocalDatabaseMainte/CmdLocalDatabaseMainte.ts";
|
import { LocalDatabaseMaintenance } from "./features/LocalDatabaseMainte/CmdLocalDatabaseMainte.ts";
|
||||||
import type { InjectableServiceHub } from "./lib/src/services/implements/injectable/InjectableServiceHub.ts";
|
import type { InjectableServiceHub } from "@lib/services/implements/injectable/InjectableServiceHub.ts";
|
||||||
import { ObsidianServiceHub } from "./modules/services/ObsidianServiceHub.ts";
|
import { ObsidianServiceHub } from "./modules/services/ObsidianServiceHub.ts";
|
||||||
import { ServiceRebuilder } from "./lib/src/serviceModules/Rebuilder.ts";
|
import { ServiceRebuilder } from "@lib/serviceModules/Rebuilder.ts";
|
||||||
import { ServiceDatabaseFileAccess } from "./serviceModules/DatabaseFileAccess.ts";
|
import { ServiceDatabaseFileAccess } from "./serviceModules/DatabaseFileAccess.ts";
|
||||||
import { ServiceFileAccessObsidian } from "./serviceModules/ServiceFileAccessImpl.ts";
|
import { ServiceFileAccessObsidian } from "./serviceModules/ServiceFileAccessImpl.ts";
|
||||||
import { StorageAccessManager } from "./lib/src/managers/StorageProcessingManager.ts";
|
import { StorageAccessManager } from "@lib/managers/StorageProcessingManager.ts";
|
||||||
import { ServiceFileHandler } from "./serviceModules/FileHandler.ts";
|
import { ServiceFileHandler } from "./serviceModules/FileHandler.ts";
|
||||||
import { FileAccessObsidian } from "./serviceModules/FileAccessObsidian.ts";
|
import { FileAccessObsidian } from "./serviceModules/FileAccessObsidian.ts";
|
||||||
import { StorageEventManagerObsidian } from "./managers/StorageEventManagerObsidian.ts";
|
import { StorageEventManagerObsidian } from "./managers/StorageEventManagerObsidian.ts";
|
||||||
import type { ServiceModules } from "./types.ts";
|
import type { ServiceModules } from "./types.ts";
|
||||||
import { setNoticeClass } from "./lib/src/mock_and_interop/wrapper.ts";
|
import { setNoticeClass } from "@lib/mock_and_interop/wrapper.ts";
|
||||||
import type { ObsidianServiceContext } from "./lib/src/services/implements/obsidian/ObsidianServiceContext.ts";
|
import type { ObsidianServiceContext } from "@lib/services/implements/obsidian/ObsidianServiceContext.ts";
|
||||||
import { LiveSyncBaseCore } from "./LiveSyncBaseCore.ts";
|
import { LiveSyncBaseCore } from "./LiveSyncBaseCore.ts";
|
||||||
import { ModuleObsidianMenu } from "./modules/essentialObsidian/ModuleObsidianMenu.ts";
|
import { ModuleObsidianMenu } from "./modules/essentialObsidian/ModuleObsidianMenu.ts";
|
||||||
import { ModuleObsidianSettingsAsMarkdown } from "./modules/features/ModuleObsidianSettingAsMarkdown.ts";
|
import { ModuleObsidianSettingsAsMarkdown } from "./modules/features/ModuleObsidianSettingAsMarkdown.ts";
|
||||||
import { SetupManager } from "./modules/features/SetupManager.ts";
|
import { SetupManager } from "./modules/features/SetupManager.ts";
|
||||||
import { ModuleMigration } from "./modules/essential/ModuleMigration.ts";
|
import { ModuleMigration } from "./modules/essential/ModuleMigration.ts";
|
||||||
import { enableI18nFeature } from "./serviceFeatures/onLayoutReady/enablei18n.ts";
|
import { enableI18nFeature } from "./serviceFeatures/onLayoutReady/enablei18n.ts";
|
||||||
import { useOfflineScanner } from "./lib/src/serviceFeatures/offlineScanner.ts";
|
import { useOfflineScanner } from "@lib/serviceFeatures/offlineScanner.ts";
|
||||||
import { useRemoteConfiguration } from "./lib/src/serviceFeatures/remoteConfig.ts";
|
import { useRemoteConfiguration } from "@lib/serviceFeatures/remoteConfig.ts";
|
||||||
import { useCheckRemoteSize } from "./lib/src/serviceFeatures/checkRemoteSize.ts";
|
import { useCheckRemoteSize } from "@lib/serviceFeatures/checkRemoteSize.ts";
|
||||||
import { useRedFlagFeatures } from "./serviceFeatures/redFlag.ts";
|
import { useRedFlagFeatures } from "./serviceFeatures/redFlag.ts";
|
||||||
import { useSetupProtocolFeature } from "./serviceFeatures/setupObsidian/setupProtocol.ts";
|
import { useSetupProtocolFeature } from "./serviceFeatures/setupObsidian/setupProtocol.ts";
|
||||||
import { useSetupQRCodeFeature } from "./lib/src/serviceFeatures/setupObsidian/qrCode";
|
import { useSetupQRCodeFeature } from "@lib/serviceFeatures/setupObsidian/qrCode";
|
||||||
import { useSetupURIFeature } from "./lib/src/serviceFeatures/setupObsidian/setupUri";
|
import { useSetupURIFeature } from "@lib/serviceFeatures/setupObsidian/setupUri";
|
||||||
import { useSetupManagerHandlersFeature } from "./serviceFeatures/setupObsidian/setupManagerHandlers.ts";
|
import { useSetupManagerHandlersFeature } from "./serviceFeatures/setupObsidian/setupManagerHandlers.ts";
|
||||||
import { useP2PReplicatorFeature } from "./lib/src/replication/trystero/useP2PReplicatorFeature.ts";
|
import { useP2PReplicatorFeature } from "@lib/replication/trystero/useP2PReplicatorFeature.ts";
|
||||||
import { useP2PReplicatorCommands } from "./lib/src/replication/trystero/useP2PReplicatorCommands.ts";
|
import { useP2PReplicatorCommands } from "@lib/replication/trystero/useP2PReplicatorCommands.ts";
|
||||||
import { useP2PReplicatorUI } from "./serviceFeatures/useP2PReplicatorUI.ts";
|
import { useP2PReplicatorUI } from "./serviceFeatures/useP2PReplicatorUI.ts";
|
||||||
import { createOpenReplicationUI, createOpenRebuildUI } from "./features/P2PSync/P2PReplicator/P2PReplicationUI.ts";
|
import { createOpenReplicationUI, createOpenRebuildUI } from "./features/P2PSync/P2PReplicator/P2PReplicationUI.ts";
|
||||||
export type LiveSyncCore = LiveSyncBaseCore<ObsidianServiceContext, LiveSyncCommands>;
|
export type LiveSyncCore = LiveSyncBaseCore<ObsidianServiceContext, LiveSyncCommands>;
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import type { AnyEntry, FilePathWithPrefix } from "@lib/common/types";
|
|||||||
import type { IMinimumLiveSyncCommands, LiveSyncBaseCore } from "@/LiveSyncBaseCore";
|
import type { IMinimumLiveSyncCommands, LiveSyncBaseCore } from "@/LiveSyncBaseCore";
|
||||||
import { stripAllPrefixes } from "@lib/string_and_binary/path";
|
import { stripAllPrefixes } from "@lib/string_and_binary/path";
|
||||||
import { createInstanceLogFunction } from "@lib/services/lib/logUtils";
|
import { createInstanceLogFunction } from "@lib/services/lib/logUtils";
|
||||||
import type { ServiceContext } from "@/lib/src/services/base/ServiceBase";
|
import type { ServiceContext } from "@lib/services/base/ServiceBase";
|
||||||
|
|
||||||
export abstract class AbstractModule<
|
export abstract class AbstractModule<
|
||||||
T extends LiveSyncBaseCore<ServiceContext, IMinimumLiveSyncCommands> = LiveSyncBaseCore<
|
T extends LiveSyncBaseCore<ServiceContext, IMinimumLiveSyncCommands> = LiveSyncBaseCore<
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import {
|
|||||||
type MetaEntry,
|
type MetaEntry,
|
||||||
} from "@lib/common/types";
|
} from "@lib/common/types";
|
||||||
import type { ModuleReplicator } from "./ModuleReplicator";
|
import type { ModuleReplicator } from "./ModuleReplicator";
|
||||||
import { isChunk } from "@/lib/src/common/typeUtils";
|
import { isChunk } from "@lib/common/typeUtils";
|
||||||
import {
|
import {
|
||||||
LOG_LEVEL_DEBUG,
|
LOG_LEVEL_DEBUG,
|
||||||
LOG_LEVEL_INFO,
|
LOG_LEVEL_INFO,
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ import { LOG_LEVEL_NOTICE, setGlobalLogFunction } from "octagonal-wheels/common/
|
|||||||
import { LogPaneView, VIEW_TYPE_LOG } from "./Log/LogPaneView.ts";
|
import { LogPaneView, VIEW_TYPE_LOG } from "./Log/LogPaneView.ts";
|
||||||
import { serialized } from "octagonal-wheels/concurrency/lock";
|
import { serialized } from "octagonal-wheels/concurrency/lock";
|
||||||
import { $msg } from "@lib/common/i18n.ts";
|
import { $msg } from "@lib/common/i18n.ts";
|
||||||
import { P2PLogCollector } from "@/lib/src/replication/trystero/P2PLogCollector.ts";
|
import { P2PLogCollector } from "@lib/replication/trystero/P2PLogCollector.ts";
|
||||||
import type { LiveSyncCore } from "@/main.ts";
|
import type { LiveSyncCore } from "@/main.ts";
|
||||||
import { LiveSyncError } from "@lib/common/LSError.ts";
|
import { LiveSyncError } from "@lib/common/LSError.ts";
|
||||||
import { isValidPath } from "@/common/utils.ts";
|
import { isValidPath } from "@/common/utils.ts";
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// import { PouchDB } from "../../lib/src/pouchdb/pouchdb-browser";
|
|
||||||
import { isObjectDifferent } from "octagonal-wheels/object";
|
import { isObjectDifferent } from "octagonal-wheels/object";
|
||||||
import { EVENT_SETTING_SAVED, eventHub } from "@/common/events";
|
import { EVENT_SETTING_SAVED, eventHub } from "@/common/events";
|
||||||
import { fireAndForget } from "octagonal-wheels/promises";
|
import { fireAndForget } from "octagonal-wheels/promises";
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import { ObsidianLiveSyncSettingTab } from "./SettingDialogue/ObsidianLiveSyncSettingTab.ts";
|
import { ObsidianLiveSyncSettingTab } from "./SettingDialogue/ObsidianLiveSyncSettingTab.ts";
|
||||||
import { AbstractObsidianModule } from "@/modules/AbstractObsidianModule.ts";
|
import { AbstractObsidianModule } from "@/modules/AbstractObsidianModule.ts";
|
||||||
// import { PouchDB } from "../../lib/src/pouchdb/pouchdb-browser";
|
|
||||||
import { EVENT_REQUEST_OPEN_SETTING_WIZARD, EVENT_REQUEST_OPEN_SETTINGS, eventHub } from "@/common/events.ts";
|
import { EVENT_REQUEST_OPEN_SETTING_WIZARD, EVENT_REQUEST_OPEN_SETTINGS, eventHub } from "@/common/events.ts";
|
||||||
import type { LiveSyncCore } from "@/main.ts";
|
import type { LiveSyncCore } from "@/main.ts";
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { describe, expect, it } from "vitest";
|
import { describe, expect, it } from "vitest";
|
||||||
import { DEFAULT_SETTINGS, REMOTE_COUCHDB, REMOTE_MINIO } from "../../../lib/src/common/types";
|
import { DEFAULT_SETTINGS, REMOTE_COUCHDB, REMOTE_MINIO } from "@lib/common/types";
|
||||||
import { syncActivatedRemoteSettings } from "./remoteConfigBuffer";
|
import { syncActivatedRemoteSettings } from "./remoteConfigBuffer";
|
||||||
|
|
||||||
describe("syncActivatedRemoteSettings", () => {
|
describe("syncActivatedRemoteSettings", () => {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { beforeEach, describe, expect, it, vi } from "vitest";
|
import { beforeEach, describe, expect, it, vi } from "vitest";
|
||||||
import { DEFAULT_SETTINGS, REMOTE_COUCHDB, type ObsidianLiveSyncSettings } from "../../lib/src/common/types";
|
import { DEFAULT_SETTINGS, REMOTE_COUCHDB, type ObsidianLiveSyncSettings } from "@lib/common/types";
|
||||||
import { SettingService } from "../../lib/src/services/base/SettingService";
|
import { SettingService } from "@lib/services/base/SettingService";
|
||||||
import { ServiceContext } from "../../lib/src/services/base/ServiceBase";
|
import { ServiceContext } from "@lib/services/base/ServiceBase";
|
||||||
|
|
||||||
vi.mock("./SetupWizard/dialogs/Intro.svelte", () => ({ default: {} }));
|
vi.mock("./SetupWizard/dialogs/Intro.svelte", () => ({ default: {} }));
|
||||||
vi.mock("./SetupWizard/dialogs/SelectMethodNewUser.svelte", () => ({ default: {} }));
|
vi.mock("./SetupWizard/dialogs/SelectMethodNewUser.svelte", () => ({ default: {} }));
|
||||||
@@ -17,11 +17,11 @@ vi.mock("./SetupWizard/dialogs/SetupRemoteBucket.svelte", () => ({ default: {} }
|
|||||||
vi.mock("./SetupWizard/dialogs/SetupRemoteP2P.svelte", () => ({ default: {} }));
|
vi.mock("./SetupWizard/dialogs/SetupRemoteP2P.svelte", () => ({ default: {} }));
|
||||||
vi.mock("./SetupWizard/dialogs/SetupRemoteE2EE.svelte", () => ({ default: {} }));
|
vi.mock("./SetupWizard/dialogs/SetupRemoteE2EE.svelte", () => ({ default: {} }));
|
||||||
|
|
||||||
vi.mock("../../lib/src/API/processSetting.ts", () => ({
|
vi.mock("@lib/API/processSetting.ts", () => ({
|
||||||
decodeSettingsFromQRCodeData: vi.fn(),
|
decodeSettingsFromQRCodeData: vi.fn(),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
import { decodeSettingsFromQRCodeData } from "../../lib/src/API/processSetting.ts";
|
import { decodeSettingsFromQRCodeData } from "@lib/API/processSetting.ts";
|
||||||
import { SetupManager, UserMode } from "./SetupManager";
|
import { SetupManager, UserMode } from "./SetupManager";
|
||||||
|
|
||||||
class TestSettingService extends SettingService<ServiceContext> {
|
class TestSettingService extends SettingService<ServiceContext> {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { ObsHttpHandler } from "@/modules/essentialObsidian/APILib/ObsHttpHandle
|
|||||||
import { ObsidianConfirm } from "./ObsidianConfirm";
|
import { ObsidianConfirm } from "./ObsidianConfirm";
|
||||||
import type { Confirm } from "@lib/interfaces/Confirm";
|
import type { Confirm } from "@lib/interfaces/Confirm";
|
||||||
import { requestUrl, type RequestUrlParam } from "@/deps";
|
import { requestUrl, type RequestUrlParam } from "@/deps";
|
||||||
import { compatGlobal } from "@/lib/src/common/coreEnvFunctions";
|
import { compatGlobal } from "@lib/common/coreEnvFunctions";
|
||||||
// All Services will be migrated to be based on Plain Services, not Injectable Services.
|
// All Services will be migrated to be based on Plain Services, not Injectable Services.
|
||||||
// This is a migration step.
|
// This is a migration step.
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { AppLifecycleServiceBase } from "@/lib/src/services/implements/injectable/InjectableAppLifecycleService";
|
import { AppLifecycleServiceBase } from "@lib/services/implements/injectable/InjectableAppLifecycleService";
|
||||||
import type { ObsidianServiceContext } from "@/lib/src/services/implements/obsidian/ObsidianServiceContext";
|
import type { ObsidianServiceContext } from "@lib/services/implements/obsidian/ObsidianServiceContext";
|
||||||
declare module "obsidian" {
|
declare module "obsidian" {
|
||||||
interface App {
|
interface App {
|
||||||
commands: {
|
commands: {
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import { type App, type Plugin, Notice } from "@/deps";
|
import { type App, type Plugin, Notice } from "@/deps";
|
||||||
import { scheduleTask, memoIfNotExist, memoObject, retrieveMemoObject, disposeMemoObject } from "@/common/utils";
|
import { scheduleTask, memoIfNotExist, memoObject, retrieveMemoObject, disposeMemoObject } from "@/common/utils";
|
||||||
import { $msg } from "@/lib/src/common/i18n";
|
import { $msg } from "@lib/common/i18n";
|
||||||
import type { Confirm } from "@/lib/src/interfaces/Confirm";
|
import type { Confirm } from "@lib/interfaces/Confirm";
|
||||||
import type { ObsidianServiceContext } from "@/lib/src/services/implements/obsidian/ObsidianServiceContext";
|
import type { ObsidianServiceContext } from "@lib/services/implements/obsidian/ObsidianServiceContext";
|
||||||
import {
|
import {
|
||||||
askYesNo,
|
askYesNo,
|
||||||
askString,
|
askString,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { initializeStores } from "@/common/stores";
|
import { initializeStores } from "@/common/stores";
|
||||||
|
|
||||||
// import { InjectableDatabaseService } from "@/lib/src/services/implements/injectable/InjectableDatabaseService";
|
// import { InjectableDatabaseService } from "@lib/services/implements/injectable/InjectableDatabaseService";
|
||||||
import type { ObsidianServiceContext } from "@/lib/src/services/implements/obsidian/ObsidianServiceContext";
|
import type { ObsidianServiceContext } from "@lib/services/implements/obsidian/ObsidianServiceContext";
|
||||||
import { DatabaseService, type DatabaseServiceDependencies } from "@lib/services/base/DatabaseService.ts";
|
import { DatabaseService, type DatabaseServiceDependencies } from "@lib/services/base/DatabaseService.ts";
|
||||||
|
|
||||||
export class ObsidianDatabaseService<T extends ObsidianServiceContext> extends DatabaseService<T> {
|
export class ObsidianDatabaseService<T extends ObsidianServiceContext> extends DatabaseService<T> {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import type { ObsidianServiceContext } from "@lib/services/implements/obsidian/ObsidianServiceContext";
|
import type { ObsidianServiceContext } from "@lib/services/implements/obsidian/ObsidianServiceContext";
|
||||||
import { normalizePath } from "@/deps";
|
import { normalizePath } from "@/deps";
|
||||||
import { PathService } from "@/lib/src/services/base/PathService";
|
import { PathService } from "@lib/services/base/PathService";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
type BASE_IS_NEW,
|
type BASE_IS_NEW,
|
||||||
@@ -11,7 +11,7 @@ import {
|
|||||||
compareFileFreshness,
|
compareFileFreshness,
|
||||||
isMarkedAsSameChanges,
|
isMarkedAsSameChanges,
|
||||||
} from "@/common/utils";
|
} from "@/common/utils";
|
||||||
import type { UXFileInfo, AnyEntry, UXFileInfoStub, FilePathWithPrefix } from "@/lib/src/common/types";
|
import type { UXFileInfo, AnyEntry, UXFileInfoStub, FilePathWithPrefix } from "@lib/common/types";
|
||||||
export class ObsidianPathService extends PathService<ObsidianServiceContext> {
|
export class ObsidianPathService extends PathService<ObsidianServiceContext> {
|
||||||
override markChangesAreSame(
|
override markChangesAreSame(
|
||||||
old: UXFileInfo | AnyEntry | FilePathWithPrefix,
|
old: UXFileInfo | AnyEntry | FilePathWithPrefix,
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { compatGlobal } from "@/lib/src/common/coreEnvFunctions";
|
import { compatGlobal } from "@lib/common/coreEnvFunctions";
|
||||||
import { type ObsidianLiveSyncSettings } from "@lib/common/types";
|
import { type ObsidianLiveSyncSettings } from "@lib/common/types";
|
||||||
import { EVENT_REQUEST_RELOAD_SETTING_TAB, EVENT_SETTING_SAVED } from "@lib/events/coreEvents";
|
import { EVENT_REQUEST_RELOAD_SETTING_TAB, EVENT_SETTING_SAVED } from "@lib/events/coreEvents";
|
||||||
import { eventHub } from "@lib/hub/hub";
|
import { eventHub } from "@lib/hub/hub";
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { getPathFromTFile, isValidPath } from "@/common/utils";
|
import { getPathFromTFile, isValidPath } from "@/common/utils";
|
||||||
import { InjectableVaultService } from "@/lib/src/services/implements/injectable/InjectableVaultService";
|
import { InjectableVaultService } from "@lib/services/implements/injectable/InjectableVaultService";
|
||||||
import type { ObsidianServiceContext } from "@/lib/src/services/implements/obsidian/ObsidianServiceContext";
|
import type { ObsidianServiceContext } from "@lib/services/implements/obsidian/ObsidianServiceContext";
|
||||||
import type { FilePath } from "@/lib/src/common/types";
|
import type { FilePath } from "@lib/common/types";
|
||||||
|
|
||||||
declare module "obsidian" {
|
declare module "obsidian" {
|
||||||
interface DataAdapter {
|
interface DataAdapter {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import {
|
|||||||
type SvelteDialogManagerDependencies,
|
type SvelteDialogManagerDependencies,
|
||||||
} from "@lib/services/implements/base/SvelteDialog";
|
} from "@lib/services/implements/base/SvelteDialog";
|
||||||
import type { ObsidianServiceContext } from "@lib/services/implements/obsidian/ObsidianServiceContext";
|
import type { ObsidianServiceContext } from "@lib/services/implements/obsidian/ObsidianServiceContext";
|
||||||
import DialogHost from "@/lib/src/UI/DialogHost.svelte";
|
import DialogHost from "@lib/UI/DialogHost.svelte";
|
||||||
export const SvelteDialogBase = SvelteDialogMixIn(Modal, DialogHost);
|
export const SvelteDialogBase = SvelteDialogMixIn(Modal, DialogHost);
|
||||||
export class SvelteDialogObsidian<
|
export class SvelteDialogObsidian<
|
||||||
T,
|
T,
|
||||||
|
|||||||
@@ -20,12 +20,12 @@ import {
|
|||||||
TweakValuesRecommendedTemplate,
|
TweakValuesRecommendedTemplate,
|
||||||
TweakValuesShouldMatchedTemplate,
|
TweakValuesShouldMatchedTemplate,
|
||||||
TweakValuesTemplate,
|
TweakValuesTemplate,
|
||||||
} from "@/lib/src/common/types";
|
} from "@lib/common/types";
|
||||||
import {
|
import {
|
||||||
ExtraOnLocal,
|
ExtraOnLocal,
|
||||||
FullScanModes,
|
FullScanModes,
|
||||||
synchroniseAllFilesBetweenDBandStorage,
|
synchroniseAllFilesBetweenDBandStorage,
|
||||||
} from "@/lib/src/serviceFeatures/offlineScanner";
|
} from "@lib/serviceFeatures/offlineScanner";
|
||||||
import {
|
import {
|
||||||
SIMPLE_FETCH_STAGE1_LEGACY,
|
SIMPLE_FETCH_STAGE1_LEGACY,
|
||||||
SIMPLE_FETCH_STAGE1_NEWER_WINS,
|
SIMPLE_FETCH_STAGE1_NEWER_WINS,
|
||||||
@@ -40,7 +40,7 @@ import {
|
|||||||
} from "./redFlag.simpleFetch";
|
} from "./redFlag.simpleFetch";
|
||||||
import { activateRemoteConfiguration } from "@lib/serviceFeatures/remoteConfig";
|
import { activateRemoteConfiguration } from "@lib/serviceFeatures/remoteConfig";
|
||||||
//Mock synchroniseAllFilesBetweenDBandStorage
|
//Mock synchroniseAllFilesBetweenDBandStorage
|
||||||
vi.mock("@/lib/src/serviceFeatures/offlineScanner", async (importOriginal) => {
|
vi.mock("@lib/serviceFeatures/offlineScanner", async (importOriginal) => {
|
||||||
const originalModule = (await importOriginal()) as any;
|
const originalModule = (await importOriginal()) as any;
|
||||||
return {
|
return {
|
||||||
...originalModule,
|
...originalModule,
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import { eventHub, EVENT_REQUEST_OPEN_P2P } from "@/common/events";
|
import { eventHub, EVENT_REQUEST_OPEN_P2P } from "@/common/events";
|
||||||
import { reactiveSource } from "octagonal-wheels/dataobject/reactive_v2";
|
import { reactiveSource } from "octagonal-wheels/dataobject/reactive_v2";
|
||||||
import type { NecessaryServices } from "@lib/interfaces/ServiceModule";
|
import type { NecessaryServices } from "@lib/interfaces/ServiceModule";
|
||||||
import { type UseP2PReplicatorResult } from "@/lib/src/replication/trystero/UseP2PReplicatorResult";
|
import { type UseP2PReplicatorResult } from "@lib/replication/trystero/UseP2PReplicatorResult";
|
||||||
import { P2PLogCollector } from "@/lib/src/replication/trystero/P2PLogCollector";
|
import { P2PLogCollector } from "@lib/replication/trystero/P2PLogCollector";
|
||||||
import { P2PReplicatorPaneView, VIEW_TYPE_P2P } from "@/features/P2PSync/P2PReplicator/P2PReplicatorPaneView";
|
import { P2PReplicatorPaneView, VIEW_TYPE_P2P } from "@/features/P2PSync/P2PReplicator/P2PReplicatorPaneView";
|
||||||
import {
|
import {
|
||||||
P2PServerStatusPaneView,
|
P2PServerStatusPaneView,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { UXFileInfoStub, UXFolderInfo } from "@/lib/src/common/types";
|
import type { UXFileInfoStub, UXFolderInfo } from "@lib/common/types";
|
||||||
import type { IConversionAdapter } from "@/lib/src/serviceModules/adapters";
|
import type { IConversionAdapter } from "@lib/serviceModules/adapters";
|
||||||
import { TFileToUXFileInfoStub, TFolderToUXFileInfoStub } from "@/modules/coreObsidian/storageLib/utilObsidian";
|
import { TFileToUXFileInfoStub, TFolderToUXFileInfoStub } from "@/modules/coreObsidian/storageLib/utilObsidian";
|
||||||
import type { TFile, TFolder } from "obsidian";
|
import type { TFile, TFolder } from "obsidian";
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import type { FilePath, UXStat } from "@/lib/src/common/types";
|
import type { FilePath, UXStat } from "@lib/common/types";
|
||||||
import type {
|
import type {
|
||||||
IFileSystemAdapter,
|
IFileSystemAdapter,
|
||||||
IPathAdapter,
|
IPathAdapter,
|
||||||
@@ -6,7 +6,7 @@ import type {
|
|||||||
IConversionAdapter,
|
IConversionAdapter,
|
||||||
IStorageAdapter,
|
IStorageAdapter,
|
||||||
IVaultAdapter,
|
IVaultAdapter,
|
||||||
} from "@/lib/src/serviceModules/adapters";
|
} from "@lib/serviceModules/adapters";
|
||||||
import type { TAbstractFile, TFile, TFolder, Stat, App } from "obsidian";
|
import type { TAbstractFile, TFile, TFolder, Stat, App } from "obsidian";
|
||||||
import { ObsidianConversionAdapter } from "./ObsidianConversionAdapter";
|
import { ObsidianConversionAdapter } from "./ObsidianConversionAdapter";
|
||||||
import { ObsidianPathAdapter } from "./ObsidianPathAdapter";
|
import { ObsidianPathAdapter } from "./ObsidianPathAdapter";
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import type { UXDataWriteOptions } from "@/lib/src/common/types";
|
import type { UXDataWriteOptions } from "@lib/common/types";
|
||||||
import type { IStorageAdapter } from "@/lib/src/serviceModules/adapters";
|
import type { IStorageAdapter } from "@lib/serviceModules/adapters";
|
||||||
import { toArrayBuffer } from "@/lib/src/serviceModules/FileAccessBase";
|
import { toArrayBuffer } from "@lib/serviceModules/FileAccessBase";
|
||||||
import type { Stat, App } from "obsidian";
|
import type { Stat, App } from "obsidian";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import type { ITypeGuardAdapter } from "@/lib/src/serviceModules/adapters";
|
import type { ITypeGuardAdapter } from "@lib/serviceModules/adapters";
|
||||||
import { TFile, TFolder } from "obsidian";
|
import { TFile, TFolder } from "obsidian";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import type { UXDataWriteOptions } from "@/lib/src/common/types";
|
import type { UXDataWriteOptions } from "@lib/common/types";
|
||||||
import type { IVaultAdapter } from "@/lib/src/serviceModules/adapters";
|
import type { IVaultAdapter } from "@lib/serviceModules/adapters";
|
||||||
import { toArrayBuffer } from "@/lib/src/serviceModules/FileAccessBase";
|
import { toArrayBuffer } from "@lib/serviceModules/FileAccessBase";
|
||||||
import type { TFile, App, TFolder } from "obsidian";
|
import type { TFile, App, TFolder } from "obsidian";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+5
-5
@@ -1,8 +1,8 @@
|
|||||||
import type { DatabaseFileAccess } from "./lib/src/interfaces/DatabaseFileAccess";
|
import type { DatabaseFileAccess } from "@lib/interfaces/DatabaseFileAccess";
|
||||||
import type { Rebuilder } from "./lib/src/interfaces/DatabaseRebuilder";
|
import type { Rebuilder } from "@lib/interfaces/DatabaseRebuilder";
|
||||||
import type { IFileHandler } from "./lib/src/interfaces/FileHandler";
|
import type { IFileHandler } from "@lib/interfaces/FileHandler";
|
||||||
import type { StorageAccess } from "./lib/src/interfaces/StorageAccess";
|
import type { StorageAccess } from "@lib/interfaces/StorageAccess";
|
||||||
import type { IServiceHub } from "./lib/src/services/base/IService";
|
import type { IServiceHub } from "@lib/services/base/IService";
|
||||||
|
|
||||||
export interface ServiceModules {
|
export interface ServiceModules {
|
||||||
storageAccess: StorageAccess;
|
storageAccess: StorageAccess;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { App } from "@/deps.ts";
|
import { App } from "@/deps.ts";
|
||||||
import ObsidianLiveSyncPlugin from "@/main";
|
import ObsidianLiveSyncPlugin from "@/main";
|
||||||
import { DEFAULT_SETTINGS, type ObsidianLiveSyncSettings } from "@/lib/src/common/types";
|
import { DEFAULT_SETTINGS, type ObsidianLiveSyncSettings } from "@lib/common/types";
|
||||||
import { LOG_LEVEL_VERBOSE, setGlobalLogFunction } from "@lib/common/logger";
|
import { LOG_LEVEL_VERBOSE, setGlobalLogFunction } from "@lib/common/logger";
|
||||||
import { SettingCache } from "./obsidian-mock";
|
import { SettingCache } from "./obsidian-mock";
|
||||||
import { delay, fireAndForget, promiseWithResolvers } from "octagonal-wheels/promises";
|
import { delay, fireAndForget, promiseWithResolvers } from "octagonal-wheels/promises";
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import type { P2PSyncSetting } from "@/lib/src/common/types";
|
import type { P2PSyncSetting } from "@lib/common/types";
|
||||||
import { delay } from "octagonal-wheels/promises";
|
import { delay } from "octagonal-wheels/promises";
|
||||||
import type { BrowserContext, Page } from "playwright";
|
import type { BrowserContext, Page } from "playwright";
|
||||||
import type { Plugin } from "vitest/config";
|
import type { Plugin } from "vitest/config";
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
import { page } from "vitest/browser";
|
import { page } from "vitest/browser";
|
||||||
import { delay } from "@/lib/src/common/utils";
|
import { delay } from "@lib/common/utils";
|
||||||
|
|
||||||
export async function waitForDialogShown(dialogText: string, timeout = 500) {
|
export async function waitForDialogShown(dialogText: string, timeout = 500) {
|
||||||
const ttl = Date.now() + timeout;
|
const ttl = Date.now() + timeout;
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
import { delay } from "@/lib/src/common/utils";
|
import { delay } from "@lib/common/utils";
|
||||||
|
|
||||||
export async function waitTaskWithFollowups<T>(
|
export async function waitTaskWithFollowups<T>(
|
||||||
task: Promise<T>,
|
task: Promise<T>,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { compareMTime } from "@lib/common/utils.database";
|
import { compareMTime } from "@lib/common/utils.database";
|
||||||
import { EVEN } from "@/common/utils";
|
import { EVEN } from "@/common/utils";
|
||||||
import { TFile, type DataWriteOptions } from "@/deps";
|
import { TFile, type DataWriteOptions } from "@/deps";
|
||||||
import type { FilePath } from "@/lib/src/common/types";
|
import type { FilePath } from "@lib/common/types";
|
||||||
import { isDocContentSame, readContent } from "@lib/common/utils.database";
|
import { isDocContentSame, readContent } from "@lib/common/utils.database";
|
||||||
import { waitForIdle, type LiveSyncHarness } from "../harness/harness";
|
import { waitForIdle, type LiveSyncHarness } from "../harness/harness";
|
||||||
import { expect } from "vitest";
|
import { expect } from "vitest";
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { beforeAll, describe, expect, it, test } from "vitest";
|
import { beforeAll, describe, expect, it, test } from "vitest";
|
||||||
import { generateHarness, waitForIdle, waitForReady, type LiveSyncHarness } from "../harness/harness";
|
import { generateHarness, waitForIdle, waitForReady, type LiveSyncHarness } from "../harness/harness";
|
||||||
import { TFile } from "@/deps.ts";
|
import { TFile } from "@/deps.ts";
|
||||||
import { DEFAULT_SETTINGS, type FilePath, type ObsidianLiveSyncSettings } from "@/lib/src/common/types";
|
import { DEFAULT_SETTINGS, type FilePath, type ObsidianLiveSyncSettings } from "@lib/common/types";
|
||||||
import { isDocContentSame, readContent } from "@lib/common/utils.database";
|
import { isDocContentSame, readContent } from "@lib/common/utils.database";
|
||||||
import { DummyFileSourceInisialised, generateBinaryFile, generateFile, init } from "../utils/dummyfile";
|
import { DummyFileSourceInisialised, generateBinaryFile, generateFile, init } from "../utils/dummyfile";
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
// and edge, resolving conflicts, etc. will be covered in separate test suites.
|
// and edge, resolving conflicts, etc. will be covered in separate test suites.
|
||||||
import { afterAll, beforeAll, describe, expect, it, test } from "vitest";
|
import { afterAll, beforeAll, describe, expect, it, test } from "vitest";
|
||||||
import { generateHarness, waitForIdle, waitForReady, type LiveSyncHarness } from "../harness/harness";
|
import { generateHarness, waitForIdle, waitForReady, type LiveSyncHarness } from "../harness/harness";
|
||||||
import { RemoteTypes, type FilePath, type ObsidianLiveSyncSettings } from "@/lib/src/common/types";
|
import { RemoteTypes, type FilePath, type ObsidianLiveSyncSettings } from "@lib/common/types";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
DummyFileSourceInisialised,
|
DummyFileSourceInisialised,
|
||||||
@@ -13,7 +13,7 @@ import {
|
|||||||
generateFile,
|
generateFile,
|
||||||
} from "../utils/dummyfile";
|
} from "../utils/dummyfile";
|
||||||
import { checkStoredFileInDB, testFileRead, testFileWrite } from "./db_common";
|
import { checkStoredFileInDB, testFileRead, testFileWrite } from "./db_common";
|
||||||
import { delay } from "@/lib/src/common/utils";
|
import { delay } from "@lib/common/utils";
|
||||||
import { commands } from "vitest/browser";
|
import { commands } from "vitest/browser";
|
||||||
import { closeReplication, performReplication, prepareRemote } from "./sync_common";
|
import { closeReplication, performReplication, prepareRemote } from "./sync_common";
|
||||||
import type { DataWriteOptions } from "@/deps.ts";
|
import type { DataWriteOptions } from "@/deps.ts";
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import {
|
|||||||
PREFERRED_SETTING_SELF_HOSTED,
|
PREFERRED_SETTING_SELF_HOSTED,
|
||||||
RemoteTypes,
|
RemoteTypes,
|
||||||
type ObsidianLiveSyncSettings,
|
type ObsidianLiveSyncSettings,
|
||||||
} from "@/lib/src/common/types";
|
} from "@lib/common/types";
|
||||||
|
|
||||||
import { defaultFileOption } from "./db_common";
|
import { defaultFileOption } from "./db_common";
|
||||||
import { syncBasicCase } from "./sync.senario.basic.ts";
|
import { syncBasicCase } from "./sync.senario.basic.ts";
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import {
|
|||||||
PREFERRED_SETTING_SELF_HOSTED,
|
PREFERRED_SETTING_SELF_HOSTED,
|
||||||
RemoteTypes,
|
RemoteTypes,
|
||||||
type ObsidianLiveSyncSettings,
|
type ObsidianLiveSyncSettings,
|
||||||
} from "@/lib/src/common/types";
|
} from "@lib/common/types";
|
||||||
|
|
||||||
import { defaultFileOption } from "./db_common";
|
import { defaultFileOption } from "./db_common";
|
||||||
import { syncBasicCase } from "./sync.senario.basic.ts";
|
import { syncBasicCase } from "./sync.senario.basic.ts";
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import { expect } from "vitest";
|
import { expect } from "vitest";
|
||||||
import { waitForIdle, type LiveSyncHarness } from "../harness/harness";
|
import { waitForIdle, type LiveSyncHarness } from "../harness/harness";
|
||||||
import { RemoteTypes, type ObsidianLiveSyncSettings } from "@/lib/src/common/types";
|
import { RemoteTypes, type ObsidianLiveSyncSettings } from "@lib/common/types";
|
||||||
|
|
||||||
import { delay, fireAndForget } from "@/lib/src/common/utils";
|
import { delay, fireAndForget } from "@lib/common/utils";
|
||||||
import { commands } from "vitest/browser";
|
import { commands } from "vitest/browser";
|
||||||
import { LiveSyncTrysteroReplicator } from "@/lib/src/replication/trystero/LiveSyncTrysteroReplicator";
|
import { LiveSyncTrysteroReplicator } from "@lib/replication/trystero/LiveSyncTrysteroReplicator";
|
||||||
import { waitTaskWithFollowups } from "../lib/util";
|
import { waitTaskWithFollowups } from "../lib/util";
|
||||||
async function waitForP2PPeers(harness: LiveSyncHarness) {
|
async function waitForP2PPeers(harness: LiveSyncHarness) {
|
||||||
if (harness.plugin.core.settings.remoteType === RemoteTypes.REMOTE_P2P) {
|
if (harness.plugin.core.settings.remoteType === RemoteTypes.REMOTE_P2P) {
|
||||||
|
|||||||
@@ -1,10 +1,5 @@
|
|||||||
import { DoctorRegulation } from "@/lib/src/common/configForDoc";
|
import { DoctorRegulation } from "@lib/common/configForDoc";
|
||||||
import {
|
import { DEFAULT_SETTINGS, ChunkAlgorithms, AutoAccepting, type ObsidianLiveSyncSettings } from "@lib/common/types";
|
||||||
DEFAULT_SETTINGS,
|
|
||||||
ChunkAlgorithms,
|
|
||||||
AutoAccepting,
|
|
||||||
type ObsidianLiveSyncSettings,
|
|
||||||
} from "@/lib/src/common/types";
|
|
||||||
export const env = (import.meta as any).env;
|
export const env = (import.meta as any).env;
|
||||||
export const settingBase = {
|
export const settingBase = {
|
||||||
...DEFAULT_SETTINGS,
|
...DEFAULT_SETTINGS,
|
||||||
|
|||||||
@@ -7,9 +7,9 @@
|
|||||||
*/
|
*/
|
||||||
import { expect } from "vitest";
|
import { expect } from "vitest";
|
||||||
import { waitForIdle, type LiveSyncHarness } from "../harness/harness";
|
import { waitForIdle, type LiveSyncHarness } from "../harness/harness";
|
||||||
import { RemoteTypes, type ObsidianLiveSyncSettings } from "@/lib/src/common/types";
|
import { RemoteTypes, type ObsidianLiveSyncSettings } from "@lib/common/types";
|
||||||
import { delay } from "@/lib/src/common/utils";
|
import { delay } from "@lib/common/utils";
|
||||||
import { LiveSyncTrysteroReplicator } from "@/lib/src/replication/trystero/LiveSyncTrysteroReplicator";
|
import { LiveSyncTrysteroReplicator } from "@lib/replication/trystero/LiveSyncTrysteroReplicator";
|
||||||
import { waitTaskWithFollowups } from "../lib/util";
|
import { waitTaskWithFollowups } from "../lib/util";
|
||||||
|
|
||||||
const P2P_REPLICATION_TIMEOUT_MS = 180000;
|
const P2P_REPLICATION_TIMEOUT_MS = 180000;
|
||||||
|
|||||||
@@ -15,10 +15,10 @@ import {
|
|||||||
type FilePath,
|
type FilePath,
|
||||||
type ObsidianLiveSyncSettings,
|
type ObsidianLiveSyncSettings,
|
||||||
AutoAccepting,
|
AutoAccepting,
|
||||||
} from "@/lib/src/common/types";
|
} from "@lib/common/types";
|
||||||
import { DummyFileSourceInisialised, generateBinaryFile, generateFile } from "../utils/dummyfile";
|
import { DummyFileSourceInisialised, generateBinaryFile, generateFile } from "../utils/dummyfile";
|
||||||
import { defaultFileOption, testFileRead } from "../suite/db_common";
|
import { defaultFileOption, testFileRead } from "../suite/db_common";
|
||||||
import { delay } from "@/lib/src/common/utils";
|
import { delay } from "@lib/common/utils";
|
||||||
import { closeReplication, performReplication } from "./sync_common_p2p";
|
import { closeReplication, performReplication } from "./sync_common_p2p";
|
||||||
import { settingBase } from "../suite/variables";
|
import { settingBase } from "../suite/variables";
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ import {
|
|||||||
RemoteTypes,
|
RemoteTypes,
|
||||||
type ObsidianLiveSyncSettings,
|
type ObsidianLiveSyncSettings,
|
||||||
AutoAccepting,
|
AutoAccepting,
|
||||||
} from "@/lib/src/common/types";
|
} from "@lib/common/types";
|
||||||
import {
|
import {
|
||||||
DummyFileSourceInisialised,
|
DummyFileSourceInisialised,
|
||||||
FILE_SIZE_BINS,
|
FILE_SIZE_BINS,
|
||||||
@@ -26,7 +26,7 @@ import {
|
|||||||
generateFile,
|
generateFile,
|
||||||
} from "../utils/dummyfile";
|
} from "../utils/dummyfile";
|
||||||
import { checkStoredFileInDB, defaultFileOption, testFileWrite } from "../suite/db_common";
|
import { checkStoredFileInDB, defaultFileOption, testFileWrite } from "../suite/db_common";
|
||||||
import { delay } from "@/lib/src/common/utils";
|
import { delay } from "@lib/common/utils";
|
||||||
import { closeReplication, performReplication } from "./sync_common_p2p";
|
import { closeReplication, performReplication } from "./sync_common_p2p";
|
||||||
import { settingBase } from "../suite/variables";
|
import { settingBase } from "../suite/variables";
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import {
|
|||||||
PREFERRED_SETTING_SELF_HOSTED,
|
PREFERRED_SETTING_SELF_HOSTED,
|
||||||
RemoteTypes,
|
RemoteTypes,
|
||||||
type ObsidianLiveSyncSettings,
|
type ObsidianLiveSyncSettings,
|
||||||
} from "@/lib/src/common/types";
|
} from "@lib/common/types";
|
||||||
|
|
||||||
import { settingBase } from "../suite/variables.ts";
|
import { settingBase } from "../suite/variables.ts";
|
||||||
import { defaultFileOption } from "../suite/db_common";
|
import { defaultFileOption } from "../suite/db_common";
|
||||||
|
|||||||
@@ -3,12 +3,12 @@ import { beforeAll, describe, expect, it } from "vitest";
|
|||||||
import { commands } from "vitest/browser";
|
import { commands } from "vitest/browser";
|
||||||
|
|
||||||
import { generateHarness, waitForIdle, waitForReady, type LiveSyncHarness } from "../harness/harness";
|
import { generateHarness, waitForIdle, waitForReady, type LiveSyncHarness } from "../harness/harness";
|
||||||
import { ChunkAlgorithms, DEFAULT_SETTINGS, type ObsidianLiveSyncSettings } from "@/lib/src/common/types";
|
import { ChunkAlgorithms, DEFAULT_SETTINGS, type ObsidianLiveSyncSettings } from "@lib/common/types";
|
||||||
|
|
||||||
import { DummyFileSourceInisialised } from "../utils/dummyfile";
|
import { DummyFileSourceInisialised } from "../utils/dummyfile";
|
||||||
|
|
||||||
import { page } from "vitest/browser";
|
import { page } from "vitest/browser";
|
||||||
import { DoctorRegulation } from "@/lib/src/common/configForDoc";
|
import { DoctorRegulation } from "@lib/common/configForDoc";
|
||||||
import { waitForDialogHidden, waitForDialogShown } from "../lib/ui";
|
import { waitForDialogHidden, waitForDialogShown } from "../lib/ui";
|
||||||
const env = (import.meta as any).env;
|
const env = (import.meta as any).env;
|
||||||
const dialog_setting_base = {
|
const dialog_setting_base = {
|
||||||
|
|||||||
Reference in New Issue
Block a user