diff --git a/packages/data-center/src/datacenter.ts b/packages/data-center/src/datacenter.ts index 3e31e9f1d8..62fa9da8b8 100644 --- a/packages/data-center/src/datacenter.ts +++ b/packages/data-center/src/datacenter.ts @@ -7,6 +7,7 @@ import { getApis, Apis } from './apis/index.js'; import { AffineProvider, BaseProvider } from './provider/index.js'; import { LocalProvider } from './provider/index.js'; import { getKVConfigure } from './store.js'; +import { TauriIPCProvider } from './provider/tauri-ipc/index.js'; // load workspace's config type LoadConfig = { @@ -43,6 +44,10 @@ export class DataCenter { const dc = new DataCenter(debug); dc.addProvider(AffineProvider); dc.addProvider(LocalProvider); + // use ipc provider when client app's preload script inject the global flag. + if (typeof window !== 'undefined' && window.CLIENT_APP) { + dc.addProvider(TauriIPCProvider); + } return dc; } diff --git a/packages/data-center/src/types.ts b/packages/data-center/src/types.ts new file mode 100644 index 0000000000..9e71ac5b62 --- /dev/null +++ b/packages/data-center/src/types.ts @@ -0,0 +1,8 @@ +declare global { + interface Window { + CLIENT_APP?: boolean; + __editoVersion?: string; + } +} + +export {};