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

Update and rename Get-The-Card.md to Request-the-Card.md #28939

Merged
merged 3 commits into from
Oct 26, 2023

Conversation

maddylewis
Copy link
Contributor

@maddylewis maddylewis commented Oct 5, 2023

Renaming file + adding employee-specific "request the expensify card" resource

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.

Renaming file + adding employee-specific "request the expensify card" resource
@maddylewis maddylewis requested a review from a team as a code owner October 5, 2023 17:48
@melvin-bot melvin-bot bot removed the request for review from a team October 5, 2023 17:48
@melvin-bot
Copy link

melvin-bot bot commented Oct 5, 2023

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

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Oct 5, 2023

Deploying with  Cloudflare Pages  Cloudflare Pages

Latest commit: 4724669
Status:🚫  Build failed.

View logs

@maddylewis maddylewis self-assigned this Oct 5, 2023
Copy link
Member

@rushatgabhane rushatgabhane left a comment

Choose a reason for hiding this comment

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

image

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 amyevans October 11, 2023 12:45
@melvin-bot
Copy link

melvin-bot bot commented Oct 11, 2023

@amyevans 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
Copy link

melvin-bot bot commented Oct 11, 2023

🎯 @rushatgabhane, thanks for reviewing and testing this PR! 🎉

An E/App issue has been created to issue payment here: #29306.

Copy link
Contributor

@amyevans amyevans left a comment

Choose a reason for hiding this comment

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

Just a few nit-pick grammar comments 😅 - and one question more globally: there's a mix of smart quotes/apostrophes and regular apostrophes in here, has there been a discussion on a standard? Typically we prefer regular quotes and apostrophes in code and comments because it makes it easier to find matches when searching the repos, but I don't know if there's been a different decision for help site articles. Thoughts @maddylewis @rushatgabhane?

maddylewis and others added 2 commits October 12, 2023 11:03
…d.md

Co-authored-by: Amy Evans <amy@expensify.com>
…d.md

Co-authored-by: Amy Evans <amy@expensify.com>
@amyevans
Copy link
Contributor

The Cloudflare Pages check is failing, I think the fix is to merge main, right?

@amyevans
Copy link
Contributor

@maddylewis are you able to merge main to clear up that failing check? (Let me know if you want me to handle!)

@maddylewis maddylewis merged commit 05ae4c4 into main Oct 26, 2023
16 of 17 checks passed
@maddylewis maddylewis deleted the maddylewis-patch-2 branch October 26, 2023 01:28
@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 26, 2023
@github-actions
Copy link
Contributor

Performance Comparison Report 📊

Significant Changes To Duration

Name Duration
App start TTI 1180.415 ms → 1309.429 ms (+129.014 ms, +10.9%) 🔴
App start runJsBundle 809.800 ms → 920.414 ms (+110.614 ms, +13.7%) 🔴
Show details
Name Duration
App start TTI Baseline
Mean: 1180.415 ms
Stdev: 44.972 ms (3.8%)
Runs: 1105.4815849997103 1108.1045789998025 1109.4299050001428 1112.868912000209 1114.4677809998393 1115.6034789998084 1115.8717609997839 1117.5762229999527 1126.8890559999272 1132.498294999823 1137.5610450003296 1141.124112999998 1141.4068320002407 1141.7706859996542 1142.6806619996205 1148.3163360003382 1150.135103999637 1150.8524709995836 1152.5930540002882 1153.9863160001114 1154.060065000318 1155.9575760001317 1163.6570140002295 1164.087396999821 1168.3892719997093 1172.2927169995382 1175.9693799996749 1180.6641990002245 1182.326848000288 1182.8346669999883 1184.5959839997813 1186.0962500004098 1186.549627999775 1190.1712939999998 1191.2188640004024 1194.4339380003512 1196.727966000326 1197.2604369996116 1199.1942020002753 1201.5553000001237 1202.0556229995564 1204.1630049999803 1208.7101090000942 1208.7340209996328 1210.995199999772 1213.9411490000784 1214.1584280002862 1218.3057840000838 1228.6717419996858 1229.0447420002893 1231.720405999571 1232.575872999616 1233.2181740002707 1238.9731670003384 1242.500839999877 1245.3771759998053 1254.637759000063 1287.9765469999984 1291.471336999908

Current
Mean: 1309.429 ms
Stdev: 42.469 ms (3.2%)
Runs: 1188.5414939997718 1246.9367419998161 1248.429322999902 1251.1678909999318 1252.4904350000434 1252.5492560002021 1255.509585000109 1257.256769000087 1263.3770750002004 1269.5793650001287 1271.770496999845 1272.4588060001843 1273.7035770001821 1274.2286319998093 1277.4507410000078 1279.2024719999172 1281.1811350001954 1284.4461520002224 1291.2685909997672 1291.664584999904 1292.6697390000336 1297.751842000056 1298.4292419999838 1302.9481689999811 1305.8162839999422 1308.3588820002042 1309.572658999823 1309.629753000103 1309.9117620000616 1310.61868399987 1311.2010019998997 1311.8697959999554 1313.9823980000801 1314.2669589999132 1315.736198999919 1316.7813439997844 1318.4194629997946 1321.8562529999763 1323.9127150001004 1325.4390349998139 1328.1176479998976 1332.9013689998537 1339.3788760001771 1340.7120019998401 1340.8319170000032 1341.5840719998814 1341.6684840000235 1344.72569500003 1346.16324000014 1350.928106999956 1361.8127279998735 1362.7136459997855 1366.8145139999688 1367.5058369999751 1378.7668949998915 1386.656694999896 1393.3240919997916 1419.8739169999026
App start runJsBundle Baseline
Mean: 809.800 ms
Stdev: 30.748 ms (3.8%)
Runs: 739 750 754 757 765 769 769 770 775 785 785 785 786 788 788 789 790 791 794 794 797 797 798 800 802 805 808 810 810 810 810 812 813 814 818 818 818 819 821 821 821 821 822 826 827 828 832 834 839 840 846 848 848 849 855 855 863 863 867 880

Current
Mean: 920.414 ms
Stdev: 31.425 ms (3.4%)
Runs: 854 858 864 874 875 876 876 879 882 884 886 889 895 898 898 898 899 900 906 907 908 910 912 913 915 917 919 921 922 923 924 925 927 927 928 929 933 935 938 940 941 941 942 944 949 950 953 953 953 957 959 960 964 968 969 971 971 975

Meaningless Changes To Duration

Show entries
Name Duration
Open Search Page TTI 712.300 ms → 746.305 ms (+34.004 ms, +4.8%)
App start regularAppStart 0.014 ms → 0.016 ms (+0.003 ms, +18.7%) 🟡
App start nativeLaunch 24.283 ms → 23.288 ms (-0.995 ms, -4.1%)
Show details
Name Duration
Open Search Page TTI Baseline
Mean: 712.300 ms
Stdev: 39.760 ms (5.6%)
Runs: 615.378539999947 646.9671229999512 649.3138020001352 654.8418779997155 658.9916179999709 660.900349999778 661.1185720004141 662.2606610003859 664.8886730000377 669.5394289996475 670.5733239995316 673.0826420001686 674.6702070003375 678.7829999998212 679.5171710001305 683.5632330002263 684.0522059993818 684.374715000391 686.9751389995217 687.9891360001639 690.2482510004193 691.0958249997348 693.9081619996578 695.6193859996274 697.3794759996235 698.0729170003906 701.9305830001831 702.0096439998597 702.9872239995748 710.0287279998884 710.4514159997925 715.1190189998597 717.1144620003179 721.9098309995607 722.2516689999029 723.2006430001929 731.1376550002024 731.2900389991701 733.0109459999949 734.7408039998263 738.3250330006704 742.0997720006853 743.0467539997771 743.6175950001925 743.647299000062 745.3052169997245 745.677449000068 748.7105310000479 748.8146970001981 750.7011310001835 752.0336509998888 752.7002769997343 753.4840500000864 755.6836749995127 756.560792000033 759.5025639999658 759.8378909993917 760.3854979993775 783.7112230006605 796.2617600001395 798.9267180003226

