RocketChat / Rocket.Chat.js.SDK

Utility for apps and bots to interact with Rocket.Chat via DDP and/or API
MIT License
136 stars 94 forks source link

potential bugfix for 3.8.0 versions #121

Closed DeviaVir closed 3 years ago

DeviaVir commented 3 years ago

We're seeing this error for hubot since upgrading to 3.8.0:

[Tue Nov 17 2020 18:28:57 GMT+0000 (Coordinated Universal Time)] INFO [received] Message in room undefined
[Tue Nov 17 2020 18:28:57 GMT+0000 (Coordinated Universal Time)] ERROR TypeError: Cannot read property '_id' of undefined
  at Object.<anonymous> (/app/node_modules/hubot-rocketchat/node_modules/@rocket.chat/sdk/dist/lib/driver.js:374:23)
  at Generator.next (<anonymous>:null:null)
  at /app/node_modules/hubot-rocketchat/node_modules/@rocket.chat/sdk/dist/lib/driver.js:7:71
  at new Promise (<anonymous>:null:null)
  at __awaiter (/app/node_modules/hubot-rocketchat/node_modules/@rocket.chat/sdk/dist/lib/driver.js:3:12)
  at /app/node_modules/hubot-rocketchat/node_modules/@rocket.chat/sdk/dist/lib/driver.js:368:45
  at ReactiveQuery.<anonymous> (/app/node_modules/hubot-rocketchat/node_modules/@rocket.chat/sdk/dist/lib/driver.js:344:17)
  at /app/node_modules/hubot-rocketchat/node_modules/asteroid/dist/asteroid.node.js:170:12
  at Array.forEach (<anonymous>:null:null)
  at ReactiveQuery._emit (/app/node_modules/hubot-rocketchat/node_modules/asteroid/dist/asteroid.node.js:169:22)
  at Set.<anonymous> (/app/node_modules/hubot-rocketchat/node_modules/asteroid/dist/asteroid.node.js:749:8)
  at /app/node_modules/hubot-rocketchat/node_modules/asteroid/dist/asteroid.node.js:170:12
  at Array.forEach (<anonymous>:null:null)
  at Set._emit (/app/node_modules/hubot-rocketchat/node_modules/asteroid/dist/asteroid.node.js:169:22)
  at Set.put (/app/node_modules/hubot-rocketchat/node_modules/asteroid/dist/asteroid.node.js:965:7)
  at Set.<anonymous> (/app/node_modules/hubot-rocketchat/node_modules/asteroid/dist/asteroid.node.js:1020:8)
  at /app/node_modules/hubot-rocketchat/node_modules/asteroid/dist/asteroid.node.js:170:12
  at Array.forEach (<anonymous>:null:null)
  at Set._emit (/app/node_modules/hubot-rocketchat/node_modules/asteroid/dist/asteroid.node.js:169:22)
  at Set.put (/app/node_modules/hubot-rocketchat/node_modules/asteroid/dist/asteroid.node.js:965:7)
  at Collection._remoteToLocalUpdate (/app/node_modules/hubot-rocketchat/node_modules/asteroid/dist/asteroid.node.js:695:12)
  at Asteroid._onChanged (/app/node_modules/hubot-rocketchat/node_modules/asteroid/dist/asteroid.node.js:453:36)
  at DDP.<anonymous> (/app/node_modules/hubot-rocketchat/node_modules/asteroid/dist/asteroid.node.js:392:8)
  at /app/node_modules/ddp.js/src/ddp.js:125:12
  at Array.forEach (<anonymous>:null:null)
  at DDP._emit (/app/node_modules/ddp.js/src/ddp.js:124:22)
  at DDP._on_changed (/app/node_modules/ddp.js/src/ddp.js:248:8)
  at DDP._on_socket_message (/app/node_modules/ddp.js/src/ddp.js:326:26)
  at Client.dispatchEvent (/app/node_modules/faye-websocket/lib/faye/websocket/api/event_target.js:22:30)
  at Client._receiveMessage (/app/node_modules/faye-websocket/lib/faye/websocket/api.js:150:10)
  at Client.<anonymous> (/app/node_modules/faye-websocket/lib/faye/websocket/api.js:34:49)
  at Client.emit (node:events:339:22)
  at Client.<anonymous> (/app/node_modules/websocket-driver/lib/websocket/driver/hybi.js:454:14)
  at pipe (/app/node_modules/websocket-extensions/lib/pipeline/index.js:37:40)
  at Pipeline._loop (/app/node_modules/websocket-extensions/lib/pipeline/index.js:44:3)
  at Pipeline.processIncomingMessage (/app/node_modules/websocket-extensions/lib/pipeline/index.js:13:8)
  at Extensions.processIncomingMessage (/app/node_modules/websocket-extensions/lib/websocket_extensions.js:133:20)
  at Client._emitMessage (/app/node_modules/websocket-driver/lib/websocket/driver/hybi.js:445:22)
  at Client._emitFrame (/app/node_modules/websocket-driver/lib/websocket/driver/hybi.js:405:19)
  at Client.parse (/app/node_modules/websocket-driver/lib/websocket/driver/hybi.js:141:18)
  at Client.parse (/app/node_modules/websocket-driver/lib/websocket/driver/client.js:62:58)
  at IO.write (/app/node_modules/websocket-driver/lib/websocket/streams.js:80:16)
  at Socket.ondata (node:internal/streams/readable:715:22)
  at Socket.emit (node:events:327:20)
  at addChunk (node:internal/streams/readable:304:12)
  at readableAddChunk (node:internal/streams/readable:279:9)
  at Socket.Readable.push (node:internal/streams/readable:218:10)
  at TCP.onStreamRead (node:internal/stream_base_commons:192:23)

Probably not a great fix, happy to patch it however you wish.

DeviaVir commented 3 years ago

FYI https://github.com/deviavir/hubot-rocketchat points at this patch and is usable for other hubot users.

brunobertoldi commented 3 years ago

Can confirm it fixes

spolyak commented 3 years ago

confirmed as well

florisvangeel commented 3 years ago

Confirmed, this fixes: Hubot, Botpress and bbot integrations. Please merge and bump.

Thank You Floris.