-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Desktop - Automatically-set time zones don't update when you change time zones (pay on 9/8) #4517
Comments
Triggered auto assignment to @TomatoToaster ( |
Looks good, I think this could easily be categorized as external. I think one possible way to solve this could be similar to the |
Triggered auto assignment to @bfitzexpensify ( |
Hello, Currently the code responsible for automatic time zone updates is being executed only once during route initialization. (and on actual setting change). To make it so it is updated automatically without restart, normally I would create a A tl;dr is to create an event listener for user activity ( I think if we introduce that we shouldn't need the old implementation. |
Triggered auto assignment to @thienlnam ( |
The proposal sounds solid, I took a look at your PR https://github.com/Expensify/App/pull/3573/files and agree a similar solution here could work for that as well. As for removing the old implementation, we might want to keep that for a timezone change when the app is initialized |
@bfitzexpensify Could you please hire @dklymenk in UpWork? |
I meant that since the newly implemented check would happen immediately on the first interaction with the app anyway, why should we keep the old redundant implementation. Anyway, I will need to get my hands dirty first and make some tests to make sure removing it doesn't break anything. |
@dklymenk 👍 sounds good, had a brain freeze for a bit but yeah I agree |
@thienlnam, @bfitzexpensify, @dklymenk Huh... This is 4 days overdue. Who can take care of this? |
Sorry, waiting for contract to start. |
My bad @dklymenk! Thought I had hired you in Upwork. That should be done now. |
Yep, got the offer. Thanks. |
Hello @thienlnam . I have a few questions.
|
2/3. Let's do an investigation of what this feature would look like on native devices and see where to go from there
|
Ah yeah, I have context. Back in January when we were first building E.cash/New Expensify we only passed the timezone name (e.g. We even had a migration for it, though it ended up causing some issues and we reverted it - opting instead to implement that check to determine if it was an object or not. It's been months since we moved to passing the timezone as an object, so I'd say we're probably ok to remove that check. |
There aren't that many options when it comes to truly cross-platform solutions, especially if we are not using a Sadly I couldn't find anything worthwhile when looking for some kind of global user activity event listeners for react native. The obvious approach is to try and wrap the app in However, I believe there are much better and cleaner solutions than using global user activity here. On native, for example, we can use Another potential trick we can do is run the throttled function on some events like message send or profile settings open, since that's where you will see your currently selected timezone. This one is actually cross platform too. So to summarize, here are the options:
While none of these are great, we are not forced to rely on just one. I think a good overall solution would be to use the already implemented 1 in combination with 5. It should cover all the potential issues and potential user discomforts especially if we don't throttle the function on profile settings open to make sure that if you open them you are guaranteed to see an up-to-date timezone there. |
@dklymenk Thanks for the great write-up! I agree with you having a combination of 1 and 5 here will cover enough cases and is the closest thing the cross-platform we can get here. Let's go ahead with that solution |
Hello. the PR is ready. #4799 One potential point of contention is the throttle time I use for the "on message send" trigger. I put it at 5 minutes because I don't want it to be checked on every other message, but also want to make sure it's as up-to-date as possible. |
@thienlnam, @bfitzexpensify, @dklymenk Whoops! This issue is 2 days overdue. Let's get this updated quick! |
Been focused on internal projects but just got around to reviewing this - changes look good! |
Sitting with Tyler for review. |
…ally #4517 update timezone on user activity
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
🚀 Deployed to staging by @tylerkaraszewski in version: 1.0.89-0 🚀
|
🚀 Deployed to production by @roryabraham in version: 1.0.90-2 🚀
|
@thienlnam, @bfitzexpensify, @dklymenk Huh... This is 4 days overdue. Who can take care of this? |
Deployed 7 days ago, no issues, paid out and ended the contract. Thanks @dklymenk! |
If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!
Action Performed:
Easy mode 🟢
Very hard and expensive mode 🔴
Expected Result:
Time zone should update automatically without the need of closing and reopening the app.
Actual Result:
Time zone is not updated automatically. User has to close and reopen for the time zone to update.
Workaround:
User has to close and reopen for the time zone to update.
Platform:
Where is this issue occurring?
Version Number: 1.0.83-0
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
Expensify/Expensify Issue URL:
View all open jobs on Upwork
From @roryabraham https://expensify.slack.com/archives/C01GTK53T8Q/p1628522723109900
The text was updated successfully, but these errors were encountered: