-
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
[HOLD for payment 2023-03-01] [$4000] Few currency symbols (specially symbols after WST) are not correctly displayed on mWeb chrome on android #14307
Comments
Triggered auto assignment to @slafortune ( |
Bug0 Triage ChecklistNote: see this SO for more information.
|
Is this something that could be fixed by an external contributor @techievivek ? |
Looking into now. |
Weird. It just seems to be happening on Chrome(Android). This can be worked externally. |
Job added to Upwork: https://www.upwork.com/jobs/~01c6b2d46695b607ed |
Current assignee @slafortune is eligible for the External assigner, not assigning anyone new. |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @mananjadhav ( |
Current assignee @techievivek is eligible for the External assigner, not assigning anyone new. |
ProposalRCAThe root cause behind this issue is the different implementation of As can be seen, the value of the By default, the SolutionSolution 1Instead of using Intl polyfills in just native android apps, as done in #2208, we can use the polyfills for all platforms. This would ensure that the behaviour is consistent across platforms. This is the best solution since after internationalization, the amount of potential differences between cross platforms might increase. Codediff --git a/src/setup/index.js b/src/setup/index.js
index 7cf509e1e3..6f4d454d7d 100644
--- a/src/setup/index.js
+++ b/src/setup/index.js
@@ -4,6 +4,14 @@ import ONYXKEYS from '../ONYXKEYS';
import CONST from '../CONST';
import platformSetup from './platformSetup';
import * as Metrics from '../libs/Metrics';
+import '@formatjs/intl-getcanonicallocales/polyfill';
+import '@formatjs/intl-locale/polyfill';
+import '@formatjs/intl-pluralrules/polyfill';
+import '@formatjs/intl-numberformat/polyfill';
+
+// Load en & es Locale data
+import '@formatjs/intl-numberformat/locale-data/en';
+import '@formatjs/intl-numberformat/locale-data/es';
export default function () {
/*
diff --git a/src/setup/platformSetup/index.native.js b/src/setup/platformSetup/index.native.js
index 89cdb9892e..2ffbdcb036 100644
--- a/src/setup/platformSetup/index.native.js
+++ b/src/setup/platformSetup/index.native.js
@@ -4,16 +4,6 @@ import PushNotification from '../../libs/Notification/PushNotification';
import * as Report from '../../libs/actions/Report';
import Performance from '../../libs/Performance';
-// we only need polyfills for Mobile.
-import '@formatjs/intl-getcanonicallocales/polyfill';
-import '@formatjs/intl-locale/polyfill';
-import '@formatjs/intl-pluralrules/polyfill';
-import '@formatjs/intl-numberformat/polyfill';
-
-// Load en & es Locale data
-import '@formatjs/intl-numberformat/locale-data/en';
-import '@formatjs/intl-numberformat/locale-data/es';
-
export default function () {
// We do not want to send crash reports if we are on a locally built release version of the app.
// Crashlytics is disabled by default for debug builds, but not local release builds so we are using Results2023-01-24.15-10-23.mp4Solution 2The only implementation of If possible, I would like to take a look at the source code of Solution 3We can simply let this remain as is and not do anything. In the current issue only, the currencies being impacted are relatively less used (i think). |
Great work @Prince-Mendiratta, loved the breakdown that you posted above. CC @mananjadhav do you mind reviewing the above proposal? IMO I would say solution 1 would be the best here, but curious to hear your thoughts and understand why we never used polyfill for all the platforms. Is it because we only see a need for it now? |
@techievivek I think we should post this on the slack? Quick read I agree with Solution 1, but I am not sure why we didn't use polyfills. Also IIRC (I could be wrong), we had polyfills earlier? and we removed them later? Hence better we check on Slack? |
Discussing here: https://expensify.slack.com/archives/C01GTK53T8Q/p1675152607405109 |
BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:
|
Regression test proposalTo be repeated for all platforms:
Repeat the above test for the following currencies and ensure that all are displayed correctly:
|
@Prince-Mendiratta Minor suggestions/edits.
@techievivek @Prince-Mendiratta Do we agree 👍 or 👎 Also I don't think we have a PR to be linked as it is a missing Intl locale data specific to a platform. |
@mananjadhav I support the edits, just to state a relevant detail - The only time the locale data is accessed is when it is selected from the currency list. The currency symbol displayed in the IOU transaction screen is just the string passed around. |
Agreed. Just for the sake of completing the whole workflow. |
@techievivek Quick bump on this one. |
@techievivek did you get a chance to look at the test steps? @slafortune this is ready for payout today and wanted to confirm that the PR was merged within 3 business days (excluding weekends), so hoping it is eligible for the timeline bonus. |
@mananjadhav Yeah, it looks good to me. How do we go about adding it? Any idea? |
I am not sure. I did see a post on C+ channel about Testrail, but I have never done it here.
Based on the checklist, I think @slafortune can help here. |
Hired @mananjadhav (and paid) , @Prince-Mendiratta , and dhanashree-sawant (who I can't tag and don't know why!) Will look at the regression steps on Monday! |
Not overdue, @slafortune will add the regression steps today. |
Hiya @slafortune, any updates on this one? |
Gentle bump @slafortune to get the regression test added to the testRail. |
Sorry for my delay everyone - done! |
@slafortune Hi, I haven't received the payment yet, can you please recheck once? Just reminding, I believe this issue is eligible for timeline bonus too! Thanks! |
Hi @slafortune , same for me too, recieved the contract but milestone still pending to be approved. |
Hmm- I did receive an error but it appeared to go through - let me check! |
Hi @slafortune, can you check once you are back to work? |
Alright - not sure what I messed up to start with, but looks like we should be good now! Shout if that isn't the case @dhanashree-sawant @Prince-Mendiratta |
Hi @slafortune , all good, thanks for payment. |
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Action Performed:
Expected Result:
Symbol for XAF should be FCFA, XCD symbol should be EC$, XOF symbol should be CFA and XPF symbol should be CFPF
Actual Result:
Symbols are not correctly displayed, they are same as name of currency for XAF, XCD, XOF, XPF on mWeb chrome android
Workaround:
unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: 1.2.54-2
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
mWeb.chrome.currency.issue.mp4
az_recorder_20230113_173715.mp4
Expensify/Expensify Issue URL:
Issue reported by: @dhanashree-sawant
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1673630821293879
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: