For months (years?), we've seen occasional reports of players on their second day saying that their Dailies haven't reset. I.e., cron did not run (or did not run fully) at the time that they started using Habitica on their second day. It always seems to clear itself up on the third day.
I'm logging this now because I've realised (thanks to Il Mago mentioning this) that we don't have an issue for it. :(
I'm not sure if its a website or app or api issue but now that this is logged we can start recording examples of it.
One possible cause would be the website/app not recording the user's time zone correctly when they create their account - e.g.:
{
"_id": "f734ea5f-a3ad-4d11-90c7-452132bbff1c",
"auth": {
"timestamps": {
"created": "2018-07-22T07:47:04.111Z",
"loggedin": "2018-07-23T01:21:41.565Z"
}
},
"preferences": {
"dayStart": 7,
"timezoneOffset": -480,
"sleep": false,
"timezoneOffsetAtLastCron": 0
},
BUT that same symptom can be caused by the user using a VPN or two devices with different zones configured or just from coincidentally updating their PC's/app's time zone setting after joining Habitica.
How do we can deal with the affected users? Send them to the Report a Bug guild? Make a list? Or just tell them, "I'm sorry, tomorrow everything should be fine, if not Report it"?
Probably the best way is to tell them something like this (feel free to use your own words):
_Everything should be fine tomorrow but if it isn't, definitely report it in the Report a Bug guild then! Also, if you'd like to help us work out why this happens to some new players, we'd love it if you could post to the Report a Bug guild today to tell us it's happened to you, and say whether you're using the website and/or iOS app and/or Android app (if you use more than one, it would be great to know about all of them). You can reach that guild from the Help menu on the website or the Guilds menu item on the mobile app (you'll find it in the "Public Guilds" section - search for the word "bug" and it will appear straight away)._
@Ieahleen Thank you for asking :) <3
Here's cron-related data for a player with this bug who posted to the Tavern (Il Mago / Ieahlean replied to them with the new words so we'll get more info if they do post to the bug guild):
{
"_id": "794296ab-3cf5-4a77-b205-9d9eba05b568",
"auth": {
"timestamps": {
"created": "2018-07-24T10:18:05.586Z",
"loggedin": "2018-07-24T10:18:05.586Z"
}
},
"lastCron": "2018-07-24T12:26:36.559Z"
"flags": {
"cronCount": 0
},
"preferences": {
"dayStart": 11,
"timezoneOffset": 0, // Amplitude's data indicates this is not their actual time zone
// "timezoneOffsetAtLastCron" is not present
"sleep": false
},
"loginIncentives": 0,
// "needsCron" is not present
"pushDevices": [
{
"regId": "....",
"type": "ios",
"createdAt": "2018-07-24T10:18:07.834Z",
"updatedAt": "2018-07-25T09:15:50.485Z"
}
],
}
This shows they're using iOS and from what I'm seeing in Amplitude they're not also using the website (although maybe that's not certain since that data might be suppressed by the user's browser settings/extensions).
Their time zone has not been recorded correctly. From memory, I've noticed that in other cases in the past and this could be the explanation for this bug since the timing of cron is controlled by the user's time zone. _(Related: there's an iOS user who's emailed us with Dailies scheduling problems who is not a new user but has recently changed zones and it's looking like the iOS app has not picked up their new zone - it's showing 0 instead of the non-zero value it should have)._
The time zone is something that must be passed from the client, be it the website or the mobile apps. So it's possible the iOS app isn't sending it anymore at signup / when it changes. Cc @phillipthelen
There were time zone changes in the iOS app in the past three weeks:
https://github.com/HabitRPG/habitica-ios/commit/cdee47ffd5c2c91b35122534d02d009a37fd7dcf
https://github.com/HabitRPG/habitica-ios/commit/8e7541ac95e11792959c8e8c42dbfa4f506c7502
I'm guessing they might have fixed this bug.
@shanaqui @SabreCat (and me) : if we see any more reports of players on their second day saying that their Dailies haven't reset, can you mention them here? If we don't see any reports in a reasonable time frame, we could consider this fixed.
@Ieahleen and @citrusella : Of course you're under no obligation to help monitor this, so please don't feel you have to consider it, but if you do notice any new users reporting Dailies not resetting and if you feel like copying their posts here, your help would be most welcome!
Seen a report in the Tavern today:
Rose nightingale (5b29733c-04eb-4ea2-a768-be1a5cc0fc51)
I'm new to habitica and set it up yesterday but now my daily won't reset
@shanaqui do you know what device they are on?
@TheHollidayInn I asked (or rather, I forgot to press post on my question and have now asked), but I don't know if they'll see it, given it's in the Tavern. :(
Thanks! And no worries if they don't :)
Cron-related data for that player is below. Note that lastCron is different than auth.timestamps.loggedin, which can be a sign of cron starting but not completing. Amplitude says iOS 2.0.4
{
"_id": "5b29733c-04eb-4ea2-a768-be1a5cc0fc51",
"auth": {
"timestamps": {
"created": "2018-08-16T02:02:00.733Z",
"loggedin": "2018-08-16T02:02:00.733Z"
}
},
"lastCron": "2018-08-16T14:05:46.452Z",
"loginIncentives": 0,
"flags": {
"cronCount": 0
},
"preferences": {
"dayStart": 0,
"timezoneOffset": 300,
// "timezoneOffsetAtLastCron" does not exist
"sleep": true
},
}
Thank you!
Another one on iOS today in admin inbox. They removed the section giving their UUID though, so that's not much help.
I just created an account on the website and immediately checked its time zone settings in the database:
"preferences": {
"timezoneOffset": -600,
// "timezoneOffsetAtLastCron" is missing, which is correct in a new account
},
I then forced cron to run by changing lastCron to 24 hours ago and reloading the website (this produces the same effect as waiting a day). The time zone settings were then:
"preferences": {
"timezoneOffset": -600,
"timezoneOffsetAtLastCron": -600
},
So that's the expected and correct behaviour. If a new account created on the iOS app shows different data, there's a problem.
I suspect this does not occur for all new accounts made on iOS otherwise we'd hear about it more often.
For new accounts in general, if you see the time zone being recorded as 0, check in Amplitude to see if it's because they are actually at UTC or because the zone has been recorded incorrectly.
Hi , Today's was my 4th day in Habitica and my Cron didn't happen. It's feels great to know that it will be alright tomorrow.
@Alys How are you able to change the value of lastcron ?
My user ID - @Sarvesh_Thiruppathi
Based on all evidence to date, this has been specific to iOS and we're monitoring the issue there. Closing for habitica-web.