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/28599: Trim the draft private note #30357

Conversation

DylanDylann
Copy link
Contributor

@DylanDylann DylanDylann commented Oct 25, 2023

Details

  • We forgot to trim the value acquired from Report.getDraftPrivateNote

Fixed Issues

$ #29149 (comment)
PROPOSAL:

Tests

  1. Open the App and Create a workspace. If not created
  2. Go to #admins
  3. Click on header > Private notes > My note
  4. Press on Notes
  5. Add 3-4 newlines before the actual message; Press back button
  6. Press on Notes again
  7. Make sure the private note is trimmed
  • Verify that no errors appear in the JS console

Offline tests

QA Steps

  1. Open the App and Create a workspace. If not created
  2. Go to #admins
  3. Click on header > Private notes > My note
  4. Press on Notes
  5. Add 3-4 newlines before the actual message; Press back button
  6. Press on Notes again
  7. Make sure the private note is trimmed
  • 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: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
Screencast.from.25-10-2023.22.50.57.webm
MacOS: Desktop

@DylanDylann DylanDylann marked this pull request as ready for review October 25, 2023 16:00
@DylanDylann DylanDylann requested a review from a team as a code owner October 25, 2023 16:00
@melvin-bot melvin-bot bot requested review from srikarparsi and removed request for a team October 25, 2023 16:00
@melvin-bot
Copy link

melvin-bot bot commented Oct 25, 2023

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

@DylanDylann
Copy link
Contributor Author

@robertKozik Please help review this PR

@robertKozik
Copy link
Contributor

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
ios.android.native.mov
Android: mWeb Chrome
ios.android.web.mov
iOS: Native
ios.android.native.mov
iOS: mWeb Safari
ios.android.web.mov
MacOS: Chrome / Safari
web.mov
MacOS: Desktop
desktop.mov

Copy link
Contributor

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

melvin-bot bot commented Oct 27, 2023

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

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

@MariaHCD
Copy link
Contributor

@DylanDylann you'll need to check off every item in the PR author checklist

@DylanDylann
Copy link
Contributor Author

@MariaHCD just checked, all test are passed, thanks

@MariaHCD MariaHCD merged commit 84687b8 into Expensify:main Oct 30, 2023
19 of 31 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
Copy link
Contributor

Performance Comparison Report 📊

Significant Changes To Duration

Name Duration
App start TTI 1171.310 ms → 1289.732 ms (+118.422 ms, +10.1%) 🔴
App start runJsBundle 805.254 ms → 904.017 ms (+98.762 ms, +12.3%) 🔴
Show details
Name Duration
App start TTI Baseline
Mean: 1171.310 ms
Stdev: 46.845 ms (4.0%)
Runs: 1086.65830000001 1094.1925129999872 1103.7041850000387 1105.7675449999515 1108.9248509999597 1112.9528220000211 1116.2206259999657 1119.8169870000565 1121.154349999968 1125.0344790000236 1126.815195000032 1127.6658710000338 1129.154521999997 1130.6790289999917 1133.6465819999576 1134.7679240000434 1137.7854090000037 1141.0748870000243 1143.7055900000269 1145.4226150000468 1146.4081149999984 1148.0328499999596 1152.028370999964 1152.137584000011 1153.0308489999734 1154.007123999996 1156.9574090000242 1161.6244749999605 1162.4530030000024 1163.6228490000358 1164.2530709999846 1165.22545300005 1165.639519999968 1166.4293570000445 1170.8161590000382 1182.807451999979 1183.430738999974 1188.9942459999584 1190.6216949999798 1193.286865000031 1193.3974620000226 1201.8528490000172 1204.2211560000433 1206.2294949999778 1206.8248380000005 1209.32375900005 1210.404421000043 1211.3977820000146 1212.6025310000405 1213.762034000014 1214.7496739999624 1216.3949339999817 1224.1758139999583 1228.3181910000276 1232.1586360000074 1233.4006359999767 1248.8242180000525 1254.0563829999883 1292.971514999983 1296.583941000048

Current
Mean: 1289.732 ms
Stdev: 40.492 ms (3.1%)
Runs: 1180.9593139998615 1198.9714830000885 1224.536524000112 1227.3009790000506 1235.3812830001116 1239.5542709999718 1244.3949449998327 1245.6228220001794 1247.965110000223 1254.6121160001494 1254.9539109999314 1255.879321999848 1256.7072459999472 1256.8135589999147 1262.3740900000557 1263.027170999907 1263.461157000158 1265.6722740000114 1266.3623009999283 1270.5981310000643 1274.6753980000503 1276.776746999938 1277.9002290000208 1278.3408189998008 1281.5021959999576 1281.972616000101 1285.0881699998863 1285.6833979999647 1287.7966100000776 1290.4489239999093 1291.0289250002243 1292.952827999834 1296.6541019999422 1297.7848939998075 1301.9134169998579 1302.260879999958 1302.5287060001865 1303.670456000138 1306.8490789998323 1307.4111060001887 1307.6525570000522 1308.5188509998843 1309.5742819998413 1312.5891479998827 1318.4145019999705 1324.4857470002025 1325.5449020001106 1325.5503039998002 1329.470373999793 1331.4358089999296 1335.5153580000624 1336.6874469998293 1340.519685999956 1342.738185999915 1345.429996999912 1351.8778510000557 1362.6662630001083 1365.5227509997785 1381.6295190001838
App start runJsBundle Baseline
Mean: 805.254 ms
Stdev: 29.777 ms (3.7%)
Runs: 751 760 761 763 763 767 771 771 772 774 775 777 778 778 779 780 782 790 791 792 793 793 794 796 797 797 799 799 800 801 804 804 807 807 808 809 809 809 813 815 817 821 822 823 824 826 832 833 836 841 847 851 852 853 854 857 858 866 868

Current
Mean: 904.017 ms
Stdev: 34.025 ms (3.8%)
Runs: 815 832 843 843 859 863 868 868 869 873 876 877 878 879 880 881 882 882 883 884 885 887 888 891 893 900 901 902 904 905 906 907 909 909 910 912 915 917 917 919 920 920 922 924 928 930 932 937 938 939 939 942 945 947 950 958 963 963 964 968

Meaningless Changes To Duration

Show entries
Name Duration
Open Search Page TTI 702.432 ms → 743.821 ms (+41.389 ms, +5.9%)
App start regularAppStart 0.014 ms → 0.017 ms (+0.003 ms, +20.2%) 🟡
App start nativeLaunch 22.550 ms → 22.086 ms (-0.464 ms, -2.1%)
Show details
Name Duration
Open Search Page TTI Baseline
Mean: 702.432 ms
Stdev: 45.755 ms (6.5%)
Runs: 634.0170900002122 636.2224119999446 642.3737389999442 644.0856939998921 645.7911779999267 646.8296710001305 649.3734540001024 653.0260419999249 654.8312170000281 655.5563149999361 659.9676920000929 662.6349700000137 662.8041590000503 663.0734459999949 663.3390309999231 663.3877769999672 671.7709959999193 673.0369059999939 675.5144450000953 676.5360930000897 676.6385910001118 677.1508790000807 678.3958330000751 680.148886000039 680.8570560000371 682.0916750000324 683.908000000054 684.9202890000306 685.3742269999348 686.7991949999705 687.3913169999141 687.8998210001737 692.214925999986 693.1318360001314 693.5399169999873 695.4228929999517 695.6080320000183 698.1928309998475 701.4484050001483 714.2829590000911 717.1879070000723 724.690510999877 729.2427980001085 745.1678059999831 747.6963710000273 748.0189209999517 748.6289069999475 754.1612960000057 756.100260999985 756.118489000015 757.1941730000544 758.3481439999305 758.9462079999503 758.9789230001625 759.7961019999348 760.5715739999432 780.2736009999644 782.6309009999968 787.6352130000014 798.8080649999902 808.5475260000676

Current
Mean: 743.821 ms
Stdev: 47.634 ms (6.4%)
Runs: 663.6983229997568 668.3577069998719 678.9372560000047 679.872436999809 680.2311200001277 682.69112199964 686.1017660000362 686.2118739997968 686.2130130003206 686.6984870000742 689.9826259999536 691.0105389999226 695.7749029998668 698.3347579999827 698.9827069998719 699.0073240003549 701.5864259996451 702.7937420001253 703.4873460000381 706.3440359998494 708.1231689997949 710.4009199999273 720.4513749997132 723.0259610000066 727.8785810000263 730.9228110001422 733.7220859997906 738.0922849997878 740.1711830003187 741.0461840000935 742.4999190000817 743.6053470000625 746.4483229997568 748.6550700003281 750.4132899995893 756.3892830000259 761.4617110001855 764.3421229999512 767.9078779998235 769.229493000079 770.6604410000145 771.5627450002357 771.8223060001619 774.5214439998381 781.6043700003065 785.3224700000137 786.0850430000573 787.7610270003788 788.0867920001037 790.3238119999878 795.4479580000043 802.7339269998483 803.0646569998935 804.0389820002019 804.7658699997701 813.6319590001367 814.5421549999155 824.1247560000047 824.8747970000841 826.6033529997803 840.3854170003906
App start regularAppStart Baseline
Mean: 0.014 ms
Stdev: 0.001 ms (4.6%)
Runs: 0.012289000093005598 0.012451000045984983 0.012695999932475388 0.012858000001870096 0.012898999964818358 0.01293900003656745 0.012979999999515712 0.01306200004182756 0.013101999997161329 0.013223999994806945 0.013264999957755208 0.013264999957755208 0.013264999957755208 0.013306000037118793 0.013345999992452562 0.013386999955400825 0.013386999955400825 0.013387000071816146 0.013387000071816146 0.013427000027149916 0.013467999990098178 0.013508999953046441 0.013508999953046441 0.013509000069461763 0.013590999995358288 0.013590999995358288 0.013672000030055642 0.013712000101804733 0.013712999993003905 0.01375400007236749 0.013793999911285937 0.013794000027701259 0.013833999983035028 0.013875999953597784 0.013915999908931553 0.013916000025346875 0.013916000025346875 0.013916000025346875 0.01395700010471046 0.014038000022992492 0.014039000030606985 0.014078999985940754 0.014119000057689846 0.014242000062949955 0.014281999901868403 0.014281999901868403 0.014322999981231987 0.014364000060595572 0.014404000015929341 0.014404000015929341 0.01456699997652322 0.014771000016480684 0.0148930000141263 0.014933999977074564 0.014974000048823655 0.015340000041760504

Current
Mean: 0.017 ms
Stdev: 0.001 ms (6.0%)
Runs: 0.014119999948889017 0.014444999862462282 0.014811000321060419 0.015015000011771917 0.015176999848335981 0.015178000088781118 0.01534100016579032 0.015422000084072351 0.015462000388652086 0.015503000002354383 0.015542999841272831 0.015544000081717968 0.015583999920636415 0.015666000079363585 0.015666000079363585 0.015666000079363585 0.015746999997645617 0.01582799991592765 0.015868999995291233 0.015950999688357115 0.016112999990582466 0.016112999990582466 0.01615400006994605 0.016276000067591667 0.0163569999858737 0.016398000065237284 0.0165200000628829 0.016600999981164932 0.016601999755948782 0.016642000060528517 0.01672299997881055 0.016846000216901302 0.016926999669522047 0.016927000135183334 0.016927000135183334 0.01704900013282895 0.01704900013282895 0.017090000212192535 0.017090000212192535 0.01713100029155612 0.017171000130474567 0.017172000370919704 0.01733399974182248 0.01733399974182248 0.017374999821186066 0.017374999821186066 0.017374999821186066 0.017496999818831682 0.01749700028449297 0.017537000123411417 0.01757900044322014 0.01761800004169345 0.017862999811768532 0.0179449999704957 0.01814799988642335 0.018309999722987413 0.018352000042796135
App start nativeLaunch Baseline
Mean: 22.550 ms
Stdev: 3.403 ms (15.1%)
Runs: 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 23 23 24 24 24 25 25 25 25 25 27 27 27 28 29 29 30 30 31 32

Current
Mean: 22.086 ms
Stdev: 1.850 ms (8.4%)
Runs: 18 19 20 20 20 20 20 20 20 20 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 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 26 26 27 27

@github-actions github-actions bot added the DeployBlockerCash This issue or pull request should block deployment label Oct 30, 2023
@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 staging by https://github.com/MariaHCD in version: 1.3.93-0 🚀

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

@hannojg
Copy link
Contributor

hannojg commented Oct 30, 2023

The reported issue with the performance regression is likely a false positive. We are working on fixing that over here (so it can be ignored):

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

@OSBotify
Copy link
Contributor

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

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

1 similar comment
@OSBotify
Copy link
Contributor

OSBotify commented Nov 1, 2023

🚀 Deployed to staging by https://github.com/MariaHCD 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 ✅

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