-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Failing to send messages - unable to parse JSON #1
Comments
It's been a long time since I looked at this project, but I'll see what I can do. It might be faster to use a proxy like Fiddler or Charles to intercept the traffic on a computer and inspect it. |
Ah, good idea. I pulled this snippet of the conversation between xvoice++ and google:
|
Based on my testing, it looks like the GV API is checking the user-agent string, and sending back an error message if it detects an Android user-agent. I'm going to try patch it by sending a blank user-agent. In my testing that appears to work. Of course, if this change is because Google is trying to block uses like this, we may have to switch to spoofing a desktop user-agent. It's also possible that they can change the API completely. |
I don't think this is a good idea in general, since the response could potentially contain sensitive information, like authorization codes. You can always clone the repo, add your own debugging code, and recompile the APK. |
Apparently a setting a blank user-agent with Ion doesn't actually set it. Instead, I set it to spoof Chrome 65 on Windows 10 x64. I uploaded a new build here. Please try it and tell me if it works. |
I just installed your dev version and sent a couple test messages, which seemed to send ok. I'll give it a better workout tomorrow and let you know how it goes. |
@numericOverflow Can I assume it's working as expected? |
@BehindTheMath - It's sort of working. I don't see that original JSON error in the logs any more, but xvoice+ isn't reliably retrieving my messages - some come through, others don't, but all show in the official gvoice app. I'm trying to track down exactly what's going on to reproduce consistently. About the only thing I can find it that I seem to get this error in my logs:
|
@numericOverflow Do you have Google Play Services or GApps installed? Edit: I see you commented here about this error. Based on @koush's comment here and the comment here, it seems like this error just means Ion isn't using Play Services for SSL, and is falling back to use the system's implementation, so there should be no difference in functionality. I suppose I could add some |
I do have Google play services, I'm running an LG G4 from VZW that's rooted, but otherwise mostly stock Verizon Lillipop. I think you're right, I just can't find any other errors in the logs to explain why xvoice+ isn't working consistently, that was all I could find. |
It's been a while since I personally used XVoice++, but if I remember correctly, I had the same issue and I wasn't able to pin down the cause. The only thing I can suggest is to enable all the sync options. |
Hmm... I've already got all the sync options enabled. I guess I'll keep trying to track down something helpful to diagnose the issue. |
Ya, I have sync issues with the dev build, too :( Still on api 23, no issues prior to this changeup for years |
@tb-303 You're having issues with incoming or outgoing or syncing? It sounds like everyone else is just having issues with incoming. |
No, just issues with incoming sync. |
I tried the new .apk, and I'm also having issues receiving. To be explicit: If I send from an SMS app, the recipient gets it. The google voice app doesn't show that it was ever sent. I'd love to help with this, but I have no idea how to get a local environment setup to test this. The only process I can think of is to install Xposed on the android emulator, and then this app, which seems like an ordeal. |
Ok, so I may have made some progress (or I could be on the wrong track entirely). I think that the method that XVoicePlus hooks into doesn't exist anymore ( I wish I could be more confident in the above, but I'm unable to get debugging or logging working at |
More progress: I believe that the above methods are being called, but I don't think that logging works at that time. The fundamental problem is that the request in There's also a bug relating to Sync poll timer, making it not work ( |
I fixed the user agent on all of the queries, but it appears that the query "https://www.google.com/voice/request/messages" doesn't return text messages anymore. It returns voice messages, but there's no more attribute for texts. I tried capturing traffic, but I'm not sure how to bypass SSL (I've tried Packet Capture, but it simply says "No data") |
@nathanmerrill Thank you for working on debugging this. I'm busy with a few other projects, so currently I don't have much time for this one.
Do you mean Hangouts(
I'm not sure about this, since as I mentioned, logging should work.
I believe this is due to the user agent string, as mentioned upthread. This should be fixed in the test build.
That's interesting. I guess there should be a check for which action it is. Can you post a snippet of what you changed?
I would have to double-check, but I thought it worked when I tried it last week.
You need to use a custom root certificate from a network capture program like Fiddler or Charles so you can decrypt the HTTPS traffic. |
You are totally right: I was looking at hangouts.
If you hit that URL (in your browser, assuming you are logged in), it should auto download the JSON. I was unable to get Fiddler or Charles to work. I may have done something wrong, but it appears that hangouts is detecting it somehow. On a side note: I've never been able to use this, as I just recently found it. I have the hangouts app installed, and assumed that that was the Google Voice app. That's clearly not the case :) |
Can you try with the GV app and see what still doesn't work? |
Yes, I definitely can tonight. I don't have my machine with Android Studio setup in front of me :) |
@BehindTheMath I reinstalled the APK above, and incoming SMS still isn't working. It's not an error, either, we simply aren't getting the notification. (There's no log for "Handling intent for action INCOMING_VOICE") |
Right, that's the issue everyone else is having. It appears to me that either Does time-based syncing work for you? |
It works on my patched version (but my patch broke outgoing SMS).
…On Wed, May 16, 2018, 2:59 PM BehindTheMath ***@***.***> wrote:
@BehindTheMath <https://github.com/BehindTheMath> I reinstalled the APK
above, and incoming SMS still isn't working. It's not an error, either, we
simply aren't getting the notification. (There's no log for "Handling
intent for action INCOMING_VOICE")
Right, that's the issue everyone else is having.
It appears to me that either
com.google.android.apps.voice.backends.gcm.GcmListenerService.a() isn't
being called, or the hook isn't being called, but I don't know why.
Does time-based syncing work for you?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AC0XP3d6I4-taQJISTfeKxiSFyw6U7d7ks5tzJMogaJpZM4Tb1fc>
.
|
What did you change? |
In XVoicePlus::hookBroadcastPermissionCheck I checked the third parameter
(Intent) and checked what the intent name was. I can get you the code in a
hour and a half.
…On Wed, May 16, 2018, 3:07 PM BehindTheMath ***@***.***> wrote:
It works on my patched version (but my patch broke outgoing SMS).
What did you change?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AC0XP1svJZZ9gIHxLNcrRsOdE8dPu2oYks5tzJUKgaJpZM4Tb1fc>
.
|
`final int ARGUMENT_INDEX_CALLING_UID = 14; // Get our UID
} This is the code so far. I can make an APK if you want. Anyways, I think the error that requires addressing is: BroadcastQueue is showing the following error: |
Ok, that error was actually pretty trivial to fix. Now dealing with |
Ok, so apparently, the path to the GV preferences changed. The fix is in Great news though, there are still more issues. |
Recently, xvoice++ stopped sending messages, and it appears as the attempt to send the SMS is not getting back a JSON object around line 156 in sendGVMessage() . I was able to pull my android logs and I've attached a screenshot of majority of the error messages.
I think I've seen this in the pyGoogleVoice (unofficial python GVoice API) and I'm wondering if google is sending the plain text error message instructing the user to go to their site and prove their not a robot
Is it possible to get a try/catch block to output the error message to debug? Right now it just dies with an unhandled exception so no visibility to what's actually coming back.
I'm not a android developer, but I'd be more than happy to help you test/debug or provide any logs you need to potentially diagnose. I've got a rooted phone so have some leeway on accessing debug logs, etc.
The text was updated successfully, but these errors were encountered: