added manifest to web to prompt app install in chrome#29491
Conversation
|
Hey, I noticed you changed some webpack configuration files. This can break production builds. Did you remember to run a production build locally to verify they still work? |
Deploying with
|
| Latest commit: |
2ca8853
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://4443af4c.helpdot.pages.dev |
| Branch Preview URL: | https://rodrigo-prompt-install-mweb.helpdot.pages.dev |
|
I ran a production build and it still works. |
|
Hey @situchan bumping this for review. |
|
Going to review this tomorrow |
situchan
left a comment
There was a problem hiding this comment.
There's already app logo icon below. Can we reuse it?
https://github.com/Expensify/App/blob/main/assets/images/expensify-app-icon.svg
|
@rlinoz I tested https://29491.pr-testing.expensify.com/ which is https but prompt not showing. Also splash logo is cut XRecorder_21102023_002210.mp4 |
|
Is the New Expensify app not installed in the device? Also, did you enabled the flag I will use that logo |
Both are done already |
|
I was having the same issue as you, had to re-disable the flag and restart chrome Also, just to be sure the device has Play Store installed right? |
Right. |
|
🧪🧪 Use the links below to test this build in android and iOS. Happy testing! 🧪🧪 |
|
Still logo is cut Screen.Recording.2023-10-21.at.12.58.15.AM.movHappening only on QR build. Fine in localhost |
situchan
left a comment
There was a problem hiding this comment.
Code looks good to me. Just struggling on testing (I am not able to see banner at all)
Will try open link from WhatsApp
This comment was marked as outdated.
This comment was marked as outdated.
|
Unassigning @jasperhuangg as I've already reviewed |
|
@situchan in order for this to work I had to do the following:
|
|
Oh and also paste this flag into chrome: |
|
@Julesssss That worked. Thanks for the detailed step. Hope it won't be complex for real users when they visit new.expensify.com |
I mostly just care about enabling it. If Google make the conditions difficult, that seems fine to me.
Yeah. |
|
Great, so @situchan would you mind just filling out the checklist (obviously you don't need to test other platforms) and I'll merge? |
Reviewer Checklist
Screenshots/VideosWebMobile Web - SafariDesktopiOSAndroid |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Deployed to staging by https://github.com/Julesssss in version: 1.3.90-0 🚀
|
|
@rlinoz will you do the Internal QA for this one? |
|
@marcaaron Yes! |
|
Thanks ! |
|
🚀 Deployed to production by https://github.com/marcaaron in version: 1.3.90-2 🚀
|
|
🚀 Deployed to staging by https://github.com/Julesssss in version: 1.3.91-0 🚀
|
|
Hey @Julesssss @jasperhuangg @situchan I was assigned this issue for payment, but I'm unsure about the amount and if the urgency bonus is applied. Am I correct to think that @situchan should be paid $500 for the C+ review? Does this issue qualify for the urgency bonus? Also, it looks like the PR was merged 2 days ago, so should I wait 7 days to make sure there are no regressions before I make the payment? Thanks! |
|
No bonus. $500 if no regressions until Nov 1 |
|
Yep, as @situchan mentioned. I don't believe we include the urgency bonus on internal PRs |
|
🚀 Deployed to production by https://github.com/marcaaron in version: 1.3.91-8 🚀
|


Details
In order to make chrome mobile to prompt the user to install our app we need to add a
manifest.jsonto our mWeb page. I am not really sure if having a manifest file has any other side effect.I had to change the webpack script exactly to keep the
manifest.jsonin the web build.Good SO post about how to implement and test this.
Actual documentation which is confusing but maybe we can implement the banner in a better way later.
Fixed Issues
$ https://github.com/Expensify/Expensify/issues/325315
Tests
Offline tests
QA Steps
This is a little bit tricky to test, so feel free to DM me.
Make sure you are in an Android device with Google Play installed
And if you are running this locally make sure to be serving it over https.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)myBool && <MyComponent />.src/languages/*files and using the translation methodWaiting for Copylabel for a copy review on the original GH to get the correct copy.STYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)/** comment above it */thisproperly so there are no scoping issues (i.e. foronClick={this.submit}the methodthis.submitshould be bound tothisin the constructor)thisare necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);ifthis.submitis never passed to a component event handler likeonClick)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop