Skip to content

Commit 046a793

Browse files
committed
fix(desktop): declare per-platform node-pty prebuilds as optional
electron-builder's dependency collector fails on a missing production dependency but skips a missing optional one, and bun installs only the host platform's prebuild, so each OS was failing on the other's packages.
1 parent 6d1af69 commit 046a793

3 files changed

Lines changed: 18 additions & 11 deletions

File tree

‎apps/desktop/package.json‎

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,6 @@
3333
},
3434
"dependencies": {
3535
"@lydell/node-pty": "1.2.0-beta.12",
36-
"@lydell/node-pty-darwin-arm64": "1.2.0-beta.12",
37-
"@lydell/node-pty-darwin-x64": "1.2.0-beta.12",
38-
"@lydell/node-pty-win32-arm64": "1.2.0-beta.12",
39-
"@lydell/node-pty-win32-x64": "1.2.0-beta.12",
4036
"@sim/browser-protocol": "workspace:*",
4137
"@sim/desktop-bridge": "workspace:*",
4238
"@sim/logger": "workspace:*",
@@ -50,6 +46,12 @@
5046
"pdf-lib": "1.17.1",
5147
"@sim/auth-ui": "workspace:*"
5248
},
49+
"optionalDependencies": {
50+
"@lydell/node-pty-darwin-arm64": "1.2.0-beta.12",
51+
"@lydell/node-pty-darwin-x64": "1.2.0-beta.12",
52+
"@lydell/node-pty-win32-arm64": "1.2.0-beta.12",
53+
"@lydell/node-pty-win32-x64": "1.2.0-beta.12"
54+
},
5355
"devDependencies": {
5456
"@electron/fuses": "1.8.0",
5557
"@playwright/test": "1.61.1",

‎apps/desktop/src/main/browser-agent/keyboard.test.ts‎

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ describe('dispatchKeyCombo', () => {
189189
.mockRejectedValueOnce(new Error('key-up response lost'))
190190
.mockRejectedValueOnce(new Error('cleanup unavailable'))
191191

192-
const dispatch = dispatchKeyCombo(contents, parseKeyCombo('Cmd+A', 'darwin'))
192+
const dispatch = dispatchKeyCombo(contents, parseKeyCombo('Mod+A'))
193193

194194
await expect(dispatch).rejects.toEqual(
195195
expect.objectContaining({
@@ -202,7 +202,7 @@ describe('dispatchKeyCombo', () => {
202202
const keyEvents = vi
203203
.mocked(contents.debugger.sendCommand)
204204
.mock.calls.filter(([method]) => method === 'Input.dispatchKeyEvent')
205-
// Meta down, A down, A up (lost), then cleanup re-releases A and releases the held Meta.
205+
// Mod down, A down, A up (lost), then cleanup re-releases A and releases the held Mod.
206206
expect(keyEvents).toHaveLength(5)
207207
expect(keyEvents[2]).toEqual(keyEvents[3])
208208
expect(keyEvents[2]).toEqual([
@@ -211,7 +211,10 @@ describe('dispatchKeyCombo', () => {
211211
])
212212
expect(keyEvents[4]).toEqual([
213213
'Input.dispatchKeyEvent',
214-
expect.objectContaining({ type: 'keyUp', key: 'Meta' }),
214+
expect.objectContaining({
215+
type: 'keyUp',
216+
key: process.platform === 'darwin' ? 'Meta' : 'Control',
217+
}),
215218
])
216219
expect(contents.setIgnoreMenuShortcuts).toHaveBeenNthCalledWith(1, true)
217220
expect(contents.setIgnoreMenuShortcuts).toHaveBeenNthCalledWith(2, false)

‎bun.lock‎

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

0 commit comments

Comments
 (0)