go-ssb-room icon indicating copy to clipboard operation
go-ssb-room copied to clipboard

attendants "left" event duplicates

Open staltz opened this issue 3 years ago • 0 comments

room.attendants() events occur normally, except for "left" which seems to be duplicated. Currently all "left" events are duplicated, while "join" and "state" are normal, not duplicated.

Relevant client code: https://github.com/ssb-ngi-pointer/ssb-room-client/blob/04f7cc43c2761754c73eed8ea540c8c337a08a40/src/room-observer.ts#L115-L121

Excerpt from a Manyverse log:

[ 05-24 17:45:16.470  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:45:16.470Z ssb:room-client initial attendants in @uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519: ["@+UMKhpbzXAII+2/7ZlsgkJwIsxdfeFi36Z5Rk1gCfY0=.ed25519","@BQXNdakpRpHqxDP2QZP/RJr95osWzW+q89MXYOZJpzw=.ed25519","@Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=.ed25519","@up+4B9S3mR9jPq8yhtCqR6JbsPyz2Uxo2vK6Ilr92CI=.ed25519"]

[ 05-24 17:46:05.650  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:46:05.650Z ssb:room-client attendant left @uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519: @Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=.ed25519

[ 05-24 17:46:05.653  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:46:05.653Z ssb:room-client attendant left @uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519: @Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=.ed25519

[ 05-24 17:46:23.587  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:46:23.587Z ssb:room-client attendant joined @uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519: @Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=.ed25519

Full log:

[ 05-24 17:45:15.849  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:45:15.849Z ssb:conn-hub connecting to net:hermies.club:8008~shs:uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=

[ 05-24 17:45:16.140  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:45:16.140Z ssb:conn-hub connected to net:hermies.club:8008~shs:uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=

[ 05-24 17:45:16.145  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:45:16.145Z ssb:room-client will try to call room.metadata() on the peer @uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519

[ 05-24 17:45:16.265  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:45:16.264Z ssb:room-client room.metadata response { name: 'hermies.club', membership: true, features: [ 'tunnel', 'httpAuth', 'httpInvite', 'alias' ] }

[ 05-24 17:45:16.265  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:45:16.265Z ssb:room-client is connected to an actual ssb-room

[ 05-24 17:45:16.268  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:45:16.268Z ssb:room-client announcing to portal: @uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519

[ 05-24 17:45:16.459  3673: 3714 E/NODEJS-MOBILE ]
Error replicating with @uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519:
   {
  name: 'Error',
  message: 'muxrpc: no such command: createHistoryStream',
  stack: ''
}

[ 05-24 17:45:16.470  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:45:16.470Z ssb:room-client initial attendants in @uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519: ["@+UMKhpbzXAII+2/7ZlsgkJwIsxdfeFi36Z5Rk1gCfY0=.ed25519","@BQXNdakpRpHqxDP2QZP/RJr95osWzW+q89MXYOZJpzw=.ed25519","@Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=.ed25519","@up+4B9S3mR9jPq8yhtCqR6JbsPyz2Uxo2vK6Ilr92CI=.ed25519"]

[ 05-24 17:45:17.740  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:45:17.740Z ssb:conn-hub connecting to tunnel:@uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519:@BQXNdakpRpHqxDP2QZP/RJr95osWzW+q89MXYOZJpzw=.ed25519~shs:BQXNdakpRpHqxDP2QZP/RJr95osWzW+q89MXYOZJpzw=

[ 05-24 17:45:17.753  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:45:17.753Z ssb:room-client we wish to connect to { name: 'tunnel', portal: '@uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519', target: '@BQXNdakpRpHqxDP2QZP/RJr95osWzW+q89MXYOZJpzw=.ed25519' }

[ 05-24 17:45:17.753  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:45:17.753Z ssb:room-client will call tunnel.connect at @BQXNdakpRpHqxDP2QZP/RJr95osWzW+q89MXYOZJpzw=.ed25519 via room @uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519

[ 05-24 17:45:17.788  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:45:17.788Z ssb:conn-hub connecting to tunnel:@uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519:@Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=.ed25519~shs:Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=

[ 05-24 17:45:17.796  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:45:17.795Z ssb:room-client we wish to connect to { name: 'tunnel', portal: '@uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519', target: '@Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=.ed25519' }

[ 05-24 17:45:17.796  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:45:17.796Z ssb:room-client will call tunnel.connect at @Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=.ed25519 via room @uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519

[ 05-24 17:45:17.863  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:45:17.863Z ssb:room-client received incoming tunnel.connect({ portal: '@uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519', target: '@+UMKhpbzXAII+2/7ZlsgkJwIsxdfeFi36Z5Rk1gCfY0=.ed25519', origin: '@Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=.ed25519' })
2021-05-24T14:45:17.863Z ssb:room-client connect() will resolve because handler exists

[ 05-24 17:45:17.864  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:45:17.863Z ssb:room-client handler will call onConnect for the stream.address: tunnel:@uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519:@Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=.ed25519

[ 05-24 17:45:18.173  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:45:18.173Z ssb:conn-hub connected to tunnel:@uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519:@BQXNdakpRpHqxDP2QZP/RJr95osWzW+q89MXYOZJpzw=.ed25519~shs:BQXNdakpRpHqxDP2QZP/RJr95osWzW+q89MXYOZJpzw=

[ 05-24 17:45:18.813  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:45:18.812Z ssb:conn-hub connected to tunnel:@uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519:@Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=.ed25519~shs:Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=

[ 05-24 17:45:19.019  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:45:19.019Z ssb:conn-hub connected to tunnel:@uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519:@Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=.ed25519~shs:Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=

[ 05-24 17:46:05.538  3673: 3714 E/NODEJS-MOBILE ]
Error replicating with @Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=.ed25519:
   { name: 'Error', message: 'muxrpc: session terminated', stack: '' }

[ 05-24 17:46:05.646  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:46:05.645Z ssb:conn-hub disconnected from tunnel:@uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519:@Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=.ed25519~shs:Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=

[ 05-24 17:46:05.650  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:46:05.650Z ssb:room-client attendant left @uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519: @Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=.ed25519

[ 05-24 17:46:05.653  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:46:05.653Z ssb:room-client attendant left @uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519: @Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=.ed25519

[ 05-24 17:46:05.850  3673: 3714 E/NODEJS-MOBILE ]
Error replicating with @Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=.ed25519:
   { name: 'Error', message: 'muxrpc: session terminated', stack: '' }

[ 05-24 17:46:05.867  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:46:05.867Z ssb:conn-hub disconnected from tunnel:@uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519:@Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=.ed25519~shs:Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=

[ 05-24 17:46:05.979  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:46:05.979Z ssb:room-client tunnel duplex broken with { name: 'tunnel', portal: '@uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519', target: '@Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=.ed25519' } because muxrpc: session terminated

[ 05-24 17:46:18.789  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:46:18.788Z ssb:conn-hub connecting to tunnel:@uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519:@QlCTpvY7p9ty2yOFrv1WU1AE88aoQc4Y7wYal7PFc+w=.ed25519~shs:QlCTpvY7p9ty2yOFrv1WU1AE88aoQc4Y7wYal7PFc+w=

[ 05-24 17:46:18.795  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:46:18.794Z ssb:room-client we wish to connect to { name: 'tunnel', portal: '@uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519', target: '@QlCTpvY7p9ty2yOFrv1WU1AE88aoQc4Y7wYal7PFc+w=.ed25519' }
2021-05-24T14:46:18.795Z ssb:room-client will call tunnel.connect at @QlCTpvY7p9ty2yOFrv1WU1AE88aoQc4Y7wYal7PFc+w=.ed25519 via room @uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519

[ 05-24 17:46:18.906  3673: 3714 E/NODEJS-MOBILE ]
Error: stackless error
    at module.exports (/data/data/se.manyver/files/nodejs-project/index.js:61352:19)
    at abort (/data/data/se.manyver/files/nodejs-project/index.js:20811:45)
    at Object.cb (/data/data/se.manyver/files/nodejs-project/index.js:20818:24)
    at drain (/data/data/se.manyver/files/nodejs-project/index.js:36593:23)
    at /data/data/se.manyver/files/nodejs-project/index.js:36610:18
    at /data/data/se.manyver/files/nodejs-project/index.js:36567:7
    at PacketStreamSubstream.weird.read (/data/data/se.manyver/files/nodejs-project/index.js:30456:7)
    at PacketStream._onstream (/data/data/se.manyver/files/nodejs-project/index.js:3164:12)
    at PacketStream.write (/data/data/se.manyver/files/nodejs-project/index.js:3098:41)
    at /data/data/se.manyver/files/nodejs-project/index.js:30489:15

[ 05-24 17:46:18.908  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:46:18.908Z ssb:room-client tunnel duplex broken with { name: 'tunnel', portal: '@uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519', target: '@QlCTpvY7p9ty2yOFrv1WU1AE88aoQc4Y7wYal7PFc+w=.ed25519' } because could not connect to:@QlCTpvY7p9ty2yOFrv1WU1AE88aoQc4Y7wYal7PFc+w=.ed25519

[ 05-24 17:46:18.909  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:46:18.908Z ssb:conn-hub failed to connect to tunnel:@uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519:@QlCTpvY7p9ty2yOFrv1WU1AE88aoQc4Y7wYal7PFc+w=.ed25519~shs:QlCTpvY7p9ty2yOFrv1WU1AE88aoQc4Y7wYal7PFc+w= because: could not connect to:@QlCTpvY7p9ty2yOFrv1WU1AE88aoQc4Y7wYal7PFc+w=.ed25519

[ 05-24 17:46:23.587  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:46:23.587Z ssb:room-client attendant joined @uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519: @Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=.ed25519

[ 05-24 17:46:24.981  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:46:24.980Z ssb:conn-hub connecting to tunnel:@uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519:@Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=.ed25519~shs:Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=

[ 05-24 17:46:24.988  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:46:24.988Z ssb:room-client we wish to connect to { name: 'tunnel', portal: '@uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519', target: '@Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=.ed25519' }
2021-05-24T14:46:24.988Z ssb:room-client will call tunnel.connect at @Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=.ed25519 via room @uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519

[ 05-24 17:46:25.509  3673: 3714 E/NODEJS-MOBILE ]
2021-05-24T14:46:25.508Z ssb:conn-hub connected to tunnel:@uMYDVPuEKftL4SzpRGVyQxLdyPkOiX7njit7+qT/7IQ=.ed25519:@Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=.ed25519~shs:Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=

staltz avatar May 24 '21 14:05 staltz