-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
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 Cloudflare Pages
|
I ran a production build and it still works. |
Hey @situchan bumping this for review. |
Going to review this tomorrow |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.json
to 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.json
in 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 Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.src/languages/*
files and using the translation methodWaiting for Copy
label for a copy review on the original GH to get the correct copy.STYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)/** comment above it */
this
properly so there are no scoping issues (i.e. foronClick={this.submit}
the methodthis.submit
should be bound tothis
in the constructor)this
are necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);
ifthis.submit
is never passed to a component event handler likeonClick
)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)ScrollView
component to make it scrollable when more elements are added to the page.main
branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTest
steps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop