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

Remove openreport api calls while switching windows #30572

Merged

Conversation

saranshbalyan-1234
Copy link
Contributor

@saranshbalyan-1234 saranshbalyan-1234 commented Oct 30, 2023

Details

Fixed Issues

$ #27887
PROPOSAL: #27887 (comment)

Tests

On Web/mWeb

  1. Login as User A
  2. Open chat 1:1 with User B
  3. Switch away from the app i.e. open any other window tab
  4. Login as User B on another platform/device, and send a message to User A
  5. Back to User A, switch back to the origin window tab
  6. Verify the msg that User B sent is visible in the origin tab.

On Desktop/Native app

  1. Login as User A
  2. Open chat 1:1 with User B
  3. Put the app in the background
  4. Login as User B on another platform/device, and send a message to User A
  5. Back to User A, reopen app from the background
  6. Verify the msg that User B sent is visible
  • Verify that no errors appear in the JS console

Offline tests

Same as QA steps

QA Steps

On Web/mWeb

  1. Login as User A
  2. Open chat 1:1 with User B
  3. Switch away from the app i.e. open any other window tab
  4. Login as User B on another platform/device, and send a message to User A
  5. Back to User A, switch back to the origin window tab
  6. Verify the msg that User B sent is visible in the origin tab.

On Desktop/Native app

  1. Login as User A
  2. Open chat 1:1 with User B
  3. Put the app in the background
  4. Login as User B on another platform/device, and send a message to User A
  5. Back to User A, reopen app from the background
  6. Verify the msg that User B sent is visible
  • 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
android.mp4
screen-recording-2023-10-27-at-73444-pm_YTTZdAbw.mp4
Android: mWeb Chrome
chrome.mp4
WhatsApp.Video.2023-10-27.at.6.53.00.PM.mp4
iOS: Native
screen-recording-2023-10-28-at-53406-pm_CE77IvDh.mp4
screen-recording-2023-10-27-at-22738-pm_V2cYSfRu.mp4
iOS: mWeb Safari
safari.mp4
WhatsApp.Video.2023-10-27.at.6.53.01.PM.mp4
MacOS: Chrome / Safari
web.mp4
screen-recording-2023-10-25-at-24510-pm_FKqGXMw3.mp4
screen-recording-2023-10-26-at-111015-pm_ELxruhWH.mp4
MacOS: Desktop
desktop.mp4
screen-recording-2023-10-25-at-52758-pm_41MXnLP8.mp4
screen-recording-2023-10-27-at-123850-pm_1Kg5l47V.mp4

@saranshbalyan-1234 saranshbalyan-1234 requested a review from a team as a code owner October 30, 2023 11:30
@melvin-bot melvin-bot bot removed the request for review from a team October 30, 2023 11:30
@melvin-bot
Copy link

melvin-bot bot commented Oct 30, 2023

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

@melvin-bot melvin-bot bot requested a review from hoangzinh October 30, 2023 11:30
@hoangzinh
Copy link
Contributor

Let me know when your PR is ready to review. Thanks

@saranshbalyan-1234
Copy link
Contributor Author

ready for review @hoangzinh

@hoangzinh
Copy link
Contributor

@saranshbalyan-1234 how come the PR title is "resolved conflicts"?

@saranshbalyan-1234 saranshbalyan-1234 changed the title resolved conflicts Remove openreport api calls while switching windows Oct 30, 2023
@saranshbalyan-1234
Copy link
Contributor Author

Changed title @hoangzinh

@hoangzinh
Copy link
Contributor

@saranshbalyan-1234 what is bold text "Login as User A" mean in your QA test? And how come we don't have any test in Tests section? (usually Tests section describes what you gonna test/record)
Screenshot 2023-10-30 at 22 03 57

@saranshbalyan-1234
Copy link
Contributor Author

saranshbalyan-1234 commented Oct 30, 2023

@hoangzinh updated again :)
pasted qa steps in test as well

@hoangzinh
Copy link
Contributor

hoangzinh commented Oct 30, 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: 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.

Screenshots/Videos

Android: Native
Screen.Recording.2023-10-30.at.23.10.18.-.android.mov
Android: mWeb Chrome
Screen.Recording.2023-10-30.at.22.59.52.-.android.chrome.mov
iOS: Native
Screen.Recording.2023-10-30.at.22.42.39.-.ios.mp4
Screen.Recording.2023-10-30.at.22.44.21.-.ios.offline.mov
iOS: mWeb Safari
Screen.Recording.2023-10-30.at.22.46.02.-.ios.safari.mov
MacOS: Chrome / Safari
Screen.Recording.2023-10-30.at.22.54.41.-.web.mov
MacOS: Desktop
Screen.Recording.2023-10-30.at.22.57.35.-.desktop.mov

@hoangzinh
Copy link
Contributor

There is a missing "Verify that no errors appear in the JS console" checkbox in PR description for QA tests. Could you check? https://github.com/Expensify/App/blob/main/.github/PULL_REQUEST_TEMPLATE.md#qa-steps

@saranshbalyan-1234
Copy link
Contributor Author

There is a missing "Verify that no errors appear in the JS console" checkbox in PR description for QA tests. Could you check? https://github.com/Expensify/App/blob/main/.github/PULL_REQUEST_TEMPLATE.md#qa-steps

updated

Copy link
Contributor

@hoangzinh hoangzinh left a comment

Choose a reason for hiding this comment

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

Looks good! @saranshbalyan-1234 please prepare the PR description better next time.

@melvin-bot melvin-bot bot requested a review from marcaaron October 30, 2023 16:19
@saranshbalyan-1234
Copy link
Contributor Author

@hoangzinh thank you
I would keep in mind next time

@marcaaron marcaaron merged commit 5b5d465 into Expensify:main Oct 31, 2023
22 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.

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

Performance Comparison Report 📊

Significant Changes To Duration

Name Duration
App start TTI 1164.443 ms → 1318.763 ms (+154.320 ms, +13.3%) 🔴
App start runJsBundle 808.347 ms → 919.908 ms (+111.561 ms, +13.8%) 🔴
Show details
Name Duration
App start TTI Baseline
Mean: 1164.443 ms
Stdev: 34.823 ms (3.0%)
Runs: 1090.8106740000658 1100.9290899997577 1109.3117000004277 1110.5455130003393 1113.492820999585 1115.2055529998615 1117.0683549996465 1120.961772000417 1121.8195890001953 1123.6462249998003 1128.9671959998086 1130.9825579999015 1131.2617250001058 1131.717760999687 1132.2337419996038 1132.772528000176 1133.3042529998347 1134.4639830002561 1137.348497999832 1138.3837150000036 1140.0076670004055 1140.1353700002655 1140.7608730001375 1143.5002920003608 1144.5121809998527 1146.1848370004445 1148.6959349997342 1148.8494239998981 1149.3302440000698 1151.575740000233 1152.3641109997407 1153.6779890004545 1154.5737000000663 1155.7440600004047 1156.232730999589 1157.1763730002567 1158.7199339997023 1159.470255999826 1161.2544259997085 1163.5221159998327 1164.339331000112 1164.5291950004175 1165.2633239999413 1168.0601449999958 1171.0031179999933 1172.2107309997082 1172.8712950004265 1173.1019580001011 1173.4239900000393 1173.7455350002274 1173.7898949999362 1174.5033400002867 1177.4592369999737 1177.8870750004426 1180.1504480000585 1181.9578889999539 1182.1540930001065 1184.1450110003352 1185.1921770004556 1185.43711300008 1188.2551629999653 1188.961959999986 1191.2956370003521 1192.0327000003308 1192.1218750001863 1192.5541479997337 1194.19704500027 1195.1983260000125 1195.8873629998416 1198.600153000094 1200.3408960001543 1217.2037450000644 1222.7679310003296 1229.7408170001581 1232.048298000358 1232.516382000409 1237.1769500002265 1250.728342000395 1256.6335869999602

Current
Mean: 1318.763 ms
Stdev: 39.035 ms (3.0%)
Runs: 1209.2688980000094 1243.121720999945 1249.0588249999564 1251.140633000061 1255.1542950000148 1256.39035900007 1259.2717279999051 1263.3552439999767 1267.0481589999981 1270.775168000022 1272.4757230000105 1279.0844680001028 1279.8907769999932 1280.276775999926 1284.0224909998942 1286.9440379999578 1288.1219719999935 1289.2660320000723 1290.11258299998 1291.2324830000289 1291.4258059998974 1291.4581329999492 1294.5362889999524 1295.409236999927 1295.5389119999018 1296.124339000089 1297.2528959999327 1297.3672750000842 1298.1014910000376 1299.2195270000957 1301.363614999922 1305.48078299989 1311.323214000091 1319.0334689999 1320.7218780000694 1322.527376000071 1322.9563370000105 1324.118691999931 1324.4510649999138 1324.4536480000243 1327.2160219999496 1327.396286000032 1327.5736700000707 1328.2600539999548 1328.5392390000634 1329.2895510001108 1332.0258879999164 1332.2476679999381 1333.0597699999344 1334.1643240000121 1334.2947060000151 1334.5138189999852 1335.1973339999095 1335.3902100000996 1338.080893999897 1338.5072860000655 1340.4543280000798 1340.635411000112 1344.3127909998875 1345.5572579998989 1347.04222199996 1347.4522480000742 1349.1818689999636 1351.3852099999785 1352.152376000071 1353.6979670000728 1354.6021169999149 1357.0970099999104 1357.4214389999397 1357.8085330000613 1358.2575419999193 1363.5590530000627 1365.5449820000213 1366.0300479999278 1370.1445879999083 1375.0130849999841 1381.2141529999208 1382.4605000000447 1400.501894999994 1424.8627029999625
App start runJsBundle Baseline
Mean: 808.347 ms
Stdev: 23.610 ms (2.9%)
Runs: 755 767 767 772 772 772 774 782 782 783 784 784 785 787 787 789 790 792 792 794 795 795 796 796 796 797 798 798 798 802 803 803 804 805 805 807 807 808 809 809 809 809 809 810 813 814 815 815 815 816 818 819 819 821 822 822 822 825 826 827 828 828 829 830 833 834 835 840 843 844 845 851 853 871 875

Current
Mean: 919.908 ms
Stdev: 27.190 ms (3.0%)
Runs: 857 861 863 865 869 871 876 877 877 883 886 897 898 900 902 904 904 905 905 905 905 906 906 908 909 911 911 911 912 912 916 916 917 917 918 918 919 920 922 923 926 926 928 929 931 931 932 932 933 933 933 934 934 935 936 937 937 938 938 940 945 945 945 945 946 946 948 948 948 950 952 953 960 974 980 983

Meaningless Changes To Duration

Show entries
Name Duration
Open Search Page TTI 696.935 ms → 743.341 ms (+46.407 ms, +6.7%)
App start nativeLaunch 19.730 ms → 23.351 ms (+3.621 ms, +18.4%) 🟡
App start regularAppStart 0.015 ms → 0.017 ms (+0.002 ms, +14.8%)
Show details
Name Duration
Open Search Page TTI Baseline
Mean: 696.935 ms
Stdev: 39.159 ms (5.6%)
Runs: 618.9662280008197 624.3095709998161 639.4853110006079 642.985433999449 643.9121099999174 644.5402429997921 646.0917160008103 647.5205889996141 650.5649009998888 654.8069659993052 656.369099999778 656.7997639998794 659.4204110000283 660.6233729999512 660.9467780003324 661.3312179995701 662.3177490001544 664.5401619998738 665.7858480000868 666.7461350001395 666.8996180007234 667.1271160002798 670.2367759998888 671.343954000622 672.4250489994884 672.8265789998695 673.7936200005934 675.1215420002118 675.1420909995213 675.3867999995127 675.7166349999607 675.8995370008051 678.0816240003332 678.4035640005022 678.8412680001929 680.3364260001108 683.5462239999324 690.2891029994935 691.6168210003525 692.5419919993728 695.1195480003953 695.8364259991795 696.3432620000094 697.6963709993288 702.099813000299 702.3616949999705 705.9097090000287 708.6180830001831 710.2371829999611 710.3806969998404 710.5165199991316 711.0083820000291 711.8399660000578 714.0109049994498 714.6907150000334 715.2240810003132 715.2702640006319 715.2894289996475 721.3872070005164 721.9204510003328 724.4968269998208 728.1893319999799 728.7018639994785 728.9506020005792 734.0236820001155 734.0967610003427 737.9047039998695 740.6823330000043 741.0069989999756 741.8645430002362 741.9663899997249 747.7001959998161 749.8892419999465 756.2528079999611 764.7739669997245 773.7251789998263 775.6127519998699 782.3451739996672 783.2421880001202 789.9480389999226

