fix(plugins/developer-kit): proper error message for websocket disconnects

This commit is contained in:
PalmDevs 2026-02-26 17:22:29 +07:00
parent 5d379b1652
commit 13ffdbca90
No known key found for this signature in database
GPG key ID: 6FAE8F8677ACA8BA
3 changed files with 21 additions and 29 deletions

View file

@ -7,7 +7,6 @@ import { getBridgeInfo } from '@revenge-mod/modules/native'
import { instead } from '@revenge-mod/patcher'
import { noop } from '@revenge-mod/utils/callback'
import { lookupGeneratedIconComponent } from '@revenge-mod/utils/discord'
import { getErrorStack } from '@revenge-mod/utils/error'
import { useReRender } from '@revenge-mod/utils/react'
import { useEffect } from 'react'
import { api } from '.'
@ -96,23 +95,20 @@ export function connect() {
events.emit('connect')
})
ws.addEventListener('close', () => {
ws.addEventListener('close', e_ => {
cleanup()
events.emit('disconnect')
})
ws.addEventListener('error', e => {
cleanup()
events.emit('errored', e)
const e = e_ as CloseEvent
if (!e.wasClean) {
api.logger.error('DevTools error:', e.reason)
const err = (e as { message: string }).message ?? getErrorStack(e)
api.logger.error('DevTools error:', err)
ToastActionCreators.open({
key: 'DEVTOOLS_ERROR',
IconComponent: CircleErrorIcon,
content: err,
})
ToastActionCreators.open({
key: 'DEVTOOLS_ERROR',
IconComponent: CircleErrorIcon,
content: e.reason,
})
}
})
}

View file

@ -1,7 +1,6 @@
import { ToastActionCreators } from '@revenge-mod/discord/actions'
import { TypedEventEmitter } from '@revenge-mod/discord/common/utils'
import { lookupGeneratedIconComponent } from '@revenge-mod/utils/discord'
import { getErrorStack } from '@revenge-mod/utils/error'
import { useReRender } from '@revenge-mod/utils/react'
import { useEffect } from 'react'
import { api } from '.'
@ -40,23 +39,20 @@ export function connect() {
events.emit('connect')
})
ws.addEventListener('close', () => {
ws.addEventListener('close', e_ => {
cleanup()
events.emit('disconnect')
})
ws.addEventListener('error', e => {
cleanup()
events.emit('errored', e)
const e = e_ as CloseEvent
if (!e.wasClean) {
api.logger.error('React DevTools error:', e.reason)
const err = (e as { message: string }).message ?? getErrorStack(e)
api.logger.error('React DevTools error:', err)
ToastActionCreators.open({
key: 'REACT_DEVTOOLS_ERROR',
IconComponent: CircleErrorIcon,
content: err,
})
ToastActionCreators.open({
key: 'REACT_DEVTOOLS_ERROR',
IconComponent: CircleErrorIcon,
content: e.reason,
})
}
})
__REACT_DEVTOOLS__!.exports.connectToDevTools({

View file

@ -1,6 +1,6 @@
{
"compilerOptions": {
"lib": ["ESNext"],
"lib": ["ESNext", "DOM"],
"module": "ESNext",
"target": "ES2020",
"moduleResolution": "bundler",