Parcourir la source

Try to fix socket.io bug - still doesn't work but code in place for what *should* work (i.e. reloading the session in socket.io when users sends login message

sbkwgh il y a 8 ans
Parent
commit
df0a8eea88
4 fichiers modifiés avec 13 ajouts et 9 suppressions
  1. 3 0
      .gitignore
  2. 10 6
      lib/sockets.js
  3. 0 1
      package.json
  4. 0 2
      routes/user.js

+ 3 - 0
.gitignore

@@ -51,3 +51,6 @@ jspm_packages
 
 # dotenv environment variables file
 .env
+
+# temp directory
+tmp

+ 10 - 6
lib/sockets.js

@@ -1,5 +1,3 @@
-let sharedSession = require("express-socket.io-session")
-
 module.exports = {
 	init (app, server, session) {
 		let io = require('socket.io')(server)
@@ -14,9 +12,9 @@ module.exports = {
 
 		app.set('io-users', {})
 
-		io.use(sharedSession(session, {
-			autoSave: true
-		}))
+		io.use((socket, next) => {
+			session(socket.handshake, {}, next)
+		})
 
 		io.on('connection', socket => {
 			setIoSockets(socket)
@@ -30,7 +28,13 @@ module.exports = {
 			})
 
 			socket.on('login', _ => {
-				setIoSockets(socket)
+				socket.handshake.session.reload(err => {
+					if(!err) {
+						setIoSockets(socket)
+					} else {
+						console.log(err)
+					}
+				})
 			})
 		})
 

+ 0 - 1
package.json

@@ -15,7 +15,6 @@
     "cross-env": "^3.1.4",
     "express": "^4.14.1",
     "express-session": "^1.15.1",
-    "express-socket.io-session": "^1.3.2",
     "highlight.js": "^9.10.0",
     "marked": "^0.3.6",
     "mysql": "^2.13.0",

+ 0 - 2
routes/user.js

@@ -270,8 +270,6 @@ router.all('*', (req, res, next) => {
 
 router.get('/', async (req, res) => {
 	try {
-		console.log('here234')
-
 		if(req.query.admin) {
 			let admins = await User.findAll({
 				where: { admin: true },