test publish
Some checks failed
Deploy / deploy (push) Has been cancelled
Deploy / publish-web (push) Successful in 1m43s
Deploy / publish-tauri (push) Has been cancelled

This commit is contained in:
2025-12-22 19:23:06 +06:00
parent e3d0106d8f
commit 76f0ec74b5
27 changed files with 2123 additions and 1344 deletions

View File

@@ -102,7 +102,7 @@ interface ServerToClientEvents {
producers: (arg: ProducerShort[]) => void
newConsumer: (
arg: {
peerId: string
socketId: string
producerId: types.Producer['id']
id: types.Consumer['id']
kind: types.MediaKind
@@ -141,7 +141,7 @@ type SomeSocket = Socket<ClientToServerEvents, ServerToClientEvents, InterServer
export default function (io: SocketServer, router: types.Router) {
const namespace: Namespace<ClientToServerEvents, ServerToClientEvents, InterServerEvent, SocketData> = io.of('/webrtc')
namespace.on('connection', (socket) => {
namespace.on('connection', async (socket) => {
consola.info('[WebRtc]', 'Client connected', socket.id)
socket.data.joined = false
@@ -153,7 +153,7 @@ export default function (io: SocketServer, router: types.Router) {
socket.data.producers = new Map()
socket.data.consumers = new Map()
prisma.user.findUnique({
const { id, username, displayName } = await prisma.user.findUnique({
where: {
id: socket.handshake.auth.userId,
},
@@ -162,14 +162,14 @@ export default function (io: SocketServer, router: types.Router) {
username: true,
displayName: true,
},
}).then(({ id, username, displayName }) => {
socket.data.userId = id
socket.data.username = username
socket.data.displayName = displayName
socket.emit('authenticated')
})
socket.data.userId = id
socket.data.username = username
socket.data.displayName = displayName
socket.emit('authenticated')
socket.on('join', async ({ rtpCapabilities }, cb) => {
if (socket.data.joined) {
consola.error('[WebRtc]', 'Already joined')
@@ -231,7 +231,7 @@ export default function (io: SocketServer, router: types.Router) {
dtlsParameters: transport.dtlsParameters,
})
transport.on('icestatechange', (iceState) => {
transport.on('icestatechange', (iceState: types.IceState) => {
if (iceState === 'disconnected' || iceState === 'closed') {
consola.info('[WebRtc]', '[WebRtcTransport]', `"icestatechange" event [iceState:${iceState}], closing peer`, transport.id)
@@ -239,7 +239,7 @@ export default function (io: SocketServer, router: types.Router) {
}
})
transport.on('dtlsstatechange', (dtlsState) => {
transport.on('dtlsstatechange', (dtlsState: types.DtlsState) => {
if (dtlsState === 'failed' || dtlsState === 'closed') {
consola.warn('WebRtcTransport "dtlsstatechange" event [dtlsState:%s], closing peer', dtlsState)
@@ -364,6 +364,9 @@ export default function (io: SocketServer, router: types.Router) {
return
}
if (producer.paused)
return
await producer.pause()
cb({ ok: true })
@@ -547,7 +550,7 @@ export default function (io: SocketServer, router: types.Router) {
consumerSocket.emit('consumerResumed', { consumerId: consumer.id })
})
consumer.on('score', (score) => {
consumer.on('score', (score: types.ConsumerScore) => {
consumerSocket.emit('consumerScore', { consumerId: consumer.id, score })
})
@@ -555,7 +558,7 @@ export default function (io: SocketServer, router: types.Router) {
await consumerSocket.emitWithAck(
'newConsumer',
{
peerId: producerSocket.id,
socketId: producerSocket.id,
producerId: producer.id,
id: consumer.id,
kind: consumer.kind,