Skip to content

Exception when editing a message that hasn't been received by the server yet #2872

@lucasvanhalst

Description

@lucasvanhalst

So basically to reproduce this edge case:

  • Have slow internet (or set it to something really slow in dev tools) or have the server be slow due to it being overloaded
  • Send a message
  • Edit it (using the arrow-up shortcut) while it's not been send yet (aka it is displayed gray-ish)
  • The following error will occur:

rocketchat_1 | Exception while invoking method 'sendMessage' MongoError: E11000 duplicate key error collection: rocketchat.rocketchat_message index: id dup key: { : "8ciEoNY53oEJocvq6" }
rocketchat_1 | at Object.Future.wait (/app/bundle/programs/server/node_modules/fibers/future.js:398:15)
rocketchat_1 | at [object Object]. (packages/meteor/helpers.js:119:1)
rocketchat_1 | at [object Object].MongoConnection.(anonymous function) as insert
rocketchat_1 | at Object.CollectionHooks.defineAdvice.self (packages/matb33_collection-hooks/insert.js:48:1)
rocketchat_1 | at Object.collection.(anonymous function) as insert
rocketchat_1 | at [object Object].Mongo.Collection.(anonymous function) (packages/mongo/collection.js:590:1)
rocketchat_1 | at [object Object].Mongo.Collection.(anonymous function) as insert
rocketchat_1 | at _Class.RocketChat.models._Base._Class.insert (packages/rocketchat_lib/server/models/_Base.coffee:17:24)
rocketchat_1 | at Object.RocketChat.sendMessage (packages/rocketchat_lib/server/functions/sendMessage.coffee:24:44)
rocketchat_1 | at [object Object].Meteor.methods.sendMessage (packages/rocketchat_lib/server/methods/sendMessage.coffee:25:14)
rocketchat_1 | - - - - -
rocketchat_1 | at Object.toError (/app/bundle/programs/server/npm/npm-mongo/node_modules/mongodb/lib/mongodb/utils.js:114:11)
rocketchat_1 | at /app/bundle/programs/server/npm/npm-mongo/node_modules/mongodb/lib/mongodb/collection/core.js:116:29
rocketchat_1 | at /app/bundle/programs/server/npm/npm-mongo/node_modules/mongodb/lib/mongodb/db.js:1197:7
rocketchat_1 | at /app/bundle/programs/server/npm/npm-mongo/node_modules/mongodb/lib/mongodb/db.js:1905:9
rocketchat_1 | at Server.Base._callHandler (/app/bundle/programs/server/npm/npm-mongo/node_modules/mongodb/lib/mongodb/connection/base.js:453:41)
rocketchat_1 | at /app/bundle/programs/server/npm/npm-mongo/node_modules/mongodb/lib/mongodb/connection/server.js:488:18
rocketchat_1 | at [object Object].MongoReply.parseBody (/app/bundle/programs/server/npm/npm-mongo/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js:68:5)
rocketchat_1 | at [object Object]. (/app/bundle/programs/server/npm/npm-mongo/node_modules/mongodb/lib/mongodb/connection/server.js:446:20)
rocketchat_1 | at [object Object].emit (events.js:95:17)
rocketchat_1 | at [object Object]. (/app/bundle/programs/server/npm/npm-mongo/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:207:13)

Version 0.26

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions