Skip to content

Commit 799a96e

Browse files
backnotpropclaude
andcommitted
merge: resolve conflicts with main (mobile touch detection)
Keep matchMedia('(pointer: coarse)') from PR over ontouchstart check — avoids false positives on desktop Chrome with touchscreens. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2 parents 8740b2a + 5437a37 commit 799a96e

39 files changed

Lines changed: 2537 additions & 810 deletions

.github/workflows/release.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,24 @@ env:
2222
DRY_RUN: ${{ !(startsWith(github.ref, 'refs/tags/') || inputs.dry-run == 'false') }}
2323

2424
jobs:
25+
test:
26+
runs-on: ubuntu-latest
27+
28+
steps:
29+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
30+
31+
- uses: oven-sh/setup-bun@ecf28ddc73e819eb6fa29df6b34ef8921c743461 # v2.1.3
32+
with:
33+
bun-version: latest
34+
35+
- name: Install dependencies
36+
run: bun install
37+
38+
- name: Run tests
39+
run: bun test
40+
2541
build:
42+
needs: test
2643
runs-on: ubuntu-latest
2744

2845
steps:

.github/workflows/test.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Test
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- main
7+
push:
8+
branches:
9+
- main
10+
11+
jobs:
12+
test:
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
17+
18+
- uses: oven-sh/setup-bun@ecf28ddc73e819eb6fa29df6b34ef8921c743461 # v2.1.3
19+
with:
20+
bun-version: latest
21+
22+
- name: Install dependencies
23+
run: bun install
24+
25+
- name: Run tests
26+
run: bun test

apps/vscode-extension/mocks/vscode.ts

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,18 @@ export const window = {
120120
},
121121
};
122122
},
123+
createTextEditorDecorationType(_options: unknown) {
124+
return { dispose() {} };
125+
},
126+
get activeTextEditor() {
127+
return undefined;
128+
},
129+
get visibleTextEditors(): unknown[] {
130+
return [];
131+
},
132+
onDidChangeActiveTextEditor(_listener: unknown) {
133+
return { dispose() {} };
134+
},
123135
};
124136

125137
export const env = {
@@ -128,6 +140,61 @@ export const env = {
128140
},
129141
};
130142

143+
export const comments = {
144+
createCommentController(_id: string, _label: string) {
145+
return {
146+
options: {},
147+
dispose() {},
148+
createCommentThread(_uri: Uri, _range: unknown, _comments: unknown[]) {
149+
return {
150+
uri: _uri,
151+
range: _range,
152+
comments: _comments,
153+
collapsibleState: 0,
154+
canReply: true,
155+
contextValue: "",
156+
dispose() {},
157+
};
158+
},
159+
};
160+
},
161+
};
162+
163+
export const languages = {
164+
registerCodeActionsProvider(_selector: unknown, _provider: unknown, _metadata?: unknown) {
165+
return { dispose() {} };
166+
},
167+
};
168+
169+
export class Range {
170+
start: { line: number; character: number };
171+
end: { line: number; character: number };
172+
isEmpty: boolean;
173+
constructor(startLine: number | { line: number; character: number }, startChar?: number | { line: number; character: number }, endLine?: number, endChar?: number) {
174+
if (typeof startLine === "object") {
175+
this.start = startLine;
176+
this.end = startChar as { line: number; character: number };
177+
} else {
178+
this.start = { line: startLine, character: startChar as number };
179+
this.end = { line: endLine!, character: endChar! };
180+
}
181+
this.isEmpty = this.start.line === this.end.line && this.start.character === this.end.character;
182+
}
183+
isEqual(other: Range) {
184+
return this.start.line === other.start.line && this.start.character === other.start.character &&
185+
this.end.line === other.end.line && this.end.character === other.end.character;
186+
}
187+
}
188+
189+
export const CommentMode = { Preview: 1, Editing: 0 };
190+
export const CommentThreadCollapsibleState = { Collapsed: 0, Expanded: 1 };
191+
192+
export const CodeActionKind = {
193+
RefactorInline: { value: "refactor.inline" },
194+
};
195+
196+
export const OverviewRulerLane = { Left: 1, Center: 2, Right: 4, Full: 7 };
197+
131198
export const workspace = {
132199
getConfiguration(_section?: string) {
133200
return {

bun.lock

Lines changed: 10 additions & 18 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,5 @@
3434
"dependencies": {
3535
"@pierre/diffs": "^1.1.0-beta.19",
3636
"diff": "^8.0.3"
37-
},
38-
"devDependencies": {
39-
"happy-dom": "^20.5.0"
4037
}
4138
}

0 commit comments

Comments
 (0)