hipchat / hubot-hipchat

HipChat adapter for GitHub's Hubot
https://www.hipchat.com/help/page/bots
MIT License
666 stars 252 forks source link

Cannot use the adaptor on Ubuntu with node v.0.10 #93

Closed ChrisCinelli closed 11 years ago

ChrisCinelli commented 11 years ago

node-waf was shipped with nodejs-dev package but Node v0.10 does not come with it anymore.

So node-stringprep 0.1.0 does not compile because of this and node-stringprep 0.1.5 cause the hipchat adaptor to complain about the binding requiring 0.1.0

See https://github.com/github/hubot/issues/484

ChrisCinelli commented 11 years ago

I added these dependencies:

"node-stringprep" : ">= 0.1.0",
"hubot-hipchat": ">= 1.0.2"

But I get:

    Cannot load StringPrep-0.1.0 bindings. You may need to `npm install node-stringprep'
    HipChat adapter options: { jid: '53434_4343@chat.hipchat.com',
      password: 'Mypassword',
      token: null,
      rooms: 'All',
      debug: false,
      host: null }
    Wobot object: { domain: null,
      _events:
       { connect: { [Function: g] listener: [Function] },
         error: [Function] },
      _maxListeners: 0,
      jabber: null,
      keepalive: null,
      name: null,
      plugins: {},
      iq_count: 1,
      jid: '53434_4343@chat.hipchat.com/wobot',
      password: 'Mypassword',
      debug: false,
      host: null,
      caps_ver: 'wobot:0.8.0',
      mucHost: 'conf.hipchat.com' }

    TypeError: Cannot read property 'message' of null
      at Bot.<anonymous> (/var/hubot/node_modules/hubot-hipchat/src/hipchat.coffee:141:20)
      at Bot.EventEmitter.emit (events.js:117:20)
      at Bot.module.exports.Bot.onStreamError (/var/hubot/node_modules/hubot-hipchat/node_modules/wobot/lib/bot.js:32:12)
      at Client.EventEmitter.emit (events.js:95:17)
      at Client.onRawStanza (/var/hubot/node_modules/hubot-hipchat/node_modules/wobot/node_modules/node-xmpp/lib/xmpp/client.js:124:18)
      at Client.EventEmitter.emit (events.js:95:17)
      at Client.Connection.onStanza (/var/hubot/node_modules/hubot-hipchat/node_modules/wobot/node_modules/node-xmpp/lib/xmpp/connection.js:237:14)
      at StreamParser.<anonymous> (/var/hubot/node_modules/hubot-hipchat/node_modules/wobot/node_modules/node-xmpp/lib/xmpp/connection.js:136:14)
      at StreamParser.EventEmitter.emit (events.js:95:17)
      at [object Object].<anonymous> (/var/hubot/node_modules/hubot-hipchat/node_modules/wobot/node_modules/node-xmpp/lib/xmpp/stream_parser.js:42:22)
      at [object Object].EventEmitter.emit (events.js:95:17)
      at [object Object].Parser.parse (/var/hubot/node_modules/hubot-hipchat/node_modules/node-expat/lib/node-expat.js:18:22)
      at StreamParser.write (/var/hubot/node_modules/hubot-hipchat/node_modules/wobot/node_modules/node-xmpp/lib/xmpp/stream_parser.js:78:26)
      at Client.Connection.onData (/var/hubot/node_modules/hubot-hipchat/node_modules/wobot/node_modules/node-xmpp/lib/xmpp/connection.js:184:21)
      at CleartextStream.<anonymous> (/var/hubot/node_modules/hubot-hipchat/node_modules/wobot/node_modules/node-xmpp/lib/xmpp/connection.js:53:14)
      at CleartextStream.EventEmitter.emit (events.js:117:20)
      at CleartextStream.<anonymous> (_stream_readable.js:710:14)
      at CleartextStream.EventEmitter.emit (events.js:92:17)
      at emitReadable_ (_stream_readable.js:382:10)
      at _stream_readable.js:375:7
      at process._tickCallback (node.js:415:13)

    Cannot load StringPrep-0.1.0 bindings. You may need to `npm install node-stringprep'
    HipChat adapter options: { jid: '53434_4343@chat.hipchat.com',
      password: 'Mypassword',
      token: null,
      rooms: 'All',
      debug: false,
      host: null }
    Wobot object: { domain: null,
      _events:
       { connect: { [Function: g] listener: [Function] },
         error: [Function] },
      _maxListeners: 0,
      jabber: null,
      keepalive: null,
      name: null,
      plugins: {},
      iq_count: 1,
      jid: '53434_4343@chat.hipchat.com/wobot',
      password: 'Mypassword',
      debug: false,
      host: null,
      caps_ver: 'wobot:0.8.0',
      mucHost: 'conf.hipchat.com' }

    TypeError: Cannot read property 'message' of null
      at Bot.<anonymous> (/var/hubot/node_modules/hubot-hipchat/src/hipchat.coffee:141:20)
      at Bot.EventEmitter.emit (events.js:117:20)
      at Bot.module.exports.Bot.onStreamError (/var/hubot/node_modules/hubot-hipchat/node_modules/wobot/lib/bot.js:32:12)
      at Client.EventEmitter.emit (events.js:95:17)
      at Client.onRawStanza (/var/hubot/node_modules/hubot-hipchat/node_modules/wobot/node_modules/node-xmpp/lib/xmpp/client.js:124:18)
      at Client.EventEmitter.emit (events.js:95:17)
      at Client.Connection.onStanza (/var/hubot/node_modules/hubot-hipchat/node_modules/wobot/node_modules/node-xmpp/lib/xmpp/connection.js:237:14)
      at StreamParser.<anonymous> (/var/hubot/node_modules/hubot-hipchat/node_modules/wobot/node_modules/node-xmpp/lib/xmpp/connection.js:136:14)
      at StreamParser.EventEmitter.emit (events.js:95:17)
      at [object Object].<anonymous> (/var/hubot/node_modules/hubot-hipchat/node_modules/wobot/node_modules/node-xmpp/lib/xmpp/stream_parser.js:42:22)
    "/var/log/hubot.log" 94L, 5082C                                                                                                                                                                                       1,1           Top
      jabber: null,
      keepalive: null,
      name: null,
      plugins: {},
      iq_count: 1,
      jid: '53434_4343@chat.hipchat.com/wobot',
      password: 'Mypassword',
      debug: false,
      host: null,
      caps_ver: 'wobot:0.8.0',
      mucHost: 'conf.hipchat.com' }

    TypeError: Cannot read property 'message' of null
      at Bot.<anonymous> (/var/hubot/node_modules/hubot-hipchat/src/hipchat.coffee:141:20)
      at Bot.EventEmitter.emit (events.js:117:20)
      at Bot.module.exports.Bot.onStreamError (/var/hubot/node_modules/hubot-hipchat/node_modules/wobot/lib/bot.js:32:12)
      at Client.EventEmitter.emit (events.js:95:17)
      at Client.onRawStanza (/var/hubot/node_modules/hubot-hipchat/node_modules/wobot/node_modules/node-xmpp/lib/xmpp/client.js:124:18)
      at Client.EventEmitter.emit (events.js:95:17)
      at Client.Connection.onStanza (/var/hubot/node_modules/hubot-hipchat/node_modules/wobot/node_modules/node-xmpp/lib/xmpp/connection.js:237:14)
      at StreamParser.<anonymous> (/var/hubot/node_modules/hubot-hipchat/node_modules/wobot/node_modules/node-xmpp/lib/xmpp/connection.js:136:14)
      at StreamParser.EventEmitter.emit (events.js:95:17)
      at [object Object].<anonymous> (/var/hubot/node_modules/hubot-hipchat/node_modules/wobot/node_modules/node-xmpp/lib/xmpp/stream_parser.js:42:22)
      at [object Object].EventEmitter.emit (events.js:95:17)
      at [object Object].Parser.parse (/var/hubot/node_modules/hubot-hipchat/node_modules/node-expat/lib/node-expat.js:18:22)
      at StreamParser.write (/var/hubot/node_modules/hubot-hipchat/node_modules/wobot/node_modules/node-xmpp/lib/xmpp/stream_parser.js:78:26)
      at Client.Connection.onData (/var/hubot/node_modules/hubot-hipchat/node_modules/wobot/node_modules/node-xmpp/lib/xmpp/connection.js:184:21)
      at CleartextStream.<anonymous> (/var/hubot/node_modules/hubot-hipchat/node_modules/wobot/node_modules/node-xmpp/lib/xmpp/connection.js:53:14)
      at CleartextStream.EventEmitter.emit (events.js:117:20)
      at CleartextStream.<anonymous> (_stream_readable.js:710:14)
      at CleartextStream.EventEmitter.emit (events.js:92:17)
      at emitReadable_ (_stream_readable.js:382:10)
      at _stream_readable.js:375:7
      at process._tickCallback (node.js:415:13)

