From b13dfc23bd246b03d1afc46bd34fbead92bfd9da Mon Sep 17 00:00:00 2001 From: levivilet <72156503+levivilet@users.noreply.github.com> Date: Sat, 26 Sep 2026 15:02:52 +0000 Subject: [PATCH 1/2] fix: use default cursor on diff scrollbar --- .../src/parts/RenderCss/RenderCss.ts | 3 +- packages/e2e/src/diff.scrollbar-cursor.ts | 34 +++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 packages/e2e/src/diff.scrollbar-cursor.ts diff --git a/packages/diff-view/src/parts/RenderCss/RenderCss.ts b/packages/diff-view/src/parts/RenderCss/RenderCss.ts index ad431732..57371bf1 100644 --- a/packages/diff-view/src/parts/RenderCss/RenderCss.ts +++ b/packages/diff-view/src/parts/RenderCss/RenderCss.ts @@ -454,6 +454,7 @@ ${getEmptyLineNumberCss(newState.visibleLinesLeft, newState.visibleLinesRight, i background-color: rgba(128, 128, 128, 0.15); background-image: var(--ScrollBarBackgroundImage); border-radius: 4px; + cursor: default; height: 100%; position: absolute; right: 2px; @@ -464,7 +465,7 @@ ${getEmptyLineNumberCss(newState.visibleLinesLeft, newState.visibleLinesRight, i .DiffScrollBarThumb { background: rgba(128, 128, 128, 0.45); border-radius: 4px; - cursor: pointer; + cursor: default; height: var(--ScrollBarHeight); position: absolute; top: var(--ScrollBarThumbTop); diff --git a/packages/e2e/src/diff.scrollbar-cursor.ts b/packages/e2e/src/diff.scrollbar-cursor.ts new file mode 100644 index 00000000..21dd4fc8 --- /dev/null +++ b/packages/e2e/src/diff.scrollbar-cursor.ts @@ -0,0 +1,34 @@ +import type { Test } from '@lvce-editor/test-with-playwright' + +export const name = 'diff.scrollbar-cursor' + +export const test: Test = async ({ Command, DiffView, expect, FileSystem, Locator, Workspace }) => { + const tmpDir = await FileSystem.getTmpDir() + const content = Array.from({ length: 900 }, (_, index) => `shared line ${index + 1}`).join('\n') + await FileSystem.writeFile(`${tmpDir}/before.txt`, `${content}\nbottom before`) + await FileSystem.writeFile(`${tmpDir}/after.txt`, `${content}\nbottom after`) + await Workspace.setPath(tmpDir) + await DiffView.open(`${tmpDir}/before.txt`, `${tmpDir}/after.txt`) + + const scrollBar = Locator('.DiffScrollBar') + const scrollBarThumb = Locator('.DiffScrollBarThumb') + for (const mode of ['side-by-side', 'inline'] as const) { + await Command.execute('DiffView.setDiffMode', mode) + await expect(scrollBar).toHaveCSS('cursor', 'default') + await expect(scrollBarThumb).toHaveCSS('cursor', 'default') + + const diffRows = Locator(mode === 'inline' ? '.InlineDiffEditor .DiffEditorRows' : '.DiffEditorContentLeft .DiffEditorRows') + await diffRows.dispatchEvent('wheel', { + bubbles: true, + deltaMode: 0, + deltaY: 9_999_999, + } as unknown as string) + + await expect(diffRows).toContainText('bottom before') + if (mode === 'inline') { + await expect(diffRows).toContainText('bottom after') + } else { + await expect(Locator('.DiffEditorContentRight .DiffEditorRows')).toContainText('bottom after') + } + } +} From 080973025cc70736dc1c4250e9786d755645199a Mon Sep 17 00:00:00 2001 From: levivilet <72156503+levivilet@users.noreply.github.com> Date: Sat, 26 Sep 2026 15:06:19 +0000 Subject: [PATCH 2/2] fix: bind scrollbar cursor assertion locator --- packages/e2e/src/diff.scrollbar-cursor.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/e2e/src/diff.scrollbar-cursor.ts b/packages/e2e/src/diff.scrollbar-cursor.ts index 21dd4fc8..926c2855 100644 --- a/packages/e2e/src/diff.scrollbar-cursor.ts +++ b/packages/e2e/src/diff.scrollbar-cursor.ts @@ -28,7 +28,8 @@ export const test: Test = async ({ Command, DiffView, expect, FileSystem, Locato if (mode === 'inline') { await expect(diffRows).toContainText('bottom after') } else { - await expect(Locator('.DiffEditorContentRight .DiffEditorRows')).toContainText('bottom after') + const rightRows = Locator('.DiffEditorContentRight .DiffEditorRows') + await expect(rightRows).toContainText('bottom after') } } }