I've made some changes here to try to prevent this issue.
Ultimately, it's because Data Saver uses Google's servers as a proxy, so that's what we see as the IP. This IP changes from request to request which can cause sessions to be lost (as we do some IP checking for security purposes). A similar thing can happen with CloudFlare if you don't take steps to mitigate that.
I've made changes to our Request object to get the IP from what Google forwards to us if we can validate the request as coming from Data Saver. I've done a similar thing with CloudFlare, as that's a more common issue (though one server admins can workaround, unlike Data Saver).
Ultimately, it's because Data Saver uses Google's servers as a proxy, so that's what we see as the IP. This IP changes from request to request which can cause sessions to be lost (as we do some IP checking for security purposes). A similar thing can happen with CloudFlare if you don't take steps to mitigate that.
I've made changes to our Request object to get the IP from what Google forwards to us if we can validate the request as coming from Data Saver. I've done a similar thing with CloudFlare, as that's a more common issue (though one server admins can workaround, unlike Data Saver).