Skip to content

Commit e0e9638

Browse files
chore: migrate to Node 24 and fix TypeScript catch variable typing (#1297)
- Update .nvmrc to v24.0.0 - Update all GitHub Actions workflows to node-version 24 - Update packages/docs engines to >=24.0.0 - Fix TS2339 in EmbeddedChatApi.ts: use instanceof Error for catch variables - Bump Storybook deps to ^8.6.18 in react and ui-elements packages - Fix arrow-body-style lint error in EmbeddedChat.js - Improve EmbeddedChat re-instantiation logic with rcInstanceRef and state clearing
1 parent f38073c commit e0e9638

11 files changed

Lines changed: 127 additions & 96 deletions

File tree

.github/workflows/build-and-lint.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ jobs:
1717
- name: Set up Node.js
1818
uses: actions/setup-node@v4
1919
with:
20-
node-version: 22
20+
node-version: 24
2121

2222
- name: Set up Yarn
2323
uses: actions/setup-node@v4
2424
with:
25-
node-version: 22
25+
node-version: 24
2626
cache: "yarn"
2727

2828
- name: Cache dependencies

.github/workflows/build-pr.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
- name: Setup Node.js
2626
uses: actions/setup-node@v4
2727
with:
28-
node-version: "22"
28+
node-version: "24"
2929

3030
- name: Install Dependencies
3131
run: yarn install
@@ -36,7 +36,7 @@ jobs:
3636
- name: Setup Node.js for Docs
3737
uses: actions/setup-node@v4
3838
with:
39-
node-version: "22"
39+
node-version: "24"
4040

4141
- name: "Install dependencies for docs"
4242
run: yarn install

.github/workflows/deploy.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
- name: Setup Node.js
2828
uses: actions/setup-node@v4
2929
with:
30-
node-version: "22"
30+
node-version: "24"
3131

3232
- name: Install Dependencies
3333
run: yarn install
@@ -38,7 +38,7 @@ jobs:
3838
- name: Setup Node.js for Docs
3939
uses: actions/setup-node@v4
4040
with:
41-
node-version: "22"
41+
node-version: "24"
4242

4343
- name: "Install dependencies for docs"
4444
run: yarn install

.github/workflows/playwright.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
- name: Setup Node.js environment
1818
uses: actions/setup-node@v4
1919
with:
20-
node-version: 22
20+
node-version: 24
2121

2222
- name: Cache dependencies
2323
uses: actions/cache@v4

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v22.16.0
1+
v24.0.0

packages/api/src/EmbeddedChatApi.ts

Lines changed: 31 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ export default class EmbeddedChatApi {
114114
return response;
115115
}
116116
} catch (err) {
117-
console.error(err);
117+
console.error(err instanceof Error ? err.message : err);
118118
}
119119
}
120120

@@ -143,7 +143,7 @@ export default class EmbeddedChatApi {
143143
const authErrorRes = await error.response.json();
144144
return { error: authErrorRes?.error };
145145
}
146-
console.error(error);
146+
console.error(error instanceof Error ? error.message : error);
147147
}
148148
}
149149

@@ -170,15 +170,18 @@ export default class EmbeddedChatApi {
170170
break;
171171
}
172172
} catch (error) {
173-
console.error("Auto-login failed:", error);
173+
console.error(
174+
"Auto-login failed:",
175+
error instanceof Error ? error.message : error
176+
);
174177
}
175178
}
176179

177180
async logout() {
178181
try {
179182
await this.auth.logout();
180183
} catch (err) {
181-
console.error(err);
184+
console.error(err instanceof Error ? err.message : err);
182185
}
183186
}
184187

@@ -402,7 +405,7 @@ export default class EmbeddedChatApi {
402405
}
403406
return await response.json();
404407
} catch (err) {
405-
console.error(err);
408+
console.error(err instanceof Error ? err.message : err);
406409
}
407410
}
408411

@@ -440,7 +443,7 @@ export default class EmbeddedChatApi {
440443
return await response2.json();
441444
}
442445
} catch (error) {
443-
console.error(error);
446+
console.error(error instanceof Error ? error.message : error);
444447
}
445448
}
446449

@@ -475,7 +478,7 @@ export default class EmbeddedChatApi {
475478
}
476479
return result;
477480
} catch (err) {
478-
console.error(err);
481+
console.error(err instanceof Error ? err.message : err);
479482
}
480483
} else {
481484
return this.updateUserNameThroughSuggestion(userid);
@@ -498,15 +501,15 @@ export default class EmbeddedChatApi {
498501
);
499502
return await response.json();
500503
} catch (err) {
501-
console.error(err);
504+
console.error(err instanceof Error ? err.message : err);
502505
}
503506
}
504507

505508
async getRoomInfo() {
506509
try {
507510
return await this.channelInfo();
508511
} catch (err) {
509-
console.error(err);
512+
console.error(err instanceof Error ? err.message : err);
510513
}
511514
}
512515

@@ -523,7 +526,7 @@ export default class EmbeddedChatApi {
523526
});
524527
return await response.json();
525528
} catch (err) {
526-
console.error(err);
529+
console.error(err instanceof Error ? err.message : err);
527530
}
528531
}
529532

@@ -687,7 +690,7 @@ export default class EmbeddedChatApi {
687690
}
688691
return { result: [] };
689692
} catch (err) {
690-
console.error(err);
693+
console.error(err instanceof Error ? err.message : err);
691694
return { result: [] };
692695
}
693696
}
@@ -736,7 +739,7 @@ export default class EmbeddedChatApi {
736739
});
737740
return await response.json();
738741
} catch (err) {
739-
console.error(err);
742+
console.error(err instanceof Error ? err.message : err);
740743
}
741744
}
742745

@@ -754,7 +757,7 @@ export default class EmbeddedChatApi {
754757
});
755758
return await response.json();
756759
} catch (err) {
757-
console.error(err);
760+
console.error(err instanceof Error ? err.message : err);
758761
}
759762
}
760763

@@ -772,7 +775,7 @@ export default class EmbeddedChatApi {
772775
});
773776
return await response.json();
774777
} catch (err) {
775-
console.error(err);
778+
console.error(err instanceof Error ? err.message : err);
776779
}
777780
}
778781

@@ -794,7 +797,7 @@ export default class EmbeddedChatApi {
794797
});
795798
return await response.json();
796799
} catch (err) {
797-
console.error(err);
800+
console.error(err instanceof Error ? err.message : err);
798801
}
799802
}
800803

@@ -814,7 +817,7 @@ export default class EmbeddedChatApi {
814817
);
815818
return await response.json();
816819
} catch (err) {
817-
console.error(err);
820+
console.error(err instanceof Error ? err.message : err);
818821
}
819822
}
820823

@@ -832,7 +835,7 @@ export default class EmbeddedChatApi {
832835
});
833836
return await response.json();
834837
} catch (err) {
835-
console.error(err);
838+
console.error(err instanceof Error ? err.message : err);
836839
}
837840
}
838841

@@ -850,7 +853,7 @@ export default class EmbeddedChatApi {
850853
});
851854
return await response.json();
852855
} catch (err) {
853-
console.error(err);
856+
console.error(err instanceof Error ? err.message : err);
854857
}
855858
}
856859

@@ -870,7 +873,7 @@ export default class EmbeddedChatApi {
870873
);
871874
return await response.json();
872875
} catch (err) {
873-
console.error(err);
876+
console.error(err instanceof Error ? err.message : err);
874877
}
875878
}
876879

@@ -890,7 +893,7 @@ export default class EmbeddedChatApi {
890893
);
891894
return await response.json();
892895
} catch (err) {
893-
console.error(err);
896+
console.error(err instanceof Error ? err.message : err);
894897
}
895898
}
896899

@@ -910,7 +913,7 @@ export default class EmbeddedChatApi {
910913
);
911914
return await response.json();
912915
} catch (err) {
913-
console.error(err);
916+
console.error(err instanceof Error ? err.message : err);
914917
}
915918
}
916919

@@ -948,7 +951,7 @@ export default class EmbeddedChatApi {
948951
});
949952
return await response.json();
950953
} catch (err) {
951-
console.error(err);
954+
console.error(err instanceof Error ? err.message : err);
952955
}
953956
}
954957

@@ -970,7 +973,7 @@ export default class EmbeddedChatApi {
970973
});
971974
return await response.json();
972975
} catch (err) {
973-
console.error(err);
976+
console.error(err instanceof Error ? err.message : err);
974977
}
975978
}
976979

@@ -988,7 +991,7 @@ export default class EmbeddedChatApi {
988991
});
989992
return await response.json();
990993
} catch (err) {
991-
console.error(err);
994+
console.error(err instanceof Error ? err.message : err);
992995
}
993996
}
994997

@@ -1081,7 +1084,7 @@ export default class EmbeddedChatApi {
10811084
});
10821085
return await response.json();
10831086
} catch (err) {
1084-
console.error(err);
1087+
console.error(err instanceof Error ? err.message : err);
10851088
}
10861089
}
10871090

@@ -1102,7 +1105,7 @@ export default class EmbeddedChatApi {
11021105
);
11031106
return await response.json();
11041107
} catch (err) {
1105-
console.error(err);
1108+
console.error(err instanceof Error ? err.message : err);
11061109
}
11071110
}
11081111

@@ -1122,7 +1125,7 @@ export default class EmbeddedChatApi {
11221125
);
11231126
return await response.json();
11241127
} catch (err) {
1125-
console.error(err);
1128+
console.error(err instanceof Error ? err.message : err);
11261129
}
11271130
}
11281131

@@ -1142,7 +1145,7 @@ export default class EmbeddedChatApi {
11421145
);
11431146
return await response.json();
11441147
} catch (err) {
1145-
console.error(err);
1148+
console.error(err instanceof Error ? err.message : err);
11461149
}
11471150
}
11481151

packages/docs/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,6 @@
4242
"webpack": "5.96.1"
4343
},
4444
"engines": {
45-
"node": ">=22.0"
45+
"node": ">=24.0.0"
4646
}
4747
}

packages/react/package.json

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,14 @@
3737
"@rollup/plugin-commonjs": "^21.0.2",
3838
"@rollup/plugin-node-resolve": "^13.1.3",
3939
"@rollup/plugin-replace": "^5.0.2",
40-
"@storybook/addon-essentials": "^8.0.0",
41-
"@storybook/addon-interactions": "^8.0.0",
42-
"@storybook/addon-links": "^8.0.0",
43-
"@storybook/addon-webpack5-compiler-babel": "^3.0.0",
44-
"@storybook/blocks": "^8.0.0",
45-
"@storybook/react": "^8.0.0",
46-
"@storybook/react-webpack5": "^8.0.0",
47-
"@storybook/test": "^8.0.0",
40+
"@storybook/addon-essentials": "^8.6.18",
41+
"@storybook/addon-interactions": "^8.6.18",
42+
"@storybook/addon-links": "^8.6.18",
43+
"@storybook/addon-webpack5-compiler-babel": "~3.0.0",
44+
"@storybook/blocks": "^8.6.18",
45+
"@storybook/react": "^8.6.18",
46+
"@storybook/react-webpack5": "^8.6.18",
47+
"@storybook/test": "^8.6.18",
4848
"@testing-library/react": "^12.1.4",
4949
"babel-jest": "^27.5.1",
5050
"concurrently": "^7.2.0",
@@ -75,8 +75,7 @@
7575
"rollup-plugin-postcss": "^4.0.2",
7676
"rollup-plugin-terser": "^7.0.2",
7777
"sass": "^1.66.1",
78-
"schedule": "^0.4.0",
79-
"storybook": "^8.0.0"
78+
"storybook": "^8.6.18"
8079
},
8180
"peerDependencies": {
8281
"react": ">=19.0.0 <20.0.0",

0 commit comments

Comments
 (0)