I tried to use "node-stringprep" : "= 0.1.0", but I get:

    > node-stringprep@0.1.0 install /var/hubot/node_modules/node-stringprep
    > ./install.sh

    ./install.sh: 11: ./install.sh: node-waf: not found
    npm ERR! node-stringprep@0.1.0 install: `./install.sh`
    npm ERR! `sh "-c" "./install.sh"` failed with 1
    npm ERR!
    npm ERR! Failed at the node-stringprep@0.1.0 install script.
    npm ERR! This is most likely a problem with the node-stringprep package,
    npm ERR! not with npm itself.
    npm ERR! Tell the author that this fails on your system:
    npm ERR!     ./install.sh
    npm ERR! You can get their info via:
    npm ERR!     npm owner ls node-stringprep
    npm ERR! There is likely additional logging output above.

    npm ERR! System Linux 3.2.0-24-virtual
    npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "node-stringprep"
    npm ERR! cwd /var/hubot
    npm ERR! node -v v0.10.4
    npm ERR! npm -v 1.2.18
    npm ERR! code ELIFECYCLE
    npm ERR!
    npm ERR! Additional logging details can be found in:
    npm ERR!     /var/hubot/npm-debug.log
    npm ERR! not ok code 0
jcalonso commented 11 years ago

I'm having same issue here, node v.0.10.5 can't install node-stringprep@0.1.0.

Any workaround?

ChrisCinelli commented 11 years ago

After some works, I realized that the "Cannot load StringPrep-0.1.0 bindings. You may need to `npm install node-stringprep'" message does not prevent the adapter to work. The problem was an XMPP authorization error.

There are other problems with this adapter though (see https://github.com/github/hubot/issues/487 .) I have been working on this branch: https://github.com/ChrisCinelli/hubot-hipchat/tree/works-on-node-010 and running hubot with the hubot.conf as explained here: https://github.com/github/hubot/wiki/Deploying-Hubot-onto-UNIX

rbergman commented 11 years ago

Recent updates to master should improve operation under Node 0.10.x, but I've only tested thus far on OS X and, as of this comment, the changes haven't yet been pushed to npm. The latest changes also suppress misleading warnings/instructions pertaining to stringprep module errors, which are an optional dependency of node-xmpp to being with. Error reporting for authentication (and other) errors have also been improved.

Closing this given recent updates. If you find anything to still be lacking once the next version is published to npm, please open additional issues.