Current
Mean: 743.341 ms
Stdev: 45.230 ms (6.1%)
Runs: 657.1107990001328 667.3231200000737 667.3956299999263 675.2213539998047 678.3085940000601 681.102864000015 681.7124029998668 685.8078209999949 686.0744630000554 686.8670660001226 690.0746260001324 690.1254480001517 695.1248780000024 696.026325999992 697.2198890000582 699.7896730001085 700.3680430001114 702.4652920002118 705.4062099999283 705.8418779999483 706.5733650000766 706.8271900000982 707.9066170000006 710.8306079998147 716.7501219999976 717.8791099998634 718.0897630001418 722.618002000032 727.4626869999338 730.6948249998968 731.3062340000179 731.3767089999747 732.0917149998713 733.8730480000377 736.2332760000136 737.1522620001342 739.8675950001925 740.9110920000821 740.9828689999413 743.2089840001427 744.2012940000277 744.9313560000155 745.7035730001517 747.1075029999483 748.3189300000668 751.8404539998155 751.8877769999672 754.7471930000465 754.8194579998963 755.1406659998465 755.466349999886 756.0583910001442 760.2710369999986 761.7167160001118 763.192790000001 763.4355070001911 763.9720060001127 764.5504570000339 765.8652349999174 768.2412110001314 771.2502450000029 775.6003829999827 775.9984949999489 777.3245040001348 780.7428789997939 781.3370369998738 781.7332770000212 789.7199299999047 790.7590739999432 792.1700029999483 806.0740569999907 808.8047690000385 813.348713999847 816.0581459999084 816.3428150000982 823.4258220000193 823.5561529998668 825.4570720000193 839.40820299997 874.7227379998658
App start nativeLaunch Baseline
Mean: 19.730 ms
Stdev: 1.527 ms (7.7%)
Runs: 17 17 17 18 18 18 18 18 18 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 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 22 22 22 23 23 24 24 24

Current
Mean: 23.351 ms
Stdev: 2.024 ms (8.7%)
Runs: 20 20 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 22 22 22 22 22 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 26 26 26 27 27 28 28 29 29
App start regularAppStart Baseline
Mean: 0.015 ms
Stdev: 0.001 ms (6.8%)
Runs: 0.012777000200003386 0.012817000038921833 0.012858000583946705 0.012939000502228737 0.012980000115931034 0.013101999647915363 0.013224000111222267 0.0133050000295043 0.013306000269949436 0.013346000574529171 0.013427999801933765 0.013427999801933765 0.013468999415636063 0.013549999799579382 0.013590999878942966 0.013672000728547573 0.013712000101804733 0.01371300034224987 0.01371300034224987 0.01375299971550703 0.013753999955952168 0.013833999633789062 0.0138349998742342 0.014038000255823135 0.014038000255823135 0.01407800056040287 0.014119000174105167 0.014159999787807465 0.01416000071913004 0.014201000332832336 0.014201000332832336 0.014201000332832336 0.014240999706089497 0.014241000637412071 0.01432300079613924 0.014364000409841537 0.014444999396800995 0.01444500032812357 0.014485999941825867 0.014526999555528164 0.01460800040513277 0.01464799977838993 0.014649000018835068 0.014689000323414803 0.014730000402778387 0.01476999931037426 0.014771000482141972 0.014811000786721706 0.014852000400424004 0.014891999773681164 0.014892000705003738 0.0148930000141263 0.0148930000141263 0.014973999932408333 0.014973999932408333 0.014973999932408333 0.01501499954611063 0.015054999850690365 0.015096000395715237 0.015137000009417534 0.015137000009417534 0.015217999927699566 0.015300000086426735 0.01534000039100647 0.015341000631451607 0.015421000309288502 0.015463000163435936 0.015584000386297703 0.015625 0.015665999613702297 0.015747000463306904 0.015868999995291233 0.015869999304413795 0.016276000067591667 0.016358000226318836 0.016520999372005463 0.0166830001398921 0.017008000053465366 0.017130999825894833

Current
Mean: 0.017 ms
Stdev: 0.001 ms (6.6%)
Runs: 0.014201000100001693 0.014282000018283725 0.014689000090584159 0.014934000093489885 0.014973999932408333 0.015177000081166625 0.015178000088781118 0.015217999927699566 0.015299000078812242 0.015299999853596091 0.015503000002354383 0.015543999848887324 0.01566500007174909 0.015666000079363585 0.015706999925896525 0.01570700015872717 0.015746999997645617 0.015746999997645617 0.015746999997645617 0.01599099999293685 0.01603199983946979 0.016072999918833375 0.016152999829500914 0.016275999834761024 0.016276000067591667 0.016276000067591667 0.016316999914124608 0.01631700014695525 0.01639799983240664 0.016398000065237284 0.016398000065237284 0.016438999911770225 0.016438999911770225 0.016478999983519316 0.0165200000628829 0.016559999901801348 0.016601999988779426 0.016642000060528517 0.016642000060528517 0.016642000060528517 0.016764000058174133 0.016764999832957983 0.016804999904707074 0.016804999904707074 0.016805000137537718 0.016805000137537718 0.016927000135183334 0.016927000135183334 0.016967999981716275 0.017007999820634723 0.01700900006107986 0.017048999899998307 0.01704900013282895 0.0170889999717474 0.017131000058725476 0.017294000135734677 0.01733400020748377 0.01733400020748377 0.01737500005401671 0.0174150001257658 0.01745599997229874 0.017536999890580773 0.017577999969944358 0.01757899997755885 0.017659000121057034 0.017780999885872006 0.017780999885872006 0.0177819998934865 0.017863000044599175 0.01790400012396276 0.0183100001886487 0.01831099996343255 0.018555000191554427 0.01871700002811849 0.018920999951660633 0.018961000023409724 0.019287000177428126 0.019491000100970268

@github-actions
Copy link
Contributor

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

@hannojg
Copy link
Contributor

hannojg commented Oct 31, 2023

The reported deploy blocker is likely a false positive, investigating …

@saranshbalyan-1234 saranshbalyan-1234 deleted the remove-openreport-api-call branch October 31, 2023 15:11
@OSBotify
Copy link
Contributor

🚀 Deployed to staging by https://github.com/marcaaron in version: 1.3.94-0 🚀

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

@OSBotify
Copy link
Contributor

OSBotify commented Nov 1, 2023

🚀 Deployed to staging by https://github.com/marcaaron in version: 1.3.94-0 🚀

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

@OSBotify
Copy link
Contributor

OSBotify commented Nov 2, 2023

🚀 Deployed to production by https://github.com/Beamanator in version: 1.3.94-2 🚀

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

@OSBotify
Copy link
Contributor

OSBotify commented Nov 2, 2023

🚀 Deployed to staging by https://github.com/marcaaron in version: 1.3.95-0 🚀

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

@OSBotify
Copy link
Contributor

OSBotify commented Nov 6, 2023

🚀 Deployed to production by https://github.com/puneetlath in version: 1.3.95-9 🚀

platform result
🤖 android 🤖 success ✅
🖥 desktop 🖥 success ✅
🍎 iOS 🍎 success ✅
🕸 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.

5 participants