HangupsJS stopped working about an hour ago due to the Google's renumbering of the fields in the HTML and as a result YakYak stopped working too.
Fixing the email field number in the "yakyak-linux-x64/resources/app/node_modules/hangupsjs/lib/init.js" from "ds:36" to "ds:33" seems to solve the problem, so I suppose changing it here in the "src/init.coffee" file should do the trick.
We might need to renumber other fields too.
I think this will require a new binary release of YakYak too.
I created a pull request in the HangupsJS:
I can confirm that changing the email field number in YakYak-darwin-x64/YakYak.app/Contents/Resources/app/node_modules/hangupsjs/lib/init.js from "ds:36" to "ds:33" allows YakYak to start up on Mac OS X El Capitan 10.11.6.
Fix works on Windows 10 too with newest binary.
Fix also works on Linux mint.
Edit: At home now, does not work on my windows 10 setup
Worked on macOS Mojave 10.14
Fix works on Windows 10 too with newest binary.
Not for me.
Fix didn't work for me on Mojave 10.14
Fix didn't work for me on Mojave 10.14
Same here.
Works for me on High Sierra 10.13.6. Thanks for the quick fix!
Not working here
resolving proxy http://plus.google.com
resolving proxy https://plus.google.com
resolved proxy DIRECT
resolved proxy DIRECT
connect_failed TypeError: Cannot read property 'length' of null
at /opt/yakyak/resources/app/node_modules/hangupsjs/lib/init.js:125:21
at _fulfilled (/opt/yakyak/resources/app/node_modules/q/q.js:854:54)
at /opt/yakyak/resources/app/node_modules/q/q.js:883:30
at Promise.promise.promiseDispatch (/opt/yakyak/resources/app/node_modules/q/q.js:816:13)
at /opt/yakyak/resources/app/node_modules/q/q.js:570:49
at runSingle (/opt/yakyak/resources/app/node_modules/q/q.js:137:13)
at flush (/opt/yakyak/resources/app/node_modules/q/q.js:125:13)
at process._tickCallback (internal/process/next_tick.js:61:11)
error connecting TypeError: Cannot read property 'length' of null
at /opt/yakyak/resources/app/node_modules/hangupsjs/lib/init.js:125:21
at _fulfilled (/opt/yakyak/resources/app/node_modules/q/q.js:854:54)
at /opt/yakyak/resources/app/node_modules/q/q.js:883:30
at Promise.promise.promiseDispatch (/opt/yakyak/resources/app/node_modules/q/q.js:816:13)
at /opt/yakyak/resources/app/node_modules/q/q.js:570:49
at runSingle (/opt/yakyak/resources/app/node_modules/q/q.js:137:13)
at flush (/opt/yakyak/resources/app/node_modules/q/q.js:125:13)
at process._tickCallback (internal/process/next_tick.js:61:11)
Fix not working here either, Arch Linux x86_64 4.18.16
I can confirm that changing the email field number in
YakYak-darwin-x64/YakYak.app/Contents/Resources/app/node_modules/hangupsjs/lib/init.jsfrom "ds:36" to "ds:33" allows YakYak to start up on Mac OS X El Capitan 10.11.6.
Hmm... didn't work for me either. Mojave 10.14. YakYak just sits at Connecting...

Mojave 10.14 checking in, changing to ds:33 also did not work for me :(
the fix worked at first, but now doesn't work as others are reporting.
Mojave 10.14 here as well. That fix didn't work for me either. 馃槩
I can confirm that changing the email field number in
YakYak-darwin-x64/YakYak.app/Contents/Resources/app/node_modules/hangupsjs/lib/init.jsfrom "ds:36" to "ds:33" allows YakYak to start up on Mac OS X El Capitan 10.11.6.
YakYak is no longer working with this fix in place. Not sure what else I can do to help test or troubleshoot.
The fix didn't work for me either. HELP!
They changed it again to ds:31. But that's not the biggest problem, they've completely removed the data needed for conv_states, which means that no conversations will show up anymore.
EDIT: Forgot to mention, you'll also need to change self_entity to ds:20.
ds:31 does not work for me on Windows 10. I thought APIs were supposed to make it POSSIBLE to connect to resources. WhatsApp anyone?
They changed it again to ds:31. But that's not the biggest problem, they've completely removed the data needed for conv_states, which means that no conversations will show up anymore.
EDIT: Forgot to mention, you'll also need to change self_entity to ds:20.
Ok, this is working for me now, but yeah, all my convos are gonezo along with history, etc. Obviously el goog is feeling a bit pissy regarding people making fun of Hangouts demise xD
They changed it again to ds:31. But that's not the biggest problem, they've completely removed the data needed for conv_states, which means that no conversations will show up anymore.
EDIT: Forgot to mention, you'll also need to change self_entity to ds:20.
Allowing the client to connect for me as well, now I guess we wait for a fix for the conversations?
Yeah, I can open it now but no conversations in there and still feels like a bit of a mess.
My conversations just came back after making the ds:31 and ds:20 change.
to be clear in /Applications/YakYak.app/Contents/Resources/app/node_modules/hangupsjs/lib/init.js you must edit to have the following:
email: {
key: 'ds:31',
self_entity: {
key: 'ds:20',
credit to @HomerSp
Timestamp is ds:20 so what does that change to, if self_entity changes to ds:20 as well ??
That's probably why conversations are borked.
Timestamp is ds:20 so what does that change to, if self_entity changes to ds:20 as well ??
That's probably why conversations are borked.
Both timestamp and conv_states were already set to ds:20 so that doesn't necessarily mean that the values are conflicting.
Nevermind I misunderstood how that works.
I can get up a blank black partially drawn window with no X in the corner if I use 36 and 20 or 31 and 20.
EDIT: No, just 31 and 20.
My conversations just came back after making the ds:36 and ds:20 change.
I mean, I had to set mine to these to work at all, and no restored messages, even after restart. In fact, I lost the few messages I had accumulated after getting it to work the first time. Womp womp.
I had to add a new conversation and send a message. but then @willgleich advice worked, and everything populated
I had to add a new conversation and send a message. but then @willgleich advice worked, and everything populated
Care to list the steps you took to get messages back? I'm not really clear on the advice given or how it differs from what I've already done to get connections working. TIA!
I had to add a new conversation and send a message. but then @willgleich advice worked, and everything populated
Care to list the steps you took to get messages back? I'm not really clear on the advice given or how it differs from what I've already done to get connections working. TIA!
Same, I assumed it meant changing email back to ds:36 but that just puts me back at square one with it unable to connect.
My messaged just populated after a few minutes of time . I also hit the + button too.
I had to add a new conversation and send a message. but then @willgleich advice worked, and everything populated
Care to list the steps you took to get messages back? I'm not really clear on the advice given or how it differs from what I've already done to get connections working. TIA!
Same, I assumed it meant changing email back to ds:36 but that just puts me back at square one with it unable to connect.
Sorry! I set
email: { key: 'ds:31',
self_entity: { key: 'ds:20',
Then, I restarted the app by choosing quit. Then, I restarted yakyak, and when yakyak connected and appeared to load, I clicked the + sign, then typed in the contact name until it autocompleted, and then selected the contact. Then I sent a message. They sent me one back and all the history loaded.
Sorry! I set
email: { key: 'ds:31',
self_entity: { key: 'ds:20',Then, when yakyak connected and appeared to load, I clicked the + sign, then typed in the contact name until it autocompleted, and then selected the contact. Then I sent a message. They sent me one back and all the history loaded.
Hmm, I've had a mini conversation with someone and it hasn't loaded my history back yet. Crap.
Confirming what @sanimalp said worked. History is back and chats both sending and receiving.
I had to add a new conversation and send a message. but then @willgleich advice worked, and everything populated
Care to list the steps you took to get messages back? I'm not really clear on the advice given or how it differs from what I've already done to get connections working. TIA!
Same, I assumed it meant changing email back to ds:36 but that just puts me back at square one with it unable to connect.
Sorry! I set
email: { key: 'ds:31',
self_entity: { key: 'ds:20',
Then, when yakyak connected and appeared to load, I clicked the + sign, then typed in the contact name until it autocompleted, and then selected the contact. Then I sent a message. They sent me one back and all the history loaded.Hmm, I've had a mini conversation with someone and it hasn't loaded my history back yet. Crap.
TY Sanimalp for the steps! Same results as Bukimari here though - no reloading of history. I'm on MacOS Mojave, wonder if that might be part of it. I'm able to send and receive but message history is toast every time I reopen YakYak.
I got history to work for SOME chats.
I would start a chat with someone, send something to get the chat to appear on the left.
Exit out of the chat (not out of YakYak) and then reopen the chat, and it would show the history for that chat.
It helps if I have a second chat to switch back and forth from.
Dammit Google, stop breaking everything! What's your damn problem?
@shadowbottle did you try scrolling up? Mine didn't do it automatically. Once I tried to view history, it began fetching it.
Update: now all my other chats are showing again and didn't have to re-open or start a new convo.
@shadowbottle did you try scrolling up? Mine didn't do it automatically. Once I tried to view history, it began fetching it.
Eesh > _ < I feel like an idiot now - Requesting History is working when I scroll up. Thank you!!
I got history to work for SOME chats.
I would start a chat with someone, send something to get the chat to appear on the left.
Exit out of the chat (not out of YakYak) and then reopen the chat, and it would show the history for that chat.
It helps if I have a second chat to switch back and forth from.
Dammit Google, stop breaking everything! What's your damn problem?
This has worked for me finally. Had to start a second chat but once I switched between them they both loaded their history. So now I just have to do that for every important chat -_-
EDIT: If it's a group chat I have to leave the chat (through the web version or phone app) and have someone invite me back but then it pops up.
I've created a pull request here that fixes these problems: https://github.com/yakyak/hangupsjs/pull/104
Do give it a try if you can.
Anyone else lose all their chats again if they restart YakYak? :(
Anyone else lose all their chats again if they restart YakYak? :(
Yeah. Every time, unfortunately.
I lost my converations initially, but then created a new one to a friend, sent "Test", and when he wrote back "Failed", it re-loaded our entire previous conversation.
when the binaries are ready? on windows, the dev tools are large by its size, so installing it just to compile yakyak code.. well it is too much to ask :)
Anyone else lose all their chats again if they restart YakYak? :(
Yeah. Every time, unfortunately.
This happens for me too, very irritating as I have lots of conversations which can be very sporadic in nature.
The Google changes might have something to do with the G+ stuff.
Same here with Mojave 10.14 (fortunately threads are still available in google hangout interface).
@HomerSp your fix works for me in OSX! I just compiled it into js and modified the client.js and init.js files with those changes you made
I have the same issue, however, I installed YakYak through snap, so I can't modify the files to apply the fix
tried this fix on Mac OS X Mojave and it worked. Even the history works.
I've created a pull request here that fixes these problems: yakyak/hangupsjs#104
Do give it a try if you can.
Thanks! @HomerSp ! I just compiled your code and replaced the hangupsjs folder into the Yakyak app in this path: /Applications/YakYak.app/Contents/Resources/app/node_modules/hangupsjs
It works, I'm using macOS Mojave 10.14
Thanks to @HomerSp 's patches and @ztoben being awesome, on another issue that is the same as this issue, I have posted a set of steps that seem to fix this (applying the appropriate patched files) without the need to recompile.
This works for Win10 x64 but as others in the thread mention it works on Linux and Mac for them as well.
Here:
https://github.com/yakyak/yakyak/issues/981#issuecomment-433204393
I can confirm that on Mojave 10.14 if you follow @Gedrean's link and download the init.js and client.js files from @ztoben (direct to files link here: https://gist.github.com/ztoben/41bd68f893f46fc055f52bbacbee30d2) and copy them to /Applications/YakYak.app/Contents/Resources/app/node_modules/hangupsjs/lib/ as long as you apply this patch to the pre-release version 1.5.2 it will launch normally with all convo history present. If you apply the patch to 1.5.1 you will get a java error and it will not launch.
I'm running YakYak 1.5.1-0 on ArchLinux. I applied the ds:* changes described above. That let me log in and at least start new conversations, although I lost my history.
However, when I click the burger bar, I then get:
Error on YakYak window:
{ columnNo: 24,
error: {},
lineNo: 221,
msg: 'Uncaught Error: Could not call remote function \'\'. Check that the function signature is correct. Underlying error: Options must be an object\nError: Could not call remote function \'\'. Check that the function signature is correct. Underlying error: Options must be an object\n at callFunction (/usr/lib/electron/resources/electron.asar/browser/rpc-server.js:257:11)\n at EventEmitter.<anonymous> (/usr/lib/electron/resources/electron.asar/browser/rpc-server.js:357:5)\n at emitMany (events.js:147:13)\n at EventEmitter.emit (events.js:224:7)\n at WebContents.<anonymous> (/usr/lib/electron/resources/electron.asar/browser/api/web-contents.js:295:13)\n at emitTwo (events.js:126:13)\n at WebContents.emit (events.js:214:7)',
url: '/usr/lib/electron/resources/electron.asar/renderer/api/remote.js' }
I've nuked that, and I'm building off of master now to see if that gets me a working version.
I'm running YakYak 1.5.1-0 on ArchLinux. I applied the
ds:*changes described above. That let me log in and at least start new conversations, although I lost my history.However, when I click the burger bar, I then get:
Error on YakYak window: { columnNo: 24, error: {}, lineNo: 221, msg: 'Uncaught Error: Could not call remote function \'\'. Check that the function signature is correct. Underlying error: Options must be an object\nError: Could not call remote function \'\'. Check that the function signature is correct. Underlying error: Options must be an object\n at callFunction (/usr/lib/electron/resources/electron.asar/browser/rpc-server.js:257:11)\n at EventEmitter.<anonymous> (/usr/lib/electron/resources/electron.asar/browser/rpc-server.js:357:5)\n at emitMany (events.js:147:13)\n at EventEmitter.emit (events.js:224:7)\n at WebContents.<anonymous> (/usr/lib/electron/resources/electron.asar/browser/api/web-contents.js:295:13)\n at emitTwo (events.js:126:13)\n at WebContents.emit (events.js:214:7)', url: '/usr/lib/electron/resources/electron.asar/renderer/api/remote.js' }
Check Issue 981, it's got the full fix. I've also condensed a couple of seperate comments' worth of commands into one here. I'm running Arch as well and this fixed it perfectly for me.
EDIT: Make sure you updated to 1.5.2 for the patch to work :D
@Bukimari --
I did exactly the steps described here, and this is what I've got:
Error: Cannot find module 'hangupsjs'
at Module._resolveFilename (module.js:455:15)
at Function.Module._resolveFilename (/usr/share/yakyak-git/resources/electron.asar/common/reset-search-paths.js:35:12)
at Function.Module._load (module.js:403:25)
at Module.require (module.js:483:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/usr/share/yakyak-git/resources/app/main.js:4:12)
at Object.<anonymous> (/usr/share/yakyak-git/resources/app/main.js:598:4)
at Module._compile (module.js:556:32)
at Object.Module._extensions..js (module.js:565:10)
at Module.load (module.js:473:32)
The files that I have are up in a gist to prove that hangups is still right where it should be...
@RobertFischer, there's no lib folder in your output of the hangoutsjs directory. Did you run npm i from the hangupsjs folder after replacing the src files and removing the old lib folder?
@RobertFischer, there's no lib folder in your output of the hangoutsjs directory. Did you run
npm ifrom the hangupsjs folder after replacing the src files and removing the old lib folder?
This is the issue, was able to successfully reproduce the error without the lib folder and without running npm i.
The v1.5.2 build is being rebuilt right now and will be released in a few minutes, as soon as I can test it out
This is fixed in v1.5.2 that was just updated and released -- major thanks to contributors of this pull request: https://github.com/yakyak/hangupsjs/pull/104
Please report back if you guys have problems
@Bukimari @ztoben -- I would have sworn that I ran npm i, but I guess not...? Thanks for your help!
In any case, with the new release, ArchLinux's AUR yakyak-git package worked great for me out of the box. (This was not the case this morning.)
Does anyone know if/when the snap package will get updated? Not really sure how that happens.
@OctoPenguin maybe knows
Snap package is community maintained.
I'm still having this problem on 1.5.2 (MacOS Mojave 10.14)
resolving proxy http://plus.google.com
resolving proxy https://plus.google.com
resolved proxy DIRECT
resolved proxy DIRECT
connect_failed TypeError: Cannot read property 'length' of null
at /Applications/YakYak.app/Contents/Resources/app/node_modules/hangupsjs/lib/init.js:125:21
at _fulfilled (/Applications/YakYak.app/Contents/Resources/app/node_modules/q/q.js:854:54)
at /Applications/YakYak.app/Contents/Resources/app/node_modules/q/q.js:883:30
at Promise.promise.promiseDispatch (/Applications/YakYak.app/Contents/Resources/app/node_modules/q/q.js:816:13)
at /Applications/YakYak.app/Contents/Resources/app/node_modules/q/q.js:570:49
at runSingle (/Applications/YakYak.app/Contents/Resources/app/node_modules/q/q.js:137:13)
at flush (/Applications/YakYak.app/Contents/Resources/app/node_modules/q/q.js:125:13)
at process._tickCallback (internal/process/next_tick.js:61:11)
error connecting TypeError: Cannot read property 'length' of null
at /Applications/YakYak.app/Contents/Resources/app/node_modules/hangupsjs/lib/init.js:125:21
at _fulfilled (/Applications/YakYak.app/Contents/Resources/app/node_modules/q/q.js:854:54)
at /Applications/YakYak.app/Contents/Resources/app/node_modules/q/q.js:883:30
at Promise.promise.promiseDispatch (/Applications/YakYak.app/Contents/Resources/app/node_modules/q/q.js:816:13)
at /Applications/YakYak.app/Contents/Resources/app/node_modules/q/q.js:570:49
at runSingle (/Applications/YakYak.app/Contents/Resources/app/node_modules/q/q.js:137:13)
at flush (/Applications/YakYak.app/Contents/Resources/app/node_modules/q/q.js:125:13)
at process._tickCallback (internal/process/next_tick.js:61:11)
Edit: package installed is https://github.com/yakyak/yakyak/releases/download/v1.5.2/yakyak-1.5.2-osx.zip
@averissimo I'll try updating it this weekend :)
Receiving same issue as @aroberts on Fedora 28, Kernel 4.18.16-200.fc28.x86_64
Yakyak was working again for a while after installing the newest version but now I'm getting the same error as @aroberts (1.5.2 linux)
I tried latest osx zip and brew install today. Then made sure patches mentioned in https://github.com/yakyak/yakyak/issues/981#issuecomment-433095440 are present. Still getting same
resolving proxy http://plus.google.com
resolving proxy https://plus.google.com
resolved proxy DIRECT
resolved proxy DIRECT
connect_failed TypeError: Cannot read property 'length' of null
at /Applications/YakYak.app/Contents/Resources/app/node_modules/hangupsjs/lib/init.js:125:21
at _fulfilled (/Applications/YakYak.app/Contents/Resources/app/node_modules/hangupsjs/node_modules/q/q.js:854:54)
at /Applications/YakYak.app/Contents/Resources/app/node_modules/hangupsjs/node_modules/q/q.js:883:30
at Promise.promise.promiseDispatch (/Applications/YakYak.app/Contents/Resources/app/node_modules/hangupsjs/node_modules/q/q.js:816:13)
at /Applications/YakYak.app/Contents/Resources/app/node_modules/hangupsjs/node_modules/q/q.js:570:49
at runSingle (/Applications/YakYak.app/Contents/Resources/app/node_modules/hangupsjs/node_modules/q/q.js:137:13)
at flush (/Applications/YakYak.app/Contents/Resources/app/node_modules/hangupsjs/node_modules/q/q.js:125:13)
at process._tickCallback (internal/process/next_tick.js:61:11)
error connecting TypeError: Cannot read property 'length' of null
at /Applications/YakYak.app/Contents/Resources/app/node_modules/hangupsjs/lib/init.js:125:21
at _fulfilled (/Applications/YakYak.app/Contents/Resources/app/node_modules/hangupsjs/node_modules/q/q.js:854:54)
at /Applications/YakYak.app/Contents/Resources/app/node_modules/hangupsjs/node_modules/q/q.js:883:30
at Promise.promise.promiseDispatch (/Applications/YakYak.app/Contents/Resources/app/node_modules/hangupsjs/node_modules/q/q.js:816:13)
at /Applications/YakYak.app/Contents/Resources/app/node_modules/hangupsjs/node_modules/q/q.js:570:49
at runSingle (/Applications/YakYak.app/Contents/Resources/app/node_modules/hangupsjs/node_modules/q/q.js:137:13)
at flush (/Applications/YakYak.app/Contents/Resources/app/node_modules/hangupsjs/node_modules/q/q.js:125:13)
at process._tickCallback (internal/process/next_tick.js:61:11)
reconnecting 0
@hsergei have you tried the yakyak/hangupsjs#107 patch as described here?
@fulltrucker just did try that too, same result. All patches include test/* files that I don't have. But looking at init.coffee after applying patch I do see email key changed from ds:31 to cic:vd so I don't believe patch failed to apply.
Nevermind - that did work. Missed rm -rf lib/* and rpm -i
Okay, so I did the snap package but I don't have the credentials to push it to the Snap store. If someone could send me them somehow (email?) then I could do the push. Or I uploaded the file to OneDrive if someone else wants to push it.
Most helpful comment
I can confirm that changing the email field number in
YakYak-darwin-x64/YakYak.app/Contents/Resources/app/node_modules/hangupsjs/lib/init.jsfrom "ds:36" to "ds:33" allows YakYak to start up on Mac OS X El Capitan 10.11.6.