@@ -202,12 +202,12 @@ const app = express();
202
202
const server = http . createServer ( app ) ;
203
203
const io = new Server ( server , {
204
204
cors : {
205
- origin : "https://chatify-ahkg.vercel.app" , // Ensure this matches your deployment
205
+ origin : [ "https://chatify-ahkg.vercel.app" , "https://chatify-two-drab.vercel.app" ] , // Added multiple origins
206
206
methods : [ "GET" , "POST" ] ,
207
207
allowedHeaders : [ "Authorization" ] ,
208
208
credentials : true
209
209
} ,
210
- transports : [ 'websocket' , 'polling' ] // Enable both websocket and polling transports
210
+ transports : [ 'websocket' , 'polling' ] // Enable both websocket and polling transports, prioritizing websocket
211
211
} ) ;
212
212
213
213
// Track online users
@@ -216,7 +216,7 @@ const onlineUser = new Set();
216
216
io . on ( 'connection' , async ( socket ) => {
217
217
console . log ( "User connected:" , socket . id ) ;
218
218
219
- const token = socket . handshake . auth . token ;
219
+ const token = socket . handshake . auth ? .token ; // Safe access to token
220
220
221
221
try {
222
222
// Authenticate user
@@ -356,6 +356,7 @@ io.on('connection', async (socket) => {
356
356
// Handle disconnection
357
357
socket . on ( 'disconnect' , ( ) => {
358
358
onlineUser . delete ( user . _id . toString ( ) ) ;
359
+ io . emit ( 'onlineUser' , Array . from ( onlineUser ) ) ; // Inform others of user disconnection
359
360
console . log ( 'User disconnected:' , socket . id ) ;
360
361
} ) ;
361
362
} ) ;
@@ -364,3 +365,4 @@ module.exports = {
364
365
app,
365
366
server
366
367
} ;
368
+
0 commit comments