Skip to content

Traceback on non-string 'text' field #75

@Zash

Description

@Zash

To reproduce:

  1. Request a webhook URL
  2. POST the JSON payload {"text":{}} to it.

Expect: Error about invalid input data.

Actual: Accepted, followed by this traceback:

[ERROR] TypeError: str.split is not a function
    at Object.emojify (/node_modules/node-emoji/lib/emoji.js:199:14)
    at module.exports (/src/processing/layers/message/emoji.js:5:35)
    at layerChain.then (/src/processing/WebhookReceiver.js:69:75)
    at tryCatcher (/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/node_modules/bluebird/js/release/promise.js:512:31)
    at Promise._settlePromise (/node_modules/bluebird/js/release/promise.js:569:18)
    at Promise._settlePromise0 (/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/node_modules/bluebird/js/release/promise.js:694:18)
    at _drainQueueStep (/node_modules/bluebird/js/release/async.js:138:12)
    at _drainQueue (/node_modules/bluebird/js/release/async.js:131:9)
    at Async._drainQueues (/node_modules/bluebird/js/release/async.js:147:5)
    at Immediate.Async.drainQueues [as _onImmediate] (/node_modules/bluebird/js/release/async.js:17:14)
    at runCallback (timers.js:705:18)
    at tryOnImmediate (timers.js:676:5)
    at processImmediate (timers.js:658:5)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions