diff --git a/.gitignore b/.gitignore index 7efc8a8..02c17fd 100644 --- a/.gitignore +++ b/.gitignore @@ -36,9 +36,6 @@ src-tauri/target/ .env.local .env.*.local -# Config -config.json - # OS .DS_Store Thumbs.db diff --git a/server/index.js b/server/index.js index b22668a..98c1a1f 100644 --- a/server/index.js +++ b/server/index.js @@ -75,6 +75,26 @@ io.on('connection', (socket) => { socket.emit('room-users', roomUsers); }); + socket.on('leave-room', ({ roomId, userId, socketId }) => { + const user = users.get(socketId); + if (user && user.roomId === roomId) { + const room = rooms.get(roomId); + if (room) { + room.delete(socketId); + socket.to(roomId).emit('user-left', { + userId: user.userId, + socketId: socketId + }); + + if (room.size === 0) { + rooms.delete(roomId); + } + } + users.delete(socketId); + socket.leave(roomId); + } + }); + socket.on('signal', ({ targetSocketId, signal }) => { const targetUser = users.get(targetSocketId); if (targetUser) { diff --git a/src/App.vue b/src/App.vue index 85e1206..b866a70 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,5 +1,5 @@