Skip to content

Commit 0adcfd9

Browse files
authored
Fix builds in 4.3.3 (#1646)
* Fix builds in 4.3.3 * fix builds
1 parent 577c5cd commit 0adcfd9

File tree

5 files changed

+15
-24
lines changed

5 files changed

+15
-24
lines changed

packages/wallet-sdk/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"test": "vitest",
2525
"test:coverage": "vitest --coverage",
2626
"prebuild": "rm -rf ./dist && node -p \"'export const VERSION = \\'' + require('./package.json').version + '\\';\\nexport const NAME = \\'' + require('./package.json').name + '\\';'\" > src/sdk-info.ts",
27-
"build": "node compile-assets.cjs && tsc -p ./tsconfig.build.json && tsc-alias && cp -a src/vendor-js dist",
27+
"build": "node compile-assets.cjs && tsc -p ./tsconfig.build.json && tsc-alias && cp -a src/vendor-js dist && cp src/sign/walletlink/relay/connection/HeartbeatWorker.js dist/sign/walletlink/relay/connection/",
2828
"dev": "yarn build && tsc --watch & nodemon --watch dist --delay 1 --exec tsc-alias",
2929
"typecheck": "tsc --noEmit",
3030
"lint": "biome lint .",
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,18 @@
11
// Copyright (c) 2018-2025 Coinbase, Inc. <https://www.coinbase.com/>
22

3-
43
/**
54
* This worker is used to send heartbeat messages to the main thread.
65
* It is used to keep the websocket connection alive when the webpage is backgrounded.
76
*
87
*/
98

10-
const HEARTBEAT_INTERVAL = 10000; // 10 seconds
11-
12-
type WorkerMessage = {
13-
type: 'start' | 'stop';
14-
}
15-
16-
export type WorkerResponse = {
17-
type: 'heartbeat' | 'started' | 'stopped';
18-
}
9+
// Define the heartbeat interval constant directly in the worker to avoid import issues
10+
const HEARTBEAT_INTERVAL = 10000;
1911

20-
let heartbeatInterval: NodeJS.Timeout | undefined;
12+
let heartbeatInterval;
2113

2214
// Listen for messages from the main thread
23-
self.addEventListener('message', (event: MessageEvent<WorkerMessage>) => {
15+
self.addEventListener('message', (event) => {
2416
const { type } = event.data;
2517

2618
switch (type) {
@@ -35,7 +27,7 @@ self.addEventListener('message', (event: MessageEvent<WorkerMessage>) => {
3527
}
3628
});
3729

38-
function startHeartbeat(): void {
30+
function startHeartbeat() {
3931
// Clear any existing interval
4032
if (heartbeatInterval) {
4133
clearInterval(heartbeatInterval);
@@ -44,27 +36,27 @@ function startHeartbeat(): void {
4436
// Start the heartbeat interval
4537
heartbeatInterval = setInterval(() => {
4638
// Send heartbeat message to main thread
47-
const response: WorkerResponse = { type: 'heartbeat' };
39+
const response = { type: 'heartbeat' };
4840
self.postMessage(response);
4941
}, HEARTBEAT_INTERVAL);
5042

5143
// Send confirmation that heartbeat started
52-
const response: WorkerResponse = { type: 'started' };
44+
const response = { type: 'started' };
5345
self.postMessage(response);
5446
}
5547

56-
function stopHeartbeat(): void {
48+
function stopHeartbeat() {
5749
if (heartbeatInterval) {
5850
clearInterval(heartbeatInterval);
5951
heartbeatInterval = undefined;
6052
}
6153

6254
// Send confirmation that heartbeat stopped
63-
const response: WorkerResponse = { type: 'stopped' };
55+
const response = { type: 'stopped' };
6456
self.postMessage(response);
6557
}
6658

6759
// Handle worker termination
6860
self.addEventListener('beforeunload', () => {
6961
stopHeartbeat();
70-
});
62+
});

packages/wallet-sdk/src/sign/walletlink/relay/connection/HeartbeatWorker.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ describe('HeartbeatWorker', () => {
66

77
beforeEach(async () => {
88
// Create a new worker instance for each test
9-
worker = new Worker(new URL('./HeartbeatWorker.ts', import.meta.url));
9+
worker = new Worker(new URL('./HeartbeatWorker.js', import.meta.url));
1010
});
1111

1212
afterEach(() => {

packages/wallet-sdk/src/sign/walletlink/relay/connection/WalletLinkConnection.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import { ServerMessage, ServerMessageType } from '../type/ServerMessage.js';
77
import { WalletLinkEventData } from '../type/WalletLinkEventData.js';
88
import { WalletLinkSession } from '../type/WalletLinkSession.js';
99
import { Web3Response } from '../type/Web3Response.js';
10-
import { WorkerResponse } from './HeartbeatWorker.js';
1110
import { WalletLinkCipher } from './WalletLinkCipher.js';
1211
import { WalletLinkHTTP } from './WalletLinkHTTP.js';
1312
import { ConnectionState, WalletLinkWebSocket } from './WalletLinkWebSocket.js';
@@ -329,7 +328,7 @@ export class WalletLinkConnection {
329328
private setupWorkerListeners(): void {
330329
if (!this.heartbeatWorker) return;
331330

332-
this.heartbeatWorker.addEventListener('message', (event: MessageEvent<WorkerResponse>) => {
331+
this.heartbeatWorker.addEventListener('message', (event: MessageEvent<{ type: 'heartbeat' | 'started' | 'stopped' }>) => {
333332
const { type } = event.data;
334333

335334
switch (type) {
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{
22
"extends": "./tsconfig.base.json",
33
"compilerOptions": {
4-
"allowJs": false,
4+
"allowJs": true,
55
"declaration": true,
66
"declarationMap": true,
77
"sourceMap": true,
88
},
99
"include": ["src"],
10-
"exclude": ["dist", "build", "**/*.test.*", "mocks"]
10+
"exclude": ["dist", "build", "**/*.test.*", "mocks", "**/HeartbeatWorker.js"]
1111
}

0 commit comments

Comments
 (0)