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

Dex Share follower doesn't receive data with new EU accounts having an email for username #1882

Closed
psonnera opened this issue Nov 27, 2021 · 43 comments · Fixed by #1978
Closed
Labels
sync-dexcom Dexcom Share and Clarity

Comments

@psonnera
Copy link

Subject of the issue

New Dexcom users aren't proposed a username during account creation (only for linked accounts) and the username is the email address used to create the account. Dex Share follower doesn't receive any data with the email address in account credentials (checked correct server, username and password). Using a kid linked account with a username is functional.

Your environment

I don't believe this is related to xDrip+ but Dex server recent changes.

Expected behavior

Dex Share follower should receive data from Dex share servers.

Actual behavior

No data is received by xDrip+ even if they are present in the vendor app followers.

Your environment

I don't believe this is related to xDrip+ but Dex server recent changes.

Expected behavior

Dex Share follower should receive data from Dex share servers.

Actual behavior

No data.

Steps to reproduce the behavior:

Create a new Dex account, log in the vendor master app, add a follower (either vendor app or xDrip+) and enable share. Accept the invitation in the vendor follower app to check functionality, set xDrip+ to Dex Share follower with matching credentials and server. And wait...

@Navid200 Navid200 added the sync-dexcom Dexcom Share and Clarity label Nov 27, 2021
@tolot27
Copy link
Collaborator

tolot27 commented Nov 27, 2021

Likely, Dexcom tries to enforce their API documented at https://developer.dexcom.com.

I still don't know the source of the xDrip implementation, because nothing is documented.

@psonnera
Copy link
Author

@tolot27 I'm pretty sure it was documented there but even time travel machine doesn't have the original site... https://web.archive.org/web/20170919194707/https://developer.dexcom.com/ maybe @StephenBlackWasAlreadyTaken remembers or has some legacy documentation?

@psonnera
Copy link
Author

@tolot27 @Navid200 which debug tags could be enabled to allow me to give more information on what's going on?

@fzelins
Copy link

fzelins commented Dec 5, 2021

I can confirm this bug. I have created new dexcom account, now my sensor expired so I deleted dexcom app, installed again and created new account. All new dexcom accounts now have email as login. I have also completely reinstalled xDrip app and I am still getting error:

ShareFollowCallback
01:55 Get Share Data Failed: java.io.EOFException: End of input at line 1 column 1 path $

ShareFollowDL
01:55 Interceptor Body size: 0
01:55 Session id appears valid so going direct to get data
01:55 Setting message: 01: 55 Connectivity problem reaching Share servers

ShareFollowCallback
01:55 Get Share Data Failed: java.io.EOFException: End of input at line 1 column 1 path $

ShareFollowDL
01:55 Interceptor Body size: 0
01:55 Session id appears valid so going direct to get data

@Navid200
Copy link
Collaborator

Navid200 commented Dec 5, 2021

@psonnera So sorry I missed your question.
The only tag I am aware of is this:
https://github.com/NightscoutFoundation/xDrip/wiki/Enabling-Debugging-for-OB1-collector

@tolot27 knows about this subject (Dexcom share) more than anyone else I know.

@samgray85
Copy link

I can confirm this bug. I have created new dexcom account, now my sensor expired so I deleted dexcom app, installed again and created new account. All new dexcom accounts now have email as login. I have also completely reinstalled xDrip app and I am still getting error:

ShareFollowCallback 01:55 Get Share Data Failed: java.io.EOFException: End of input at line 1 column 1 path $

ShareFollowDL 01:55 Interceptor Body size: 0 01:55 Session id appears valid so going direct to get data 01:55 Setting message: 01: 55 Connectivity problem reaching Share servers

ShareFollowCallback 01:55 Get Share Data Failed: java.io.EOFException: End of input at line 1 column 1 path $

ShareFollowDL 01:55 Interceptor Body size: 0 01:55 Session id appears valid so going direct to get data

I have the same issue: Navid200#146

@samgray85
Copy link

I can confirm this bug. I have created new dexcom account, now my sensor expired so I deleted dexcom app, installed again and created new account. All new dexcom accounts now have email as login. I have also completely reinstalled xDrip app and I am still getting error:

ShareFollowCallback 01:55 Get Share Data Failed: java.io.EOFException: End of input at line 1 column 1 path $

ShareFollowDL 01:55 Interceptor Body size: 0 01:55 Session id appears valid so going direct to get data 01:55 Setting message: 01: 55 Connectivity problem reaching Share servers

