diff --git a/app.js b/app.js index 544bf55..ed3e9d0 100644 --- a/app.js +++ b/app.js @@ -432,10 +432,15 @@ app.use((error, req, res, next) => { // Socket Server wss.on('connection', (ws, request, client) => { - const userId = request.user.uuid || request.session.id - const username = request.user.username + let userId = request.session.id + let username = 'A Friendly Guest' let myChannels = [] + if (request.user) { + userId = request.user.uuid + username = request.user.username + } + dev && console.log(userId, 'connected') ws.on('message', (msg) => { dev && console.log(userId, 'said', msg) @@ -447,7 +452,7 @@ wss.on('connection', (ws, request, client) => { dev && console.log('adding watcher', userId, 'to channel', chan) if (cache.live.indexOf(chan) !== -1) { if (!cache.viewers[chan]) cache.viewers[chan] = {} - cache.viewers[chan][userId] = username || 'A Friendly Guest' + cache.viewers[chan][userId] = username if (myChannels.indexOf(chan) === -1) myChannels.push(chan) } break @@ -481,6 +486,10 @@ wss.on('connection', (ws, request, client) => { // Handle upgrade, parse included session server.on('upgrade', (request, socket, head) => { sessionParser(request, {}, () => { + if (request.session && request.session.passport) { + request.user = request.session.passport.user + } + wss.handleUpgrade(request, socket, head, function(ws) { wss.emit('connection', ws, request) })