diff --git a/e2e/disposing/disposing.spec.ts b/e2e/disposing/disposing.spec.ts index 9525fd4f378..049ea5e607c 100644 --- a/e2e/disposing/disposing.spec.ts +++ b/e2e/disposing/disposing.spec.ts @@ -47,7 +47,7 @@ test('no error on constructing and disposing sheet unit', async ({ page }) => { errored = true; }); - await page.goto('http://localhost:3000/sheets/', { waitUntil: 'networkidle' }); + await page.goto('http://localhost:3000/sheets/'); await page.evaluate(() => window.E2EControllerAPI.disposeCurrSheetUnit()); await page.evaluate(() => window.E2EControllerAPI.loadDefaultSheet()); diff --git a/e2e/perf/scroll.spec.ts b/e2e/perf/scroll.spec.ts index 2ec5ffd6269..8f22fb2fdb3 100644 --- a/e2e/perf/scroll.spec.ts +++ b/e2e/perf/scroll.spec.ts @@ -16,7 +16,7 @@ import type { Page } from '@playwright/test'; /* eslint-disable no-console */ -import { chromium, expect, test } from '@playwright/test'; +import { expect, test } from '@playwright/test'; import { sheetData as emptySheetData } from '../__testing__/emptysheet'; import { sheetData as freezeData } from '../__testing__/freezesheet'; import { sheetData as mergeCellData } from '../__testing__/mergecell'; @@ -135,14 +135,15 @@ async function measureFPS(page: Page, testDuration = 5, deltaX: number, deltaY: const createTest = (title: string, sheetData: IJsonObject, minFpsValue: number, deltaX = 0, deltaY = 0) => { // Default Size Of browser: 1280x720 pixels. And default DPR is 1. test(title, async ({ page }) => { - let port = 3000; - if (!isCI) { - const browser = await chromium.launch({ headless: false }); // launch browser - page = await browser.newPage(); - port = 3002; - } - - await page.goto(`http://localhost:${port}/sheets/`); + // dev:e2e open localhost:3000, not 3002 + // let port = 3000; + // if (!isCI) { + // const browser = await chromium.launch({ headless: false }); // launch browser + // page = await browser.newPage(); + // port = 3002; + // } + + await page.goto('http://localhost:3000/sheets/'); await page.waitForTimeout(2000); const windowOfPage = await page.evaluateHandle('window'); diff --git a/e2e/visual-comparison/docs/docs-visual-comparison.spec.ts-snapshots/default-doc-chromium-darwin.png b/e2e/visual-comparison/docs/docs-visual-comparison.spec.ts-snapshots/default-doc-chromium-darwin.png new file mode 100644 index 00000000000..710544cdd25 Binary files /dev/null and b/e2e/visual-comparison/docs/docs-visual-comparison.spec.ts-snapshots/default-doc-chromium-darwin.png differ diff --git a/e2e/visual-comparison/sheets/sheets-gridlines.spec.ts-snapshots/sheets-no-gridlines-chromium-darwin.png b/e2e/visual-comparison/sheets/sheets-gridlines.spec.ts-snapshots/sheets-no-gridlines-chromium-darwin.png new file mode 100644 index 00000000000..b7c5a3e37d8 Binary files /dev/null and b/e2e/visual-comparison/sheets/sheets-gridlines.spec.ts-snapshots/sheets-no-gridlines-chromium-darwin.png differ diff --git a/e2e/visual-comparison/sheets/sheets-scroll.spec.ts-snapshots/mergedCellsRenderingScrolling-chromium-darwin.png b/e2e/visual-comparison/sheets/sheets-scroll.spec.ts-snapshots/mergedCellsRenderingScrolling-chromium-darwin.png new file mode 100644 index 00000000000..e28580ff453 Binary files /dev/null and b/e2e/visual-comparison/sheets/sheets-scroll.spec.ts-snapshots/mergedCellsRenderingScrolling-chromium-darwin.png differ diff --git a/e2e/visual-comparison/sheets/sheets-scroll.spec.ts-snapshots/renderingAfterScrollByAPI-chromium-darwin.png b/e2e/visual-comparison/sheets/sheets-scroll.spec.ts-snapshots/renderingAfterScrollByAPI-chromium-darwin.png new file mode 100644 index 00000000000..5e53a07ea65 Binary files /dev/null and b/e2e/visual-comparison/sheets/sheets-scroll.spec.ts-snapshots/renderingAfterScrollByAPI-chromium-darwin.png differ diff --git a/e2e/visual-comparison/sheets/sheets-visual-comparison.spec.ts-snapshots/default-sheet-chromium-darwin.png b/e2e/visual-comparison/sheets/sheets-visual-comparison.spec.ts-snapshots/default-sheet-chromium-darwin.png new file mode 100644 index 00000000000..d2bd220ed90 Binary files /dev/null and b/e2e/visual-comparison/sheets/sheets-visual-comparison.spec.ts-snapshots/default-sheet-chromium-darwin.png differ diff --git a/e2e/visual-comparison/sheets/sheets-visual-comparison.spec.ts-snapshots/default-sheet-fullpage-chromium-darwin.png b/e2e/visual-comparison/sheets/sheets-visual-comparison.spec.ts-snapshots/default-sheet-fullpage-chromium-darwin.png new file mode 100644 index 00000000000..e64a8c830b6 Binary files /dev/null and b/e2e/visual-comparison/sheets/sheets-visual-comparison.spec.ts-snapshots/default-sheet-fullpage-chromium-darwin.png differ diff --git a/e2e/visual-comparison/sheets/sheets-visual-comparison.spec.ts-snapshots/defaultstyle-chromium-darwin.png b/e2e/visual-comparison/sheets/sheets-visual-comparison.spec.ts-snapshots/defaultstyle-chromium-darwin.png new file mode 100644 index 00000000000..6e4e73ffe31 Binary files /dev/null and b/e2e/visual-comparison/sheets/sheets-visual-comparison.spec.ts-snapshots/defaultstyle-chromium-darwin.png differ diff --git a/e2e/visual-comparison/sheets/sheets-visual-comparison.spec.ts-snapshots/demo-sheet-chromium-darwin.png b/e2e/visual-comparison/sheets/sheets-visual-comparison.spec.ts-snapshots/demo-sheet-chromium-darwin.png new file mode 100644 index 00000000000..618fa711ddf Binary files /dev/null and b/e2e/visual-comparison/sheets/sheets-visual-comparison.spec.ts-snapshots/demo-sheet-chromium-darwin.png differ diff --git a/e2e/visual-comparison/sheets/sheets-visual-comparison.spec.ts-snapshots/facade-sheet-hooks-chromium-darwin.png b/e2e/visual-comparison/sheets/sheets-visual-comparison.spec.ts-snapshots/facade-sheet-hooks-chromium-darwin.png new file mode 100644 index 00000000000..75c98168bb8 Binary files /dev/null and b/e2e/visual-comparison/sheets/sheets-visual-comparison.spec.ts-snapshots/facade-sheet-hooks-chromium-darwin.png differ diff --git a/e2e/visual-comparison/sheets/sheets-visual-comparison.spec.ts-snapshots/set-force-string-cell-chromium-darwin.png b/e2e/visual-comparison/sheets/sheets-visual-comparison.spec.ts-snapshots/set-force-string-cell-chromium-darwin.png new file mode 100644 index 00000000000..2b4bc85ea1d Binary files /dev/null and b/e2e/visual-comparison/sheets/sheets-visual-comparison.spec.ts-snapshots/set-force-string-cell-chromium-darwin.png differ diff --git a/e2e/visual-comparison/sheets/sheets-visual-comparison.spec.ts-snapshots/set-text-format-number-cell-chromium-darwin.png b/e2e/visual-comparison/sheets/sheets-visual-comparison.spec.ts-snapshots/set-text-format-number-cell-chromium-darwin.png new file mode 100644 index 00000000000..70f188f1154 Binary files /dev/null and b/e2e/visual-comparison/sheets/sheets-visual-comparison.spec.ts-snapshots/set-text-format-number-cell-chromium-darwin.png differ diff --git a/packages/sheets-formula/src/controllers/trigger-calculation.controller.ts b/packages/sheets-formula/src/controllers/trigger-calculation.controller.ts index a1b13f2dfc8..9d32fac01be 100644 --- a/packages/sheets-formula/src/controllers/trigger-calculation.controller.ts +++ b/packages/sheets-formula/src/controllers/trigger-calculation.controller.ts @@ -162,6 +162,8 @@ export class TriggerCalculationController extends Disposable { this._progress$.next(NilProgress); this._progress$.complete(); + // clear timer when disposed + clearTimeout(this._setTimeoutKey); } private _commandExecutedListener() { diff --git a/packages/sheets-ui/src/controllers/editor/editing.render-controller.ts b/packages/sheets-ui/src/controllers/editor/editing.render-controller.ts index a2ad9d4c93e..e52b88c8471 100644 --- a/packages/sheets-ui/src/controllers/editor/editing.render-controller.ts +++ b/packages/sheets-ui/src/controllers/editor/editing.render-controller.ts @@ -16,7 +16,7 @@ /* eslint-disable max-lines-per-function */ -import type { DocumentDataModel, ICellData, ICommandInfo, IDisposable, IDocumentBody, IDocumentData, IDocumentStyle, IStyleData, Nullable, Styles, UnitModel, Workbook } from '@univerjs/core'; +import type { DocumentDataModel, ICellData, ICommandInfo, IDisposable, IDocumentBody, IDocumentData, IDocumentStyle, IStyleData, Nullable, Styles, Workbook } from '@univerjs/core'; import type { IRichTextEditingMutationParams } from '@univerjs/docs'; import type { IRenderContext, IRenderModule } from '@univerjs/engine-render'; import type { WorkbookSelectionModel } from '@univerjs/sheets'; @@ -158,9 +158,10 @@ export class EditingRenderController extends Disposable implements IRenderModule this._commandExecutedListener(d); this._initSkeletonListener(d); - this.disposeWithMe(this._univerInstanceService.unitDisposed$.subscribe((_unit: UnitModel) => { + // RenderManagerService._disposeItem will calls EditingRenderController.dispose before unitDisposed$.subscribe,so that the timer won't be cleared + d.add(() => { clearTimeout(this._cursorTimeout); - })); + }); // FIXME: this problem is the same with slide. Should be fixed when refactoring editor. this._cursorTimeout = setTimeout(() => {