ShareFollowCallback 01:55 Get Share Data Failed: java.io.EOFException: End of input at line 1 column 1 path $

ShareFollowDL 01:55 Interceptor Body size: 0 01:55 Session id appears valid so going direct to get data

@fzelins and @psonnera did you have any luck resolving

@tolot27
Copy link
Collaborator

tolot27 commented Dec 19, 2021

I've fixed this issue and will create a PR soon. Still have to implement some tests for it.

tolot27 added a commit to tolot27/xDrip that referenced this issue Dec 21, 2021
Fixes NightscoutFoundation#1882 by pre-authentication. E-mail addresses as a usernames work with this method.
@samgray85
Copy link

I've fixed this issue and will create a PR soon. Still have to implement some tests for it.

Happy to test it for you if that helps

@sudzwerg80
Copy link

Hello same problem here.would test it too.
Steffen

@sudzwerg80
Copy link

Hello Tolot27,
how can we help to solve this thread.
i want to use xdrip but i have to uninstall dexcom g6 app what is not so good because of my doc.
can i build an apk with your fix on my own ? when yes how ?

@usernamebeep
Copy link

following since it's still not working..

@Navid200
Copy link
Collaborator

@tolot27 I have added email format as one of the accepted options and opened a PR:
#1974
I cannot test it because I don't have a Dex share account.

For all I know, you were going to release your fix any minute now. But, I have no idea.
I can close my PR if needed.

@Navid200
Copy link
Collaborator

Navid200 commented Jan 31, 2022

I have a feeling @tolot27's fix was a little more involved than adding the email format ...

Yes, you may be correct.
But, I don't know if you read my message.

"I cannot test this" is much more condemning than "this may not be as involved".
So, I don't know how else to clarify that this is just an attempt, and may absolutely be useless. It may just be forgotten, and I will be quite happy with that.

tolot27 added a commit that referenced this issue Jan 31, 2022
Fixes #1882 by pre-authentication. E-mail addresses as a usernames work with this method.
@tolot27
Copy link
Collaborator

tolot27 commented Jan 31, 2022

There are parents who cannot follow their children.

Maybe we can clarify this or you can help me to resolve a misunderstanding from my side. As far as I know, parents can still follow their children (with xDrip and Dexcom Follow) if they have created a Dexcom account with a nickname instead of an email address and using the Dexcom App or xDrip as collector. At least, I can follow my son.
At the time, Dexcom switched to email addresses as account names, only newly created user accounts are affected. Those new users/parents cannot switch from the Dexcom app to xDrip as collector and likely did not use xDrip before. If they had, they have likely used another share service like Nightscout and just discovered that xDrip also supports Dexcom Share. Those users/parents can still follow their children using these services.
To conclude and as it mentioned in the issues title, only new users are affected which like to use xDrip instead of Dexcom. Those users cannot switch yet.

Please comment only, if I'm wrong. Otherwise, give me a few more hours to work on an apk for testing.

@tolot27
Copy link
Collaborator

tolot27 commented Jan 31, 2022

A debug apk for testing can be downloaded: xDrip_20220131_b9d7a8027_dexPreAuth_debug.apk. Please be aware that it cannot be installed over the existing app. Hence, make a backup of settings and database before you uninstall it.

@samgray85
Copy link

samgray85 commented Feb 1, 2022

I did the same as @KillaOfDawn .

Unticked US (I'm Australia), entered share username and password - confirmed these still work by using them to log into clarity.

I am a newish dexcom user with an email address for a username

@tolot27
Copy link
Collaborator

tolot27 commented Feb 1, 2022

@KillaOfDawn @samgray85 Please can you set the extra logging tag "ShareFollowDL:v", force xDrip to stop (settings -> apps) and start it again. Then please have a look at the logs. There should be some entries from ShareFollowDL like "Creating instance for ...". Please post the URL or a screenshot. I need the first log entries after startup.

BTW: If you have some experience with adb and logcat, please let me know.

@samgray85
Copy link

samgray85 commented Feb 1, 2022

@tolot27 @KillaOfDawn

Mine is working now. Thank you

@samgray85
Copy link

samgray85 commented Feb 1, 2022

I just did what @tolot27 told me

Went:

  • xDrip Settings
  • Less common settings
  • Extra logging settings
  • Extra tags for logging
  • added: ShareFollowDL:v

Then went into my phone settings > apps > xDrip+ > Force Stop

Reopened xDrip and it worked

@tolot27
Copy link
Collaborator

tolot27 commented Feb 1, 2022

@KillaOfDawn Please can you verify your account data again? I suspect an error in either account name or password. Does it contain some special characters? In which country do you live? Maybe, your account is on the US server. Please can you try it?

I should be able to pick up instructions though if required :)

