Skip to content
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

Hide replace option for the request that cannot edit #28373

Merged
merged 6 commits into from
Oct 4, 2023

Conversation

dukenv0307
Copy link
Contributor

@dukenv0307 dukenv0307 commented Sep 28, 2023

Details

We hide replace option in attachment modal of receipt if the request cannot be edited

Fixed Issues

$ #27965
PROPOSAL: #27965 (comment)

Tests

  1. Login with user A and open chat report with user B
  2. Create a scan request with user B
  3. From user A, open the receipt preview and click on three dot item
  4. From user B, pay elsewhere this request
  5. Verify that the replace option is hidden
  • Verify that no errors appear in the JS console

Offline tests

None

QA Steps

  1. Login with user A and open chat report with user B
  2. Create a scan request with user B
  3. From user A, open the receipt preview and click on three dot item
  4. From user B, pay elsewhere this request
  5. Verify that the replace option is hidden
  • Verify that no errors appear in the JS console

PR Author Checklist

  • I linked the correct issue in the ### Fixed Issues section above
  • I wrote clear testing steps that cover the changes made in this PR
    • I added steps for local testing in the Tests section
    • I added steps for the expected offline behavior in the Offline steps section
    • I added steps for Staging and/or Production testing in the QA steps section
    • I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
    • I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
    • I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).
  • I included screenshots or videos for tests on all platforms
  • I ran the tests on all platforms & verified they passed on:
    • Android / native
    • Android / Chrome
    • iOS / native
    • iOS / Safari
    • MacOS / Chrome / Safari
    • MacOS / Desktop
  • I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
  • I followed proper code patterns (see Reviewing the code)
    • I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
    • I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
    • I verified that comments were added to code that is not self explanatory
    • I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
    • I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
      • If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:
    • I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
    • I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
    • I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
    • I verified the JSDocs style guidelines (in STYLE.md) were followed
  • If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
  • I followed the guidelines as stated in the Review Guidelines
  • I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
  • I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
  • I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
  • I verified that if a function's arguments changed that all usages have also been updated correctly
  • If a new component is created I verified that:
    • A similar component doesn't exist in the codebase
    • All props are defined accurately and each prop has a /** comment above it */
    • The file is named correctly
    • The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
    • The only data being stored in the state is data necessary for rendering and nothing else
    • If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
    • For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
    • Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
    • All JSX used for rendering exists in the render method
    • The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions
  • If any new file was added I verified that:
    • The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory
  • If a new CSS style is added I verified that:
    • A similar style doesn't already exist
    • The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))
  • If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
  • If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
  • If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
  • If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
  • If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
  • If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
  • I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
Screen.Recording.2023-09-28.at.15.24.07.mov
Mobile Web - Chrome
Screen.Recording.2023-09-28.at.15.32.50.mov
Mobile Web - Safari
Screen.Recording.2023-09-28.at.15.36.47.mov
Desktop
Screen.Recording.2023-09-28.at.16.32.38.mov
iOS
Screen.Recording.2023-09-28.at.16.02.53.mov
Android
27965.webm

@dukenv0307 dukenv0307 marked this pull request as ready for review September 28, 2023 09:36
@dukenv0307 dukenv0307 requested a review from a team as a code owner September 28, 2023 09:36
@melvin-bot melvin-bot bot requested review from burczu and removed request for a team September 28, 2023 09:36
@melvin-bot
Copy link

melvin-bot bot commented Sep 28, 2023

@burczu Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

@burczu
Copy link
Contributor

burczu commented Sep 29, 2023

Reviewer Checklist

  • I have verified the author checklist is complete (all boxes are checked off).
  • I verified the correct issue is linked in the ### Fixed Issues section above
  • I verified testing steps are clear and they cover the changes made in this PR
    • I verified the steps for local testing are in the Tests section
    • I verified the steps for Staging and/or Production testing are in the QA steps section
    • I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
    • I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
  • I checked that screenshots or videos are included for tests on all platforms
  • I included screenshots or videos for tests on all platforms
  • I verified tests pass on all platforms & I tested again on:
    • Android / native
    • Android / Chrome
    • iOS / native
    • iOS / Safari
    • MacOS / Chrome / Safari
    • MacOS / Desktop
  • If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
  • I verified proper code patterns were followed (see Reviewing the code)
    • I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
    • I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
    • I verified that comments were added to code that is not self explanatory
    • I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
    • I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
    • I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
    • I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
    • I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
    • I verified the JSDocs style guidelines (in STYLE.md) were followed
  • If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
  • I verified that this PR follows the guidelines as stated in the Review Guidelines
  • I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
  • I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
  • I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
  • If a new component is created I verified that:
    • A similar component doesn't exist in the codebase
    • All props are defined accurately and each prop has a /** comment above it */
    • The file is named correctly
    • The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
    • The only data being stored in the state is data necessary for rendering and nothing else
    • For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
    • Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
    • All JSX used for rendering exists in the render method
    • The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions
  • If any new file was added I verified that:
    • The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory
  • If a new CSS style is added I verified that:
    • A similar style doesn't already exist
    • The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)
  • If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
  • If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
  • If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
  • If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
  • If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
  • If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
  • I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
28373-web.mov
Mobile Web - Chrome
28373-web-chrome.mov
Mobile Web - Safari
28373-web-safari.mov
Desktop
28373-desktop.mov
iOS
28373-ios.mov
Android
28373-android.mov

@burczu
Copy link
Contributor

burczu commented Sep 29, 2023

@dukenv0307 I successfully tested on web but I'm struggling with other devices (ios and android so far) - I'm getting some errors while trying to request money using scan - please take a look at the video below:

Screen.Recording.2023-09-29.at.13.15.00.mov

I guess it may not be related to your changes but can you take a look? Maybe syncing with main will help?

@dukenv0307
Copy link
Contributor Author

dukenv0307 commented Sep 29, 2023

@burczu This is an Onyx issue. Please merge the newest main and npm i again.

Copy link
Contributor

@burczu burczu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@melvin-bot melvin-bot bot requested a review from Li357 October 2, 2023 08:24
@dukenv0307
Copy link
Contributor Author

@Li357 Please help to review the PR when you have a chance.

@Li357 Li357 merged commit e325541 into Expensify:main Oct 4, 2023
14 checks passed
@OSBotify
Copy link
Contributor

OSBotify commented Oct 4, 2023

✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

@github-actions github-actions bot added the DeployBlockerCash This issue or pull request should block deployment label Oct 4, 2023
@github-actions
Copy link
Contributor

github-actions bot commented Oct 4, 2023

Performance Comparison Report 📊

Significant Changes To Duration

Name Duration
App start TTI 1281.684 ms → 1379.184 ms (+97.500 ms, +7.6%) 🔴
App start runJsBundle 894.198 ms → 957.582 ms (+63.385 ms, +7.1%) 🔴
Show details
Name Duration
App start TTI Baseline
Mean: 1281.684 ms
Stdev: 38.502 ms (3.0%)
Runs: 1185.586086999625 1198.895312000066 1216.2319029998034 1218.5296630002558 1222.6773870000616 1227.229019000195 1228.7261490002275 1229.058191999793 1232.8148670000955 1235.9553680000827 1238.4018799997866 1244.4066559998319 1244.4254790004343 1247.0876580001786 1247.419511999935 1247.9845829997212 1248.6233019996434 1249.787316000089 1250.3863730002195 1252.238136 1255.1401429995894 1255.2472590003163 1256.851803000085 1257.131626999937 1258.198935000226 1260.3446150003 1260.616720999591 1261.493591999635 1261.8701109997928 1262.42650400009 1262.7063840003684 1263.8729229997844 1264.970831000246 1267.3327869996428 1267.8732939995825 1267.9983090003952 1268.9570739995688 1268.9678360000253 1271.7255170000717 1273.2233170000836 1274.6987880002707 1279.3899320000783 1279.4487460004166 1279.9898229995742 1281.9357820004225 1282.6564870001748 1283.640964999795 1284.2211030004546 1286.9095750004053 1288.3490979997441 1288.3657510001212 1289.3894830001518 1289.953227000311 1290.5546960001811 1291.125610999763 1291.700463999994 1295.336965999566 1296.031015000306 1296.515625 1296.983612000011 1300.6259709997103 1304.957604999654 1306.538479999639 1306.9077220000327 1307.6287200003862 1308.6290009999648 1308.8605100000277 1308.9986640000716 1309.717078000307 1313.4176059998572 1316.3655319996178 1317.1400480000302 1320.3978890003636 1324.1552330004051 1325.7706429995596 1325.941321999766 1326.9965279996395 1330.3093560002744 1331.1304310001433 1335.6959790000692 1340.106017000042 1340.2496260004118 1341.9036720003933 1349.8966640001163 1370.7057969998568 1375.1260080002248 1377.7229960002005

Current
Mean: 1379.184 ms
Stdev: 65.112 ms (4.7%)
Runs: 1212.283184000291 1218.025410999544 1252.9368719998747 1258.2326950002462 1271.9702909998596 1276.1775200003758 1288.2498530000448 1289.2011479996145 1296.4571139998734 1297.2533170003444 1298.1641149995849 1303.2707479996607 1305.5118680000305 1309.036044999957 1309.2987390002236 1311.4860060000792 1312.1500949999318 1312.4461510004476 1317.3962230002508 1324.2568110004067 1325.0306169996038 1327.9237329997122 1330.6100540002808 1334.5583979999647 1335.487812999636 1337.204385000281 1341.5439600003883 1342.5819140002131 1343.9002879997715 1351.4639259995893 1351.6507789995521 1352.0945950001478 1355.5968519998714 1360.313552999869 1364.1011859998107 1365.351311000064 1365.3927929997444 1366.804604999721 1366.8845469998196 1367.7301089996472 1371.3631210001186 1372.9138399995863 1378.779926000163 1380.103866999969 1384.519914000295 1385.0646010003984 1386.3389200000092 1391.7022810000926 1393.2062419997528 1393.3682899996638 1393.664261000231 1394.5437009995803 1397.8067279998213 1397.8476430000737 1399.8062720000744 1400.8169729998335 1402.5822310000658 1406.69820300024 1408.3764669997618 1408.9646810004488 1410.6750590000302 1413.9551160000265 1414.4337250003591 1415.8809329997748 1420.7571310000494 1422.775502000004 1422.857479000464 1422.889306999743 1430.461188999936 1431.801675999537 1435.7591490000486 1437.1419190000743 1437.4269819995388 1439.4376240000129 1439.8221909999847 1442.1900279996917 1443.555931000039 1444.6527639999986 1445.3539659995586 1452.5153130004182 1452.9976310003549 1453.5542890001088 1457.5568829998374 1466.645312000066 1474.483211999759 1480.7765180002898 1489.0824429998174 1491.5907939998433 1498.1348179997876 1508.64853399992 1509.3888689996675
App start runJsBundle Baseline
Mean: 894.198 ms
Stdev: 27.555 ms (3.1%)
Runs: 829 831 846 849 850 852 854 857 858 862 864 866 866 867 867 868 868 872 873 874 874 874 876 877 878 879 879 880 880 881 883 884 885 885 886 886 888 889 891 892 893 893 894 894 895 897 898 898 899 900 900 902 902 903 903 904 904 905 905 907 908 908 910 912 912 912 913 916 916 917 917 918 921 925 928 929 929 932 932 938 942 942 944 952 953 959

Current
Mean: 957.582 ms
Stdev: 49.810 ms (5.2%)
Runs: 833 841 854 875 879 882 893 894 895 895 896 896 905 906 907 909 909 911 912 912 915 917 918 918 919 923 931 932 933 935 935 937 939 940 941 949 949 951 951 955 955 957 957 958 959 961 962 963 963 964 965 967 968 969 971 971 971 975 979 982 982 985 986 989 989 989 989 990 992 995 998 999 1000 1001 1002 1002 1003 1005 1006 1007 1010 1011 1011 1024 1029 1032 1035 1048 1067 1072 1083

