dumb typing stuff

This commit is contained in:
Madeline 2022-07-14 20:54:24 +10:00
parent c46460eb76
commit c78924ea67
5 changed files with 26 additions and 23 deletions

View File

@ -7,7 +7,7 @@
"": { "": {
"name": "rtc", "name": "rtc",
"version": "1.0.0", "version": "1.0.0",
"license": "ISC", "license": "AGPL-3.0-only",
"dependencies": { "dependencies": {
"@types/libsodium-wrappers": "^0.7.9", "@types/libsodium-wrappers": "^0.7.9",
"dotenv": "^12.0.4", "dotenv": "^12.0.4",
@ -17,12 +17,12 @@
"node-turn": "^0.0.6", "node-turn": "^0.0.6",
"sdp-transform": "^2.14.1", "sdp-transform": "^2.14.1",
"tsconfig-paths": "^3.12.0", "tsconfig-paths": "^3.12.0",
"ws": "^7.4.6" "ws": "^7.5.8"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^15.6.1", "@types/node": "^15.6.1",
"@types/sdp-transform": "^2.4.5", "@types/sdp-transform": "^2.4.5",
"@types/ws": "^7.4.4", "@types/ws": "^7.4.7",
"ts-node": "^10.4.0", "ts-node": "^10.4.0",
"typescript": "^4.3.2" "typescript": "^4.3.2"
} }
@ -95,9 +95,9 @@
"dev": true "dev": true
}, },
"node_modules/@types/ws": { "node_modules/@types/ws": {
"version": "7.4.4", "version": "7.4.7",
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.4.tgz", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz",
"integrity": "sha512-d/7W23JAXPodQNbOZNXvl2K+bqAQrCMwlh/nuQsPSQk6Fq0opHoPrUw43aHsvSbIiQPr8Of2hkFbnz1XBFVyZQ==", "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@types/node": "*" "@types/node": "*"
@ -556,9 +556,9 @@
} }
}, },
"node_modules/ws": { "node_modules/ws": {
"version": "7.4.6", "version": "7.5.8",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.8.tgz",
"integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", "integrity": "sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw==",
"engines": { "engines": {
"node": ">=8.3.0" "node": ">=8.3.0"
}, },
@ -648,9 +648,9 @@
"dev": true "dev": true
}, },
"@types/ws": { "@types/ws": {
"version": "7.4.4", "version": "7.4.7",
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.4.tgz", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz",
"integrity": "sha512-d/7W23JAXPodQNbOZNXvl2K+bqAQrCMwlh/nuQsPSQk6Fq0opHoPrUw43aHsvSbIiQPr8Of2hkFbnz1XBFVyZQ==", "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/node": "*" "@types/node": "*"
@ -963,9 +963,9 @@
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
}, },
"ws": { "ws": {
"version": "7.4.6", "version": "7.5.8",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.8.tgz",
"integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", "integrity": "sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw==",
"requires": {} "requires": {}
}, },
"yn": { "yn": {

View File

@ -14,7 +14,7 @@
"devDependencies": { "devDependencies": {
"@types/node": "^15.6.1", "@types/node": "^15.6.1",
"@types/sdp-transform": "^2.4.5", "@types/sdp-transform": "^2.4.5",
"@types/ws": "^7.4.4", "@types/ws": "^7.4.7",
"ts-node": "^10.4.0", "ts-node": "^10.4.0",
"typescript": "^4.3.2" "typescript": "^4.3.2"
}, },
@ -23,10 +23,10 @@
"dotenv": "^12.0.4", "dotenv": "^12.0.4",
"libsodium": "^0.7.10", "libsodium": "^0.7.10",
"libsodium-wrappers": "^0.7.10", "libsodium-wrappers": "^0.7.10",
"mediasoup": "^3.9.5", "mediasoup": "^3.9.5-1",
"node-turn": "^0.0.6", "node-turn": "^0.0.6",
"sdp-transform": "^2.14.1", "sdp-transform": "^2.14.1",
"tsconfig-paths": "^3.12.0", "tsconfig-paths": "^3.12.0",
"ws": "^7.4.6" "ws": "^7.5.8"
} }
} }

View File

@ -18,7 +18,7 @@ export interface IdentifyPayload extends Payload {
}; };
} }
export async function onIdentify(this: Server, socket: WebSocket, data: IdentifyPayload) { export async function onIdentify(this: Server, socket: WebSocket, data: Payload) {
const session = await Session.findOneOrFail( const session = await Session.findOneOrFail(
{ session_id: data.d.session_id, }, { session_id: data.d.session_id, },

View File

@ -88,7 +88,7 @@ export interface SelectProtocolPayload extends Payload {
} }
*/ */
export async function onSelectProtocol(this: Server, socket: WebSocket, data: SelectProtocolPayload) { export async function onSelectProtocol(this: Server, socket: WebSocket, data: Payload) {
if (data.d.sdp) { if (data.d.sdp) {
const rtpCapabilities = this.mediasoupRouters[0].rtpCapabilities; const rtpCapabilities = this.mediasoupRouters[0].rtpCapabilities;
const codecs = rtpCapabilities.codecs as RtpCodecCapability[]; const codecs = rtpCapabilities.codecs as RtpCodecCapability[];

View File

@ -1,5 +1,6 @@
import { WebSocket } from "@fosscord/gateway"; import { WebSocket } from "@fosscord/gateway";
import { VoiceOPCodes } from "@fosscord/util"; import { VoiceOPCodes } from "@fosscord/util";
import { Server } from "../Server";
export interface Payload { export interface Payload {
op: number; op: number;
@ -17,9 +18,9 @@ import { onConnect } from "./Connect";
import { onVersion } from "./Version"; import { onVersion } from "./Version";
export type OPCodeHandler = (this: WebSocket, data: Payload) => any; export type OPCodeHandler = (this: Server, socket: WebSocket, data: Payload) => any;
export default { const handlers: { [key: number]: OPCodeHandler } = {
[VoiceOPCodes.IDENTIFY]: onIdentify, //op 0 [VoiceOPCodes.IDENTIFY]: onIdentify, //op 0
[VoiceOPCodes.SELECT_PROTOCOL]: onSelectProtocol, //op 1 [VoiceOPCodes.SELECT_PROTOCOL]: onSelectProtocol, //op 1
//op 2 voice_ready //op 2 voice_ready
@ -38,3 +39,5 @@ export default {
//op 16? empty data on client send but server sends {"voice":"0.8.24+bugfix.voice.streams.opt.branch-ffcefaff7","rtc_worker":"0.3.14-crypto-collision-copy"} //op 16? empty data on client send but server sends {"voice":"0.8.24+bugfix.voice.streams.opt.branch-ffcefaff7","rtc_worker":"0.3.14-crypto-collision-copy"}
[VoiceOPCodes.VERSION]: onVersion, [VoiceOPCodes.VERSION]: onVersion,
}; };
export default handlers;