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

fix: 25779 Accessing an attachment via link that is not found shows the error page twice #29206

Merged
merged 1 commit into from
Oct 13, 2023

Conversation

tienifr
Copy link
Contributor

@tienifr tienifr commented Oct 10, 2023

Details

Fixed Issues

$ #25779
PROPOSAL: #25779 (comment)

Tests

  1. Open the app
  2. Open any chat/report
  3. Send the attachment link from other report
  4. Click that link to open the attachment model
  5. If we don't have access to the attachment, Not Found Page will be displayed.
  6. Tab on back button or close the modal
  7. Verify that the user should be taken to the chat where attachment link is sent not on the report with attachment
  • Verify that no errors appear in the JS console

Offline tests

Same as above

QA Steps

  1. Open the app
  2. Open any chat/report
  3. Send the attachment link from other report
  4. Click that link to open the attachment model
  5. If we don't have access to the attachment, Not Found Page will be displayed.
  6. Tab on back button or close the modal
  7. Verify that the user should be taken to the chat where attachment link is sent not on the report with attachment
  • 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: mWeb Chrome
    • iOS: Native
    • iOS: mWeb 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

Android: Native
Screen.Recording.2023-10-10.at.22.47.02.mov
Android: mWeb Chrome
Screenrecorder-2023-10-10-22-51-49-50.mp4
iOS: Native
Screen.Recording.2023-10-10.at.22.47.02.mov
iOS: mWeb Safari
Screen.Recording.2023-10-10.at.22.48.58.mov
MacOS: Chrome / Safari
Screen.Recording.2023-10-10.at.22.42.41.mp4
MacOS: Desktop
Screen.Recording.2023-10-10.at.22.54.18.mov

@tienifr tienifr marked this pull request as ready for review October 10, 2023 16:01
@tienifr tienifr requested a review from a team as a code owner October 10, 2023 16:01
@melvin-bot melvin-bot bot requested review from sobitneupane and removed request for a team October 10, 2023 16:01
@melvin-bot
Copy link

melvin-bot bot commented Oct 10, 2023

@sobitneupane 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]

@sobitneupane
Copy link
Contributor

@tienifr Can you please update test steps to clarify that user should be taken back to the report where attachment link is sent not on the report with attachment and also add the case where user doesn't have access to the attachment and Not Found Page is to be displayed.

Copy link
Contributor

@sobitneupane sobitneupane left a comment

Choose a reason for hiding this comment

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

Screenshots/Videos

Web
Screen.Recording.2023-10-11.at.20.04.33.mov
Mobile Web - Chrome
Screen.Recording.2023-10-11.at.20.20.53.mov
Mobile Web - Safari
Screen.Recording.2023-10-11.at.20.27.00.mov
Desktop
iOS
Screen.Recording.2023-10-11.at.20.31.23.mov
Android
Screen.Recording.2023-10-11.at.20.43.03.mov

Copy link
Contributor

@sobitneupane sobitneupane left a comment

Choose a reason for hiding this comment

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

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: mWeb Chrome
    • iOS: Native
    • iOS: mWeb 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.

@melvin-bot melvin-bot bot requested a review from joelbettner October 11, 2023 15:46
@tienifr
Copy link
Contributor Author

tienifr commented Oct 13, 2023

@joelbettner Please help take a look at it when you have a chance. Thanks

@joelbettner joelbettner merged commit abfa6a5 into Expensify:main Oct 13, 2023
16 of 17 checks passed
@OSBotify
Copy link
Contributor

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

@OSBotify
Copy link
Contributor

🚀 Deployed to staging by https://github.com/joelbettner in version: 1.3.84-0 🚀

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

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

Performance Comparison Report 📊

Significant Changes To Duration

Name Duration
App start TTI 1201.560 ms → 1597.941 ms (+396.380 ms, +33.0%) 🔴
App start runJsBundle 816.523 ms → 1125.217 ms (+308.695 ms, +37.8%) 🔴🔴
Show details
Name Duration
App start TTI Baseline
Mean: 1201.560 ms
Stdev: 41.239 ms (3.4%)
Runs: 1097.7507950002328 1102.596292999573 1115.8803380001336 1129.468191999942 1133.2558939997107 1135.0669750003144 1142.341273999773 1146.3063489999622 1154.4217950003222 1154.9762719999999 1155.7952319998294 1156.27102500014 1157.3148649996147 1158.0587980002165 1159.0436939997599 1159.6712549999356 1160.1015469999984 1163.0436289999634 1167.2961349999532 1167.4907550001517 1169.719186999835 1169.7543350001797 1170.6348940003663 1171.3459270000458 1175.123852999881 1176.4556470001116 1181.6464130003005 1181.7151669999585 1183.928952000104 1184.3785410001874 1184.4887920003384 1185.7495560003445 1186.8785690004006 1187.410834000446 1188.8411889998242 1189.2169709997252 1189.6282860003412 1191.195282000117 1192.2269409997389 1193.0070780003443 1195.122128999792 1195.6647079996765 1196.7545659998432 1197.6405459996313 1200.5237180003896 1203.0211230004206 1203.6841129995883 1205.96999900043 1206.8004470001906 1208.1079550003633 1208.9137829998508 1209.6313209999353 1210.2414739998057 1210.367107000202 1211.2212800001726 1213.2073419997469 1216.6609190003946 1217.100813000463 1218.3234829995781 1218.4289920004085 1218.610522000119 1218.6356130000204 1218.8423899998888 1222.8964160000905 1223.4274270003662 1224.2327260002494 1226.1916990000755 1227.319229000248 1230.3451049998403 1230.69781900011 1230.7273789998144 1235.5330569995567 1236.6213010000065 1238.3842730000615 1244.8836019998416 1248.4076190004125 1248.5431869998574 1248.6391209997237 1249.0093459999189 1251.2571459999308 1252.2794190002605 1252.288271999918 1253.993301000446 1255.9266969999298 1257.4579959996045 1267.6307589998469 1272.5579530000687 1278.5355599997565 1282.1071359999478 1282.5032420000061 1296.6186619997025

Current
Mean: 1597.941 ms
Stdev: 65.993 ms (4.1%)
Runs: 1462.9629389997572 1465.45390199963 1465.5998369995505 1475.9792190007865 1478.4542839992791 1483.0464839991182 1488.4703620001674 1493.5052739996463 1505.1139160003513 1506.9051179997623 1508.4746029991657 1511.493751000613 1517.20419799909 1518.9271050002426 1531.5442340001464 1534.2462309999391 1534.7830990003422 1534.7911770008504 1536.8697970006615 1546.2342999996617 1549.2008519992232 1549.4712819997221 1552.4660589993 1554.0807709991932 1556.81212499924 1557.8009670004249 1558.24431299977 1558.546800000593 1561.2044249996543 1562.800312999636 1563.1840189993382 1568.2422279994935 1571.3165000006557 1572.289869999513 1575.170545999892 1576.8767619999126 1577.6060440000147 1581.783455999568 1583.286265000701 1586.2654350008816 1589.8835860006511 1590.7920280005783 1592.301503000781 1594.7684049997479 1594.8958110008389 1604.2376230005175 1607.5811650007963 1607.970441000536 1611.5582619998604 1611.9678309997544 1612.405102999881 1613.5738900005817 1615.6770350001752 1615.9934790004045 1618.170935999602 1619.4939229991287 1620.6751809995621 1622.1084209997207 1623.0131979994476 1625.1881419997662 1627.6733459997922 1629.5430919993669 1632.1118359994143 1636.8005069997162 1637.950588999316 1640.5864410009235 1641.164830999449 1645.2377950008959 1648.913371000439 1650.8364550005645 1651.8408070001751 1651.9509560000151 1654.0454539991915 1656.9195809997618 1658.5358530003577 1664.8549700006843 1667.9492760002613 1668.603356000036 1674.2004489991814 1675.6880719996989 1676.8361530005932 1677.23968099989 1677.912227999419 1683.7968150004745 1693.2333669997752 1694.8114810008556 1700.5450919996947 1703.9715890008956 1709.6391649991274 1711.57427299954 1724.4341470003128 1732.169089000672
App start runJsBundle Baseline
Mean: 816.523 ms
Stdev: 28.923 ms (3.5%)
Runs: 755 760 761 771 772 775 776 776 779 783 786 787 787 788 788 789 790 791 792 793 795 795 796 799 800 800 801 802 802 803 804 804 804 804 805 806 806 807 809 809 810 810 813 815 816 816 816 817 818 818 819 820 825 828 829 829 829 830 831 832 833 833 834 835 835 836 836 837 837 838 840 841 841 842 843 843 845 846 849 851 855 857 865 872 874 882 887 896

Current
Mean: 1125.217 ms
Stdev: 39.351 ms (3.5%)
Runs: 1035 1054 1055 1056 1064 1068 1070 1072 1073 1076 1078 1078 1081 1086 1086 1087 1089 1089 1091 1094 1095 1097 1097 1098 1099 1099 1100 1101 1103 1103 1104 1105 1106 1109 1111 1111 1113 1113 1114 1115 1117 1117 1118 1119 1120 1122 1124 1124 1126 1126 1129 1129 1130 1131 1131 1132 1134 1136 1137 1138 1140 1140 1142 1143 1144 1148 1149 1152 1153 1155 1160 1161 1163 1163 1163 1166 1169 1169 1171 1172 1173 1173 1176 1178 1182 1186 1188 1189 1195 1197 1209 1236

Meaningless Changes To Duration

Show entries
Name Duration
Open Search Page TTI 626.335 ms → 626.911 ms (+0.576 ms, ±0.0%)
App start nativeLaunch 22.023 ms → 22.180 ms (+0.157 ms, +0.7%)
App start regularAppStart 0.014 ms → 0.015 ms (+0.001 ms, +8.5%)
Show details
Name Duration
Open Search Page TTI Baseline
Mean: 626.335 ms
Stdev: 21.825 ms (3.5%)
Runs: 592.4108480000868 592.7510989997536 594.6280519999564 597.5350350001827 597.6790769994259 600.8657630002126 601.7274580001831 602.2828379999846 603.6059980001301 604.1376139996573 604.8865970000625 605.9758299998939 606.2358809998259 606.4580079996958 606.6805019993335 606.699543999508 606.9881599992514 607.287434999831 607.4509689994156 607.4890540000051 607.631958999671 608.03125 608.8322350000963 608.9679780006409 609.3416750002652 609.8780929995701 613.3062340002507 613.326417000033 614.0650630006567 614.234538000077 614.8440359998494 614.9571130005643 615.3560390006751 615.9931239997968 616.5828459998593 616.7536209998652 617.0639650002122 617.6103109996766 618.062826000154 618.9760339995846 621.3037520004436 621.412760999985 622.1964110005647 622.3479010006413 622.4359539998695 623.5790610006079 624.0798749998212 624.1944579994306 624.296916000545 625.113567000255 625.3965659998357 625.5743410000578 625.6330159995705 627.2983800005168 628.9864499997348 629.5020750006661 629.8639319995418 630.187378000468 630.9031980000436 631.3518479997292 633.8202309999615 636.8700769999996 637.334799000062 637.703572999686 638.0442300001159 638.2967940000817 638.5886639999226 640.0472830003127 640.7950440002605 641.5727540003136 641.847616000101 643.1157639995217 643.5354829998687 645.8893640004098 647.2904869997874 649.8641769997776 650.7868659999222 656.2889399994165 657.6657720003277 660.828288000077 663.9095059996471 664.3510750001296 665.5536299999803 666.8618980003521 672.7097169999033 680.7114260001108 689.7195640001446 690.2429609997198

Current
Mean: 626.911 ms
Stdev: 22.566 ms (3.6%)
Runs: 589.7859710007906 590.2080489993095 591.516031999141 591.8429359998554 592.4789629988372 595.5088700000197 596.1474620010704 597.5118819996715 597.6404630001634 597.7401539999992 598.8560380004346 600.4072669986635 602.5416259989142 603.23852599971 605.1516930013895 606.0682779997587 606.2233079988509 606.9894210007042 607.0151779986918 607.043293999508 607.308960000053 607.6260580010712 608.2412919998169 609.2744550015777 610.2710369993001 612.1094560008496 614.0426429994404 614.0716559998691 614.4559739995748 614.7072760015726 614.8531090002507 615.3809409998357 615.5111899990588 616.1927489992231 617.2106119990349 617.9360759984702 618.109538000077 621.7021900005639 621.7331130001694 621.9079179987311 622.331828000024 622.6003419999033 622.859579000622 623.5101720001549 623.5891929995269 624.4506839998066 625.6503909993917 626.1863609999418 626.850627001375 627.368733998388 629.1657309997827 630.5277510005981 630.7499599996954 630.7893480006605 630.940755000338 631.2789309993386 632.0697029996663 632.2024750001729 632.4151210002601 632.4396570008248 632.7129309996963 632.7755130007863 633.1829429995269 635.434651998803 636.5517989993095 638.1117359995842 639.9015299994498 642.1311039999127 642.6044519990683 646.6486410014331 646.9323330000043 648.7802740000188 648.9245609994978 650.2621260005981 650.8977060001343 651.1836350001395 653.9319259990007 655.6440030001104 656.2921959999949 656.8707279991359 659.2857259996235 659.6525890007615 662.5391440000385 666.1083990000188 666.387206999585 666.5869139991701 668.1305349990726 673.7658699993044 675.8227549996227 689.4209800008684
App start nativeLaunch Baseline
Mean: 22.023 ms
Stdev: 3.064 ms (13.9%)
Runs: 18 18 18 18 18 18 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 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 25 25 26 27 27 27 27 28 28 28 28 29 29 30 30

Current
Mean: 22.180 ms
Stdev: 2.738 ms (12.3%)
Runs: 18 19 19 19 19 19 19 19 19 20 20 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 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 24 24 24 25 25 25 25 25 26 26 27 27 27 27 28 28 29 29 30 30
App start regularAppStart Baseline
Mean: 0.014 ms
Stdev: 0.001 ms (5.9%)
Runs: 0.01228800043463707 0.0125730000436306 0.012736000120639801 0.012776000425219536 0.012817999348044395 0.01285799965262413 0.01285799965262413 0.012898999266326427 0.012899000197649002 0.012938999570906162 0.013020999729633331 0.013183999806642532 0.013264999724924564 0.013265000656247139 0.0133050000295043 0.013345999643206596 0.013346000574529171 0.013427000492811203 0.013427999801933765 0.0134680001065135 0.0134680001065135 0.013469000346958637 0.013509000651538372 0.013549000024795532 0.013631000183522701 0.013631000183522701 0.013671999797224998 0.013672000728547573 0.013712000101804733 0.013753000646829605 0.013753999955952168 0.013794000260531902 0.013875000178813934 0.013876000419259071 0.013915999792516232 0.013956999406218529 0.013997000642120838 0.0139979999512434 0.01403799932450056 0.014038999564945698 0.014038999564945698 0.014039000496268272 0.014078999869525433 0.014079000800848007 0.014120000414550304 0.014161000028252602 0.014200999401509762 0.014200999401509762 0.014201000332832336 0.014240999706089497 0.014241000637412071 0.014241999946534634 0.014281999319791794 0.014322999864816666 0.014363999478518963 0.014403999783098698 0.014405000023543835 0.014444999396800995 0.01444500032812357 0.01444500032812357 0.01444500032812357 0.014526000246405602 0.014566999860107899 0.014566999860107899 0.014607999473810196 0.01460800040513277 0.014649000018835068 0.014688999392092228 0.014729000627994537 0.0147299999371171 0.0147299999371171 0.014932999387383461 0.014973999932408333 0.014973999932408333 0.015381000004708767 0.015463000163435936 0.01550300046801567 0.015544000081717968 0.015625 0.015625 0.015705999918282032 0.015705999918282032 0.01574699953198433 0.01623500045388937

Current
Mean: 0.015 ms
Stdev: 0.001 ms (6.0%)
Runs: 0.013753000646829605 0.013753999955952168 0.013875000178813934 0.013916000723838806 0.013996999710798264 0.0139979999512434 0.014038000255823135 0.014078998938202858 0.014078998938202858 0.014159999787807465 0.014159999787807465 0.0142000000923872 0.014200998470187187 0.014241000637412071 0.014322999864816666 0.014404000714421272 0.014404000714421272 0.014485999941825867 0.014485999941825867 0.014526000246405602 0.014527000486850739 0.014527000486850739 0.014566998928785324 0.014567999169230461 0.01464799977838993 0.014649000018835068 0.014688998460769653 0.014688998460769653 0.014689000323414803 0.014730000868439674 0.014770000241696835 0.014810999855399132 0.014892999082803726 0.014893000945448875 0.014932999387383461 0.014933999627828598 0.015014000236988068 0.015014000236988068 0.015055999159812927 0.015177000313997269 0.015177000313997269 0.015177998691797256 0.015178000554442406 0.015217998996376991 0.01521800085902214 0.015258999541401863 0.015259000472724438 0.015259001404047012 0.01533999852836132 0.01534000039100647 0.015340999700129032 0.015380999073386192 0.015380999073386192 0.015461999922990799 0.015461999922990799 0.015502998605370522 0.015502999536693096 0.015544001013040543 0.015583999454975128 0.015584001317620277 0.015666000545024872 0.015705998986959457 0.015706999227404594 0.01574699953198433 0.015786999836564064 0.01586899906396866 0.01586899906396866 0.015951000154018402 0.015990999527275562 0.016112999990582466 0.016112999990582466 0.01615399867296219 0.016154000535607338 0.016234999522566795 0.016235001385211945 0.016276000067591667 0.016276000067591667 0.016276000067591667 0.016397999599575996 0.01643799990415573 0.016479000449180603 0.016600999981164932 0.01660199835896492 0.016641998663544655 0.0168869998306036 0.0172520000487566 0.017253000289201736 0.01729400083422661 0.01810699887573719

@github-actions
Copy link
Contributor

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

@OSBotify
Copy link
Contributor

🚀 Deployed to production by https://github.com/francoisl in version: 1.3.84-10 🚀

platform result
🤖 android 🤖 skipped 🚫
🖥 desktop 🖥 skipped 🚫
🍎 iOS 🍎 skipped 🚫
🕸 web 🕸 skipped 🚫

@OSBotify
Copy link
Contributor

🚀 Deployed to production by https://github.com/francoisl in version: 1.3.84-10 🚀

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

@OSBotify
Copy link
Contributor

🚀 Deployed to staging by https://github.com/joelbettner in version: 1.3.85-0 🚀

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

@OSBotify
Copy link
Contributor

🚀 Deployed to production by https://github.com/francoisl in version: 1.3.85-4 🚀

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DeployBlockerCash This issue or pull request should block deployment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants