Compare commits

..

2 Commits

Author SHA1 Message Date
semantic-release-bot
9b9bb1e1e6 chore(release): 1.0.0-dev.6 [skip ci]
# @revanced/bot-websocket-api [1.0.0-dev.6](https://github.com/revanced/revanced-helper/compare/@revanced/bot-websocket-api@1.0.0-dev.5...@revanced/bot-websocket-api@1.0.0-dev.6) (2024-07-30)

### Bug Fixes

* **bots/discord:** hanging process when disconnecting from API too many times ([d31616e](d31616ebcb))
2024-07-30 14:32:03 +00:00
PalmDevs
d31616ebcb fix(bots/discord): hanging process when disconnecting from API too many times 2024-07-30 21:30:54 +07:00
7 changed files with 19 additions and 18 deletions

View File

@@ -1,3 +1,10 @@
# @revanced/bot-websocket-api [1.0.0-dev.6](https://github.com/revanced/revanced-helper/compare/@revanced/bot-websocket-api@1.0.0-dev.5...@revanced/bot-websocket-api@1.0.0-dev.6) (2024-07-30)
### Bug Fixes
* **bots/discord:** hanging process when disconnecting from API too many times ([d31616e](https://github.com/revanced/revanced-helper/commit/d31616ebcba6f1dcd8bde183bcb8d1adb1501b61))
# @revanced/bot-websocket-api [1.0.0-dev.5](https://github.com/revanced/revanced-helper/compare/@revanced/bot-websocket-api@1.0.0-dev.4...@revanced/bot-websocket-api@1.0.0-dev.5) (2024-07-23) # @revanced/bot-websocket-api [1.0.0-dev.5](https://github.com/revanced/revanced-helper/compare/@revanced/bot-websocket-api@1.0.0-dev.4...@revanced/bot-websocket-api@1.0.0-dev.5) (2024-07-23)
# @revanced/bot-websocket-api [1.0.0-dev.4](https://github.com/revanced/revanced-helper/compare/@revanced/bot-websocket-api@1.0.0-dev.3...@revanced/bot-websocket-api@1.0.0-dev.4) (2024-07-23) # @revanced/bot-websocket-api [1.0.0-dev.4](https://github.com/revanced/revanced-helper/compare/@revanced/bot-websocket-api@1.0.0-dev.3...@revanced/bot-websocket-api@1.0.0-dev.4) (2024-07-23)

View File

@@ -2,7 +2,7 @@
"name": "@revanced/bot-websocket-api", "name": "@revanced/bot-websocket-api",
"type": "module", "type": "module",
"private": true, "private": true,
"version": "1.0.0-dev.5", "version": "1.0.0-dev.6",
"description": "🧦 WebSocket API server for bots assisting ReVanced", "description": "🧦 WebSocket API server for bots assisting ReVanced",
"main": "dist/index.js", "main": "dist/index.js",
"scripts": { "scripts": {

View File

@@ -21,6 +21,9 @@
}, },
"useNodejsImportProtocol": { "useNodejsImportProtocol": {
"level": "off" "level": "off"
},
"useNumberNamespace": {
"level": "off"
} }
} }
} }

View File

@@ -35,8 +35,6 @@ export default {
data: new SlashCommandBuilder() data: new SlashCommandBuilder()
.setName("my-command") .setName("my-command")
.setDescription("My cool command") .setDescription("My cool command")
// Allowing this command to be used in DMs
.setDMPermission(true)
// DO NOT forget this line! // DO NOT forget this line!
.toJSON(), .toJSON(),

View File

@@ -16,7 +16,7 @@ withContext(on, 'disconnect', ({ api, config, logger }, reason, msg) => {
) )
if (api.disconnectCount >= (config.api.disconnectLimit ?? 3)) { if (api.disconnectCount >= (config.api.disconnectLimit ?? 3)) {
console.error('Disconnected from bot API too many times') logger.fatal('Disconnected from bot API too many times')
// We don't want the process hanging // We don't want the process hanging
process.exit(1) process.exit(1)
} }

View File

@@ -49,19 +49,13 @@ export class ClientWebSocketManager {
const timeout = setTimeout(() => { const timeout = setTimeout(() => {
if (!this.ready) { if (!this.ready) {
this.#socket?.close(DisconnectReason.TooSlow) this.#socket?.close(DisconnectReason.TooSlow)
throw new Error('WebSocket connection was not readied in time') this._handleDisconnect(DisconnectReason.TooSlow, 'WebSocket connection was not readied in time')
} }
}, this.timeout) }, this.timeout)
const errorBeforeReadyHandler = (err: Error) => {
cleanup()
throw err
}
const closeBeforeReadyHandler = (code: number, reason: Buffer) => { const closeBeforeReadyHandler = (code: number, reason: Buffer) => {
clearTimeout(timeout)
this._handleDisconnect(code, reason.toString()) this._handleDisconnect(code, reason.toString())
throw new Error('WebSocket connection closed before ready') cleanup()
} }
const readyHandler = () => { const readyHandler = () => {
@@ -71,15 +65,14 @@ export class ClientWebSocketManager {
rs() rs()
} }
const socket = this.#socket
const cleanup = () => { const cleanup = () => {
this.#socket.off('open', readyHandler) socket.off('open', readyHandler)
this.#socket.off('close', closeBeforeReadyHandler) socket.off('close', closeBeforeReadyHandler)
this.#socket.off('error', errorBeforeReadyHandler)
clearTimeout(timeout) clearTimeout(timeout)
} }
this.#socket.on('open', readyHandler) this.#socket.on('open', readyHandler)
this.#socket.on('error', errorBeforeReadyHandler)
this.#socket.on('close', closeBeforeReadyHandler) this.#socket.on('close', closeBeforeReadyHandler)
} catch (e) { } catch (e) {
rj(e) rj(e)

View File

@@ -26,7 +26,7 @@ const Options = {
'@semantic-release/npm', '@semantic-release/npm',
{ {
npmPublish: false, npmPublish: false,
} },
], ],
[ [
'@semantic-release/git', '@semantic-release/git',