If you still cannot get it to work, I need the logcat output.

@sudzwerg80
Copy link

sudzwerg80 commented Feb 1, 2022

A debug apk for testing can be downloaded: xDrip_20220131_b9d7a8027_dexPreAuth_debug.apk. Please be aware that it cannot be installed over the existing app. Hence, make a backup of settings and database before you uninstall it.

it works on samsung s7

i am low sorry for that

@sudzwerg80
Copy link

thank you

@tolot27
Copy link
Collaborator

tolot27 commented Feb 1, 2022

I seemed to have set a password previously that was > 20 characters and this is likely what was causing it not to work. I reset the password and it all works now :)

I'll verify the password length. As far as I know, xDrip does not restrict its length but maybe Dexcom?

tolot27 added a commit that referenced this issue Feb 1, 2022
Fixes #1882 by pre-authentication. E-mail addresses as a usernames work with this method.
@cmarcosmoneo
Copy link

As additional info in case it can help, my username is not an email address but includes a dot in the middle.
I cannot use Xdrip+ since 30th November but I have tested this debug apk and it works fine.
So thank you so much for this and I am available of any further testing is needed.

@Navid200
Copy link
Collaborator

Navid200 commented Feb 9, 2022

@tolot27 Thanks for fixing this
Adding it to the release notes shortly.

tolot27 added a commit that referenced this issue Feb 9, 2022
Fixes #1882 by pre-authentication. E-mail addresses as a usernames work with this method.
@tolot27 tolot27 removed their assignment Apr 20, 2022
jwoglom pushed a commit to jwoglom/xDrip that referenced this issue Jun 27, 2022
Fixes NightscoutFoundation#1882 by pre-authentication. E-mail addresses as a usernames work with this method.
@alfiearthur
Copy link

Please, please, please can we incorporate this feature into the main Xdrip application? It's essential for European users and, at the moment, we have to switch off updates to prevent the feature being overwritten with the latest version. It's a life-saver for hypo-unaware Xdrip users outside the USA.

Thank you so much for developing it.

Alfie

@Navid200
Copy link
Collaborator

Navid200 commented Dec 1, 2022

@alfiearthur This was already merged. What is it that you want to be incorporated?
Can you be more specific plaease?

@alfiearthur
Copy link

alfiearthur commented Dec 2, 2022 via email

@jamorham
Copy link
Collaborator

jamorham commented Dec 2, 2022

Hi Rob,

Can you try with the latest released xDrip nightly? (See the releases section here)

The setting for which server to use can be found in the cloud upload section of xDrip main settings. The same server is used for upload/download. If you change settings it is also possible you need to go to xDrip status and restart the collector to start using the new settings.

Can you also describe your set up in terms of what is the configuration for your son's phone? Is it Android and if so which app are you running there? Which android version is your phone running as well?

@alfiearthur
Copy link

alfiearthur commented Dec 2, 2022 via email

@jamorham
Copy link
Collaborator

jamorham commented Dec 2, 2022

@alfiearthur I think if you've been having problems then the best way to resolve this is to install the latest nightly on both your son's phone and your own. If you are using the official manufacturer app on your son's phone then you can continue to do this and simply set up xDrip there in companion mode and it will run side by side. You can then make it an xDrip sync master and set your follower phone to be a follower and then you don't have to worry about any issues using dex share following. If you need any help with these steps I would suggest creating a discussion here instead of appending to this issue and describe what you need help with. The only real use case that I know of for dex share is if your follower/master is on another platform like apple.

@alfiearthur
Copy link

alfiearthur commented Dec 2, 2022 via email

@jamorham
Copy link
Collaborator

jamorham commented Dec 2, 2022

@alfiearthur xDrip has a native tidepool uploader so you can use that if you like.

@alfiearthur
Copy link

alfiearthur commented Dec 2, 2022 via email

@alfiearthur
Copy link

The l;atest nightly version does indeed include an option for non-USA servers. I found it here. Everything is now working fine.
Just trying to get Tidepool to catch up with you.

Many, many thanks for all your help,

Rob (and Alfie!)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
sync-dexcom Dexcom Share and Clarity
Projects
None yet
Development

Successfully merging a pull request may close this issue.

11 participants