mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-15 09:06:19 +08:00
feat(core): import progress & perf (#15197)
#### PR Dependency Tree * **PR #15197** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added a new import pipeline with “plan then commit” batch handling for Markdown, Notion HTML, Obsidian, and Bear backups. * Enabled native import sessions with progress, cancellation, and batch-by-batch committing (including assets, folders, icons, and tags). * Added web preflight limits for ZIP and multi-file imports. * **Bug Fixes** * Improved import error/warning reporting and continued processing when some items fail. * Strengthened snapshot-based file/directory picking to preserve paths. * **Chores** * Updated project packaging/configuration for the new import workflow. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
@@ -8,12 +8,18 @@ import type {
|
||||
} from '@affine/electron/main/exposed';
|
||||
import type { AppInfo } from '@affine/electron/preload/electron-api';
|
||||
import type { SharedStorage } from '@affine/electron/preload/shared-storage';
|
||||
import type { CreateImportSessionFromSourceOptions } from '@affine/electron/shared/import';
|
||||
|
||||
type MainHandlers = typeof mainHandlers;
|
||||
type HelperHandlers = typeof helperHandlers;
|
||||
type HelperEvents = typeof helperEvents;
|
||||
type MainEvents = typeof mainEvents;
|
||||
export type ClientHandler = {
|
||||
type ImportPreloadHandlers = {
|
||||
createImportSessionFromSource(
|
||||
options: CreateImportSessionFromSourceOptions
|
||||
): Promise<string>;
|
||||
};
|
||||
type MainClientHandlers = {
|
||||
[namespace in keyof MainHandlers]: {
|
||||
[method in keyof MainHandlers[namespace]]: MainHandlers[namespace][method] extends (
|
||||
arg0: any,
|
||||
@@ -26,7 +32,12 @@ export type ClientHandler = {
|
||||
: Promise<ReturnType<MainHandlers[namespace][method]>>
|
||||
: never;
|
||||
};
|
||||
} & HelperHandlers;
|
||||
};
|
||||
|
||||
export type ClientHandler = Omit<MainClientHandlers, 'import'> &
|
||||
HelperHandlers & {
|
||||
import: MainClientHandlers['import'] & ImportPreloadHandlers;
|
||||
};
|
||||
export type ClientEvents = MainEvents & HelperEvents;
|
||||
|
||||
export const appInfo = (globalThis as any).__appInfo as AppInfo | null;
|
||||
@@ -38,7 +49,6 @@ export const sharedStorage = (globalThis as any).__sharedStorage as
|
||||
| undefined;
|
||||
|
||||
export type { AppInfo, SharedStorage };
|
||||
|
||||
export {
|
||||
type SpellCheckStateSchema,
|
||||
type TabViewsMetaSchema,
|
||||
@@ -51,3 +61,9 @@ export type {
|
||||
AddTabOption,
|
||||
TabAction,
|
||||
} from '@affine/electron/main/windows-manager';
|
||||
export type {
|
||||
CreateImportSessionFromSourceOptions,
|
||||
NativeImportBrowserSource,
|
||||
NativeImportFormat,
|
||||
NativeImportSessionHandlers,
|
||||
} from '@affine/electron/shared/import';
|
||||
|
||||
Reference in New Issue
Block a user