Meaningless Changes To Duration

Show entries
Name Duration
Open Search Page TTI 624.704 ms → 637.678 ms (+12.973 ms, +2.1%)
App start nativeLaunch 20.718 ms → 23.222 ms (+2.505 ms, +12.1%)
App start regularAppStart 0.019 ms → 0.016 ms (-0.003 ms, -13.4%)
Show details
Name Duration
Open Search Page TTI Baseline
Mean: 624.704 ms
Stdev: 17.636 ms (2.8%)
Runs: 595.7275399994105 596.1922199996188 597.5078539997339 597.6535649998114 599.0062669999897 599.5413409993052 600.8746750000864 603.4139000000432 604.7017829995602 604.7580980006605 605.3013110002503 605.3288569999859 605.6156419999897 606.3098549991846 606.8177079996094 607.6400149995461 609.3109940001741 611.0446370001882 611.1656500007957 611.5185960000381 611.8789069997147 611.9670819994062 612.0297860000283 612.1609699996188 612.8163250004873 613.1469320002943 613.3258870001882 613.6868500001729 613.8933110004291 614.0791830001399 614.457154000178 616.4216720005497 617.0843910006806 617.125815000385 618.0327970003709 618.5846349997446 619.2374269999564 619.5996909998357 620.1040850002319 620.6443679993972 620.7627770006657 621.1413979995996 621.1600750004873 621.7111010001972 622.1737470002845 622.6363530000672 624.5227870000526 624.556925999932 625.3782959999517 625.5028080008924 625.7090659998357 625.9755450002849 627.8674320001155 628.525634999387 629.1307379994541 629.7637130003422 630.3813080005348 631.1947020003572 631.7514650002122 631.8511159997433 632.4284669999033 633.9163410002366 636.2788909999654 636.6663410002366 637.3495690003037 638.1178799998015 638.4863280002028 639.3498129993677 639.4304610006511 639.5266929995269 639.6563320001587 641.3246259996668 641.9003100004047 642.06896999944 646.4213469997048 646.7238369993865 648.9771329993382 650.9169110003859 654.9672860000283 655.9194750003517 656.1885579992086 657.0485430005938 657.6166590005159 660.9747729999945 665.547201000154 675.3402509996668

Current
Mean: 637.678 ms
Stdev: 18.817 ms (3.0%)
Runs: 595.0808109994978 605.7232669992372 606.2296550003812 606.2927660001442 608.8710939995944 610.3653159998357 612.0978600000963 612.931925999932 613.662882999517 618.8328450005502 619.1466060001403 619.2453209999949 619.353311999701 619.3793949997053 619.6632900005206 622.5544440001249 623.1379810003564 623.219197999686 623.6519780000672 623.7462160000578 623.794230999425 624.3224690007046 624.3780519999564 624.5627439999953 625.9296469995752 627.7692470001057 627.7865810003132 628.092326999642 628.6068120002747 628.662556999363 629.1061599999666 629.5831709997728 630.1786699993536 630.3469650000334 630.7974849995226 630.9375 631.1634530005977 632.1044109994546 632.184407999739 632.474487000145 634.3618160001934 634.6496590003371 635.078125 635.2601730003953 635.7993160001934 636.2919519999996 636.4579259995371 637.2898770002648 637.3166500004008 637.4504400007427 638.1372479991987 638.3951409999281 638.7083740001544 638.8277599997818 639.8964440003037 639.9477540003136 640.308633999899 642.2948010005057 645.031739000231 645.7469889996573 646.4767669998109 646.6549890004098 646.6984459999949 647.4999600006267 647.5696620000526 647.6080319993198 648.5201419992372 649.0125740002841 649.4408769998699 650.837849999778 650.9820150006562 653.465210000053 653.8001709999517 653.8952640006319 655.8948569996282 659.3896900005639 662.372844000347 663.4541429998353 664.021972999908 664.6064870003611 664.6581220002845 666.910074999556 672.3057859996334 678.1265879999846 678.7788899997249 679.97290099971 681.8968509994447 687.5507819997147
App start nativeLaunch Baseline
Mean: 20.718 ms
Stdev: 1.998 ms (9.6%)
Runs: 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 23 23 23 23 23 24 24 24 24 25 25 25 26 26 26

Current
Mean: 23.222 ms
Stdev: 2.615 ms (11.3%)
Runs: 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 25 25 25 25 25 26 26 26 26 27 27 27 27 28 28 28 28 28 29 29 30 31
App start regularAppStart Baseline
Mean: 0.019 ms
Stdev: 0.001 ms (7.4%)
Runs: 0.0152580002322793 0.015991000458598137 0.016439000144600868 0.016642000526189804 0.0166830001398921 0.01721200067549944 0.017253000289201736 0.017292999662458897 0.01733400020748377 0.0174150001257658 0.017456000670790672 0.017537000589072704 0.017659000121057034 0.01769999973475933 0.017780999653041363 0.017780999653041363 0.0177819998934865 0.01782300043851137 0.017861999571323395 0.017862999811768532 0.017862999811768532 0.018025999888777733 0.018025999888777733 0.018066000193357468 0.018066000193357468 0.018106999807059765 0.018147999420762062 0.018187999725341797 0.018228999339044094 0.018310999497771263 0.018310999497771263 0.018350999802350998 0.018391999416053295 0.018473999574780464 0.01847400050610304 0.0185139998793602 0.018554000183939934 0.018554999493062496 0.01855500042438507 0.018596000038087368 0.018636000342667103 0.018717000260949135 0.018757999874651432 0.018757999874651432 0.018920999951660633 0.018961000256240368 0.018961000256240368 0.018961000256240368 0.018962000496685505 0.019082999788224697 0.01912400033324957 0.019164999946951866 0.019205999560654163 0.019205999560654163 0.019247000105679035 0.019327000714838505 0.019327000714838505 0.019327999092638493 0.019328000023961067 0.019449999555945396 0.019491000100970268 0.019531000405550003 0.019775000400841236 0.019896999932825565 0.01997899916023016 0.019979000091552734 0.019979000091552734 0.02001900039613247 0.02001999970525503 0.020100999623537064 0.020100999623537064 0.0201409999281168 0.020223000086843967 0.020304000005126 0.02034500055015087 0.020426999777555466 0.0204670000821352 0.020548000000417233 0.020548999309539795 0.02091400045901537 0.020995999686419964 0.020995999686419964 0.021402999758720398 0.021525999531149864 0.02160599920898676 0.02193199936300516 0.022297999821603298 0.022990000434219837

Current
Mean: 0.016 ms
Stdev: 0.001 ms (5.3%)
Runs: 0.01464799977838993 0.0147299999371171 0.0147299999371171 0.014851999469101429 0.014891999773681164 0.014934000559151173 0.014973999932408333 0.015096000395715237 0.015137000009417534 0.015300000086426735 0.015339999459683895 0.015421999618411064 0.015542999841272831 0.015542999841272831 0.015584999695420265 0.015625 0.015705999918282032 0.015828999690711498 0.015828999690711498 0.015828999690711498 0.015908999368548393 0.015949999913573265 0.015949999913573265 0.015951000154018402 0.015991000458598137 0.016032000072300434 0.016032000072300434 0.01607299968600273 0.016114000231027603 0.016153999604284763 0.016193999908864498 0.016195000149309635 0.01623500045388937 0.01623500045388937 0.016276000067591667 0.016316999681293964 0.016316999681293964 0.0163569999858737 0.0163569999858737 0.016397999599575996 0.016397999599575996 0.01648000068962574 0.0165200000628829 0.0165200000628829 0.0165200000628829 0.016560999676585197 0.016561000607907772 0.016601999290287495 0.0166830001398921 0.01672299951314926 0.016723000444471836 0.016723000444471836 0.016723000444471836 0.016724000684916973 0.016764000058174133 0.016764000058174133 0.01676500029861927 0.01680499967187643 0.016805000603199005 0.016844999976456165 0.016846000216901302 0.016846000216901302 0.016885999590158463 0.016886000521481037 0.0168869998306036 0.016927000135183334 0.01713000051677227 0.017130999825894833 0.017171000130474567 0.017211999744176865 0.0172520000487566 0.017292999662458897 0.017292999662458897 0.017292999662458897 0.017374999821186066 0.0174150001257658 0.017537000589072704 0.017537999898195267 0.017741000279784203 0.018066000193357468 0.018309999257326126 0.0186769999563694 0.01900200080126524

