Add DateTimeFormat polyfills with timezone abbreviations#31074
Add DateTimeFormat polyfills with timezone abbreviations#31074pecanoro merged 16 commits intoExpensify:mainfrom
DateTimeFormat polyfills with timezone abbreviations#31074Conversation
DateTimeFormat polyfillsDateTimeFormat polyfills with timezone abbreviations
|
@situchan Don't forget to review this PR asap |
|
@situchan Still waiting for your review. |
|
@situchan It's been 2 weeks, please review asap! |
|
Auto-assigning the review so I can follow the progress and I can make sure it gets reviewed. |
|
reviewing |
| let currentTimezone = timezone.automatic ? Intl.DateTimeFormat().resolvedOptions().timeZone : timezone.selected; | ||
| if (currentTimezone in tzLinks) { | ||
| currentTimezone = tzLinks[currentTimezone]; | ||
| } |
There was a problem hiding this comment.
Can we reuse DateUtils.getCurrentTimezone() without connecting Onyx here unless it causes cyclic dependency?
|
Timezone is not updated automatically after turning on "Automatically determine your location" web2-bug.movI think this can be out of scope as already happens on main |
Reviewer Checklist
Screenshots/VideosAndroid: Nativeandroid.movAndroid: mWeb Chromemchrome.moviOS: Nativeios.moviOS: mWeb Safarimsafari.movMacOS: Chrome / Safariweb1.movMacOS: Desktopdesktop.mov |
|
Performance tests are failing. It's random so let's see if success after pull main |
|
@pecanoro Please review. |
|
Sorry @tienifr I was on vacation last week, I will review it today!! |
| PST8PDT: 'America/Los_Angeles', | ||
| WET: 'Europe/Lisbon', | ||
| }; | ||
| /* eslint-disable @typescript-eslint/naming-convention */ |
There was a problem hiding this comment.
Did you mean eslint-enable here?
There was a problem hiding this comment.
@tienifr Friendly bump! Maybe I am missing something haha
There was a problem hiding this comment.
You're right! I've updated.
|
✋ 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 https://github.com/pecanoro in version: 1.4.24-0 🚀
|
|
🚀 Deployed to production by https://github.com/thienlnam in version: 1.4.24-3 🚀
|
| currentTimezone = tzLinks[currentTimezone]; | ||
| } | ||
|
|
||
| require('@formatjs/intl-datetimeformat/polyfill-force'); |
There was a problem hiding this comment.
@tienifr Can you address this comment: #34035 (comment)
There was a problem hiding this comment.
I have replied on the other issue #34035 (comment)
Details
Add
DateTimeFormatpolyfills to support backward timezones and display them as modern, canonicalized timezone names. This PR adds support for timezone abbreviations which was not covered in #29113.Fixed Issues
$ #27392
PROPOSAL: #27392 (comment)
Tests
How to change local timezone
MacOS
Chrome (or Chormium-based browsers) on MacOS Sonoma is failing to retrieve timezone. Reported issue here: https://support.google.com/chrome/thread/231926653/timezone-return-undefined. So if you're using Mac Sonoma, please use Safari for testing; or use other Mac OS versions.
iOS
MacOS's timezone settings also applies to simulator. For physical device:
Android
Set automaticallyTest steps
Automatic timezone detection requires app restart/refresh to take effects.
All platforms
Kolkata - IndiaAsia/KolkataHanoi - Vietnamcity and verifyAsia/Ho_Chi_MinhtimezoneMore for iOS
Asia/Ho_Chi_Minhon WebOffline tests
NA
QA Steps
Same as Tests
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)myBool && <MyComponent />.src/languages/*files and using the translation methodWaiting for Copylabel for a copy review on the original GH to get the correct copy.STYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)/** comment above it */thisare necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);ifthis.submitis never passed to a component event handler likeonClick)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop