Skip to content
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

Linking Ubuntu Dekstop Client revokes GV2 Support on Android Device #4623

Open
1 task done
hennjo opened this issue Oct 30, 2020 · 5 comments
Open
1 task done

Linking Ubuntu Dekstop Client revokes GV2 Support on Android Device #4623

hennjo opened this issue Oct 30, 2020 · 5 comments
Labels

Comments

@hennjo
Copy link

hennjo commented Oct 30, 2020

  • I have searched open and closed issues for duplicates

Bug Description

Linking up to date Desktop (Ubuntu) device makes Android Device loose GV2 support.

I'm on the Android beta Program and right now on 4.75.2. My Desktop clients are both on 1.37.1.

Steps to Reproduce

  1. Unlink all Desktop devices (Windows and Ubuntu)
  2. Wait for Android device to regain GV2 Support
  3. Link Windows Device
  4. Wait for more than 24 hrs --> Android still has GV2 support
  5. Link Ubuntu 1.37.1 device
  6. Wait
  7. Android Device looses GV2 Support

Actual Result:

See bullet Points: I unlinked and relinked several devices, even the desktop beta on Ubuntu to test the beahvior. Every Time I link the Ubuntu Desktop Client I loose GV2 Support.

After the GV2 support is revoked, I'm still able to be in V2 groups and mention people and stuff. I just can't be invited into one or create one myself.

Expected Result:

After linking an up to date Ubuntu Desktop client the Android device shouldn't loose GV2 Support.

Screenshots

No Screenshots needed.

Platform Info

Signal Version:

1.37.1
Android: 4.75.2
Operating System:
Windows 10
Ubuntu 20.04
Android 9

Linked Device Version:

See above

Link to Debug Log

Desktop: https://debuglogs.org/435bec1bba42ac42b7983b3d590b4616ab3ab9683e7ef15b2b4be25498a6a056
Android: https://debuglogs.org/b03886f79788b28578a044c8d420c4d418e16308967b7cb79cc9e622e99f3269

I first reported this behavior in the beta feedback thread in the community Forum, then in the desktop beta feedback thread, but no solution came from it.

@scottnonnenberg-signal
Copy link
Contributor

@hennjo Looking at your Desktop log, it seems that you aren't, in fact, installing Signal Desktop from scratch. You are unlinking it in your phone, then going back to it and re-linking. Is that correct?

WARN  2020-10-27T07:38:45.752Z Client is no longer authorized; deleting local configuration

You can see where we register for GV2 support here:

const hasRegisteredGV23Support = 'hasRegisteredGV23Support';
if (
!window.storage.get(hasRegisteredGV23Support) &&
window.textsecure.storage.user.getUuid()
) {
const server = window.WebAPI.connect({
username: USERNAME || OLD_USERNAME,
password: PASSWORD,
});
try {
await server.registerCapabilities({ 'gv2-3': true });
window.storage.put(hasRegisteredGV23Support, true);
} catch (error) {
window.log.error(
'Error: Unable to register support for GV2.',
error && error.stack ? error.stack : error
);
}
}

Can you check something for me? Close your Ubuntu Signal Desktop, then restart it, then provide your latest log?

@scottnonnenberg-signal
Copy link
Contributor

If you could also run window.storage.get(hasRegisteredGV23Support) in the Dev Tools console, that would help too. Thanks!

@hennjo
Copy link
Author

hennjo commented Oct 30, 2020

Can you check something for me? Close your Ubuntu Signal Desktop, then restart it, then provide your latest log?

Here's the Debug log immediately after restarting Signal on Ubuntu: https://debuglogs.org/f0c19ee9d6039c205316efc8a1e735d6ee8867952552b4a51fa92e81a59bed20

If you could also run window.storage.get(hasRegisteredGV23Support) in the Dev Tools console, that would help too. Thanks!
Running that command results in:

> window.storage.get(hasRegisteredGV23Support)
 Uncaught ReferenceError: hasRegisteredGV23Support is not defined    VM1605:1
    at <anonymous>:1:20
(anonymous) @ VM1605:1

And no, I'm updating signal from older Versions. And yes the times I unlinked it I did that from my phone.

@scottnonnenberg-signal
Copy link
Contributor

Sorry: window.storage.get('hasRegisteredGV23Support') will not throw an error. :0)

Either way, it looks like my theory was correct - it takes a restart of Signal Desktop after link to properly hydrate capabilities. We'll fix that.

// Your most recent startup:
INFO  2020-10-30T16:48:55.935Z starting version 1.37.2
...
// Setting capabilities on the server:
INFO  2020-10-30T16:48:59.083Z PUT https://textsecure-service.whispersystems.org/v1/devices/capabilities
...
INFO  2020-10-30T16:48:59.204Z PUT https://textsecure-service.whispersystems.org/v1/devices/capabilities 204 Success

@hennjo
Copy link
Author

hennjo commented Oct 30, 2020

Sorry: window.storage.get('hasRegisteredGV23Support') will not throw an error. :0)
Yep. That just results in 'True'.

Alright. I guess there's nothing left for me to do. Thanks for the quick response.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

2 participants