Locked Out

Downloaded latest Testflight version, and as always it temporarily bricked my phone. Always requires a full hard reset. Not sure why this is?

Anyway, it logged me out and I’m now locked out. Emails are not coming through to sign back in.

And I’m back in! Email came through.

Hey Tom! Is this reproducible? Everytime you update you need to reset? :confused:

Yes - literally every time I’ve updated to the latest TestFlight, my phone becomes completely unresponsive and needs a power and home button hard reset to come back to life. I can’t think of any other occasions this happens. I’m also a The Guardian Testflight user and it doesn’t happen with that.

It’s rather odd innit.

:thinking: I can’t imagine why this would happen. Any ideas @james?

Wow, that’s crazy – new to me too! What model / OS version are you running?

It’s happened on 9.3.3/4/5. iPhone 6S.

Incidentally I’m logged out again and emails are not forthcoming.

I’m not using the TestFlight version, but I was logged out a couple of times earlier today. The email for the second occasion had quite a delay (upwards of 15 mins, I ended up just leaving it - staying logged out for an hour or so and coming back later).

Possibly some busy mail servers today?

Using the TestFlight build today I couldn’t stay logged in.

iOS10 public beta 5
iPhone 6S Plus

I could receive the email and get in, but once I force close the app I’m logged out.

Yep I’ve been kicked out again due to a “bad access token”.

Me too - bad token and logged out

Grilled this for ~15 minutes and found reproducible steps for the TestFlight logout issue.

Reproduction steps

  • Sign in as normal.
  • Push home button.
  • View the Today widget or cause it to refresh in any way.
  • Open the app.
  • Boom, bad access token, logged out.
    OR
  • Sign in to the app as normal and be viewing your feed.
  • Pull down notification centre.
  • Swipe across to the Today Widget, note that it shows the unregistered state.
  • Close notification centre.
  • Boom, bad access token, logged out. (If not, pull down the feed to refresh it.)

Notes
Occurs both over WiFi and 4G.
The App Store build (1.6.3 #256) is unaffected.

My setup
App ver: Monzo 1.6.3 #257

Device 1:
Device: iPhone 6s (A1688)
iOS ver: 10.0 b7 (14A5345a)

Device 2:
Device: iPhone 5 (A1429)
iOS ver: iOS 9.3.5 (13G36)

Workaround
Return to the App Store release or remove the Today Widget.


Additionally, I found what I believe is an iOS bug that I’ll file as a Radar where the device will lock up on tapping the email link from Apple Mail or Google Inbox seemingly at random. A watchdog does kick in after a full minute or two, restarting all the offending processes and throwing you back to the lock screen in the process.

4 Likes

Thanks Richard. Have disabled widget for now.

Hi guys,
I’ve also been having this issue - and my device has been locking up completely when tapping the email link.
There doesn’t seem to be an obvious way to use the in-app chat unless you are logged in, so there’s no way of contacting support. Maybe this could be looked in to?

Thanks
Kieran

Just to keep you folks updated, our focus today (and all week) is this issue. We’re looking at not just the logout bug itself, but at things like deliverability and fallback options for authentication.

Massive thanks to @RichardR and everyone else who’s been hunting down reproduction steps, I can’t tell you how much this means to us :heart:

So sorry again for this bug, hoping to have it corrected ASAP!

5 Likes

To add, I’ve stayed on 1.6.3 #257 from TestFlight with the Today Widget removed and I’m still experiencing logouts but only after multiple hours pass. In this case, I do not see the red logout screen on reopening the app. It appears that the logout happened a long time before I noticed as the app preview in the multi-tasking view no longer showed a blurred view of my last state but had shown either the M app launch image or the initial app signup/in state.

I suspect this has to do with some form of background app refresh so I have turned that off for the Monzo app and will report back if I get logged out in the next few hours. For reference, I’m using the iPhone 6s described in my previous report above except now with iOS 10 build 14A5346a.

Worth noting that the bad access token error is displayed when bouncing between two iOS devices, rather than the general_loggedOutElsewhere string I see in Mondo.strings in the Monzo.app bundle. Is that expected?

Also, FYI, my iOS 9.3.5 iPhone 5 isn’t too happy about the 302 redirect on the website for Universal Links. For some reason, my 6s on iOS 10 is taking it fine though. Not a huge issue as there is a graceful fallback page that opens in Safari and bumps the login tokens to the protocol handler instead.

swcd[182] <Notice>: 2016-08-31 04:02:13.653601 AM [SWC] ### Denying redirect 'https://getmondo.co.uk/apple-app-site-association' -> 'https://monzo.com/apple-app-site-association'

Apple’s developer docs do specify that the site association needs to be without redirects.

After you create the apple-app-site-association file, upload it to the root of your HTTPS web server or to the .well-known subdirectory. The file needs to be accessible via HTTPS—without any redirects—at https:///apple-app-site-association or https:///.well-known/apple-app-site-association.

Hopefully this doesn’t sound like I’m on a mission to break the app and point out every flaw, I’m just very bored practically watching server logs scroll by at 4:30am in the morning. :sweat_smile:

Update: Seeing as I have not been logged out in the hours after turning background app refresh off for just Monzo and confirming that other apps were background refreshing during this time, I have collected enough anecdotal evidence and fragments of iOS logging in the mean time to point the finger in that direction. For example, I logged in to Monzo around 20:37 last night while out, I remained logged in until returning home where I was logged out in some time between riding in the car up to my house and after I had eaten. In this time, the device connected to my home WiFi and was plugged in to power. These are three big triggers for a background refresh (location, WiFi and external power) and I was able to confirm that a refresh had occurred by using time stamps in downloaded data from another app.

Additionally, I have did not experience logouts yesterday when my device was in low power mode for most of the day. I was only logged out later in the day when I had connected the device to power and charged it above 80%, disabling low power mode automatically. As low power mode strictly limits background tasks, this is in support of the theory.

As an app from TestFlight or the store, I am unable to attach to the process in Xcode to force a background refresh so I can’t really test this further on my main account/device without it taking multiple days of changing location, network and power states!

Just had my first log out on 1.6.3 since installing it on the 1st Sep.

Only thing unusual that may have triggered it is that I got a Monzo notification and immediately swiped down into notification centre and opened it. I was greeted with a log in screen.