@github-actions
Copy link
Contributor

github-actions bot commented Oct 4, 2023

@Expensify/mobile-deployers 📣 Please look into this performance regression as it's a deploy blocker.

@OSBotify
Copy link
Contributor

OSBotify commented Oct 5, 2023

🚀 Deployed to staging by https://github.com/Li357 in version: 1.3.78-0 🚀

platform result
🤖 android 🤖 success ✅
🖥 desktop 🖥 success ✅
🍎 iOS 🍎 success ✅
🕸 web 🕸 success ✅

icon: Expensicons.Camera,
text: props.translate('common.replace'),
onSelected: () => {
onModalHideCallbackRef.current = () => Navigation.navigate(ROUTES.getEditRequestRoute(props.report.reportID, CONST.EDIT_REQUEST_FIELD.RECEIPT));
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@burczu @Li357 I missed updating the route here after ROUTES is refactored. That makes the app crash when clicking on the replace option now. Raise another PR #28890 to quickly fix this.

@OSBotify
Copy link
Contributor

OSBotify commented Oct 6, 2023

🚀 Deployed to production by https://github.com/Beamanator in version: 1.3.78-4 🚀

platform result
🤖 android 🤖 success ✅
🖥 desktop 🖥 success ✅
🍎 iOS 🍎 failure ❌
🕸 web 🕸 success ✅

@OSBotify
Copy link
Contributor

OSBotify commented Oct 6, 2023

🚀 Deployed to staging by https://github.com/Li357 in version: 1.3.79-0 🚀

platform result
🤖 android 🤖 success ✅
🖥 desktop 🖥 success ✅
🍎 iOS 🍎 success ✅
🕸 web 🕸 success ✅

@OSBotify
Copy link
Contributor

OSBotify commented Oct 9, 2023

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.3.79-5 🚀

platform result
🤖 android 🤖 success ✅
🖥 desktop 🖥 failure ❌
🍎 iOS 🍎 failure ❌
🕸 web 🕸 success ✅

@OSBotify
Copy link
Contributor

OSBotify commented Oct 9, 2023

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.3.79-5 🚀

platform result
🤖 android 🤖 success ✅
🖥 desktop 🖥 cancelled 🔪
🍎 iOS 🍎 failure ❌
🕸 web 🕸 success ✅

@OSBotify
Copy link
Contributor

OSBotify commented Oct 9, 2023

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.3.79-5 🚀

platform result
🤖 android 🤖 success ✅
🖥 desktop 🖥 success ✅
🍎 iOS 🍎 failure ❌
🕸 web 🕸 success ✅

});
return menuItems;
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [isAttachmentReceipt, props.parentReport, props.parentReportActions, props.policy]);
Copy link
Contributor

@aimane-chnaif aimane-chnaif Nov 27, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

file dependency was missing here. It's needed to re-calculate downloadAttachment function as it's inside menuItems' onSelected call.
It caused #30616

Comment on lines +356 to +360
menuItems.push({
icon: Expensicons.Download,
text: props.translate('common.download'),
onSelected: () => downloadAttachment(source),
});
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We shouldn't show download button when offline attachments are not available when offline

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants