User manual: mobile credentials

Jan Mulder jlmulder at xs4all.nl
Mon Oct 9 09:57:41 PDT 2017


On 09-10-17 17:13, Dirk Hohndel wrote:
> 
> 
> On October 9, 2017 7:17:39 AM PDT, Jan Mulder <jlmulder at xs4all.nl> wrote:
>> On 09-10-17 15:03, Dirk Hohndel wrote:
>>> Jan, I have the issue that for one my accounts I deleted all the
>> dives from the repo, force pushed to the server, deleted the local
>> storage on the phone (going to have an empty dive list to do more
>> download tests against...) and now I get shown the PIN message even
>> though the account exists and is verified...
>>>
>>> "0.708: Synchronising data file"
>>> "1.016: AppState changed to active with save ongoing and no unsaved
>> changes"
>>> "1.639: loading dives from cache failed -1"
>>> "1.645: have cloud credentials, but still needs PIN"
>>> "1.646: have cloud credentials, but user asked not to connect to
>> network"
>>>
>>> This may be a weird case with an unexpected error, but I figured I'd
>> mention it...
>>
>> Tried to reproduce this ... and did not succeed.
>>
>> Maybe that's related to "deleted the local storage on the phone". On my
>>
>> rooted phone, I just use adb shell, get root privs, cd
>> /data/data/org.subsurfacedivelog.mobile/files/cloudstorage and simply
>> rm
>> -rf <the cloud hash for the used account>. After this, when I start the
>>
>> app again, that local git repo is re-created.
>>
>> But unsure that you delete the local storage the same way?
>>
>> This all said, for rooted phones it is probably not difficult to mess
>> with data that makes the app unhappy.
> 
> The phone isn't rooted... so I used Android Settings - Apps - picked Subsurface-mobile and then cleared the storage
> 
> As I said, likely a silly corner case, but I at least wanted to send it. I'll try to look at the code to see which error triggers this

The error comes from QMLManager::openLocalThenRemote(). It fails to open 
the local git repo, but as we only get here with known credentials it 
further assumes that the PIN fase has not been passed yet (as that is 
the moment the local git repo is created). This is obviously a wrong 
assumption in your case.

There is something special in your logging. It says "0.708: 
Synchronising data file", which has a very early timestamp during the 
run. When I clear my app data, on the way you do, I land on the first 
credential page to enter my email/passwd. This is logical, as the 
settings are stored in the data as well, so entering this is needed. And 
the Synchronising message in the log comes after "sign-on or register". 
So, what is weird is that you seem to be able to enter your credentials 
in less than 0.708 seconds ... where it costs me at least 20 seconds to 
enter my credentials.

--jan



More information about the subsurface mailing list