Skip to content

Commit 25e47e3

Browse files
authored
Merge pull request #1 from CodinGame/fix-unregister-listener-on-dispose
Unregister listener on dispose
2 parents 9d70d36 + 79ab920 commit 25e47e3

File tree

3 files changed

+6
-4
lines changed

3 files changed

+6
-4
lines changed

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@codingame/monaco-languageclient-react",
3-
"version": "1.0.0",
3+
"version": "1.0.1",
44
"description": "Monaco Editor React component",
55
"scripts": {
66
"build": "tsc"

src/LanguageClient.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,21 @@ function LanguageClient ({
2323
useEffect(() => {
2424
console.info(`Starting language server for language ${languageServerConfig.language}`)
2525
const languageClient = createLanguageClientManager(languageServerUrl, getSecurityToken, languageServerConfig, libraryUrls ?? [])
26-
languageClient.onError((error) => {
26+
const errorDisposable = languageClient.onError((error) => {
2727
if (onErrorRef.current != null) {
2828
onErrorRef.current(error)
2929
}
3030
})
31-
languageClient.onDidChangeStatus(status => {
31+
const statusChangeDisposable = languageClient.onDidChangeStatus(status => {
3232
if (onDidChangeStatusRef.current != null) {
3333
onDidChangeStatusRef.current(status)
3434
}
3535
})
3636
const startTimeout = setTimeout(() => languageClient.start())
3737

3838
return () => {
39+
errorDisposable.dispose()
40+
statusChangeDisposable.dispose()
3941
console.info('Shutting down language server')
4042
clearTimeout(startTimeout)
4143
languageClient.dispose().then(() => {

0 commit comments

Comments
 (0)