Current
Mean: 746.305 ms
Stdev: 44.575 ms (6.0%)
Runs: 676.0613609999418 677.6517740003765 683.6642249999568 683.815510999877 688.5951740001328 690.3341069999151 690.9602049998939 691.188110999763 691.7969160000794 694.0515550002456 699.8621829999611 700.0558270001784 705.7474779998884 706.2397059998475 706.5270589999855 709.5593670001253 710.8012699997053 714.1393639999442 719.0796719999053 722.1282959999517 723.619059999939 726.6836350001395 726.8145349998958 729.1160899996758 729.4635009998456 730.6285810000263 733.4200849998742 733.7604170003906 739.3704840000719 745.3543710000813 745.7029220000841 750.6322840000503 754.9556479998864 755.3698729998432 755.8898930000141 759.3196209999733 760.043619999662 760.5923260003328 760.6333010001108 761.9827880002558 765.4920660001226 765.9375820001587 766.3960370002314 766.791993000079 771.5675050001591 773.3920089998282 775.4011240000837 782.4309080000967 783.7603759998456 784.0369070000015 794.9864510004409 800.5344650000334 803.6073009995744 807.0461840000935 813.4405930000357 816.8987630000338 823.5491949999705 833.9270430002362 847.2305910000578 856.2407240001485
App start regularAppStart Baseline
Mean: 0.014 ms
Stdev: 0.001 ms (6.2%)
Runs: 0.012287999503314495 0.012490999884903431 0.012695000506937504 0.012695999816060066 0.012817000038921833 0.01281800027936697 0.012858000583946705 0.012897999957203865 0.0129399998113513 0.012980000115931034 0.012980000115931034 0.013020000420510769 0.013020999729633331 0.013061000034213066 0.013062000274658203 0.013184000737965107 0.013224000111222267 0.013264999724924564 0.013264999724924564 0.013345999643206596 0.013427999801933765 0.013467999175190926 0.013508999720215797 0.013549999333918095 0.013590000569820404 0.013631000183522701 0.013631000183522701 0.013671999797224998 0.013671999797224998 0.013671999797224998 0.013672000728547573 0.01371300034224987 0.013875000178813934 0.013875000178813934 0.013956999406218529 0.013996999710798264 0.0139979999512434 0.014038000255823135 0.014038000255823135 0.014079000800848007 0.014119000174105167 0.014241999946534634 0.014282000251114368 0.014282000251114368 0.014403999783098698 0.014485999941825867 0.014526000246405602 0.014567000791430473 0.014568000100553036 0.0147299999371171 0.014730000868439674 0.014933000318706036 0.015137000009417534 0.015502999536693096 0.015909000299870968 0.015990999527275562 0.015991000458598137

Current
Mean: 0.016 ms
Stdev: 0.001 ms (7.1%)
Runs: 0.013509000185877085 0.01399700017645955 0.014444999862462282 0.014770000241696835 0.014851999934762716 0.014891999773681164 0.01501399977132678 0.015137000009417534 0.015176999848335981 0.01525900000706315 0.015340999700129032 0.015381000004708767 0.015544000081717968 0.015583999920636415 0.015666000079363585 0.015746999997645617 0.01582799991592765 0.015829000156372786 0.015868999995291233 0.015868999995291233 0.015910000074654818 0.015910000074654818 0.016112999990582466 0.016114000231027603 0.016114000231027603 0.01615400006994605 0.016234999988228083 0.016316999681293964 0.016316999681293964 0.01631700014695525 0.0163569999858737 0.016358000226318836 0.0165200000628829 0.016559999901801348 0.016764000058174133 0.016805000137537718 0.016844999976456165 0.016846000216901302 0.016926999669522047 0.017008000053465366 0.01704900013282895 0.01713100029155612 0.0172520000487566 0.0172520000487566 0.01725299982354045 0.017293000128120184 0.01741599990054965 0.0176189998164773 0.017700000200420618 0.017740999814122915 0.017741000279784203 0.01778100011870265 0.017822000198066235 0.018146999645978212 0.018148000352084637 0.018635999877005816 0.019613000098615885
App start nativeLaunch Baseline
Mean: 24.283 ms
Stdev: 3.912 ms (16.1%)
Runs: 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 23 23 23 23 24 24 24 25 25 25 25 25 26 26 26 26 27 27 27 27 28 28 28 29 29 29 30 30 31 32 33 33 34

Current
Mean: 23.288 ms
Stdev: 1.975 ms (8.5%)
Runs: 19 19 20 20 21 21 21 22 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 24 24 24 24 24 24 24 24 25 25 25 25 25 25 26 26 26 26 27 28 28 28

@github-actions
Copy link
Contributor

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

@rushatgabhane
Copy link
Member

false alarm. but some other PR could have caused it?

@amyevans
Copy link
Contributor

Yeah I thought the regression tests got fixed, but maybe not 🤷‍♀️ Going to remove the label

@amyevans amyevans removed the DeployBlockerCash This issue or pull request should block deployment label Oct 26, 2023
@OSBotify
Copy link
Contributor

🚀 Deployed to staging by https://github.com/maddylewis in version: 1.3.92-0 🚀

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

@OSBotify
Copy link
Contributor

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

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

@OSBotify
Copy link
Contributor

🚀 Deployed to staging by https://github.com/maddylewis in version: 1.3.93-0 🚀

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

@OSBotify
Copy link
Contributor

🚀 Deployed to production by https://github.com/Beamanator in version: 1.3.93-1 🚀

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
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants