App: [HOLD for payment 2022-12-23] [$1000] Web splash screen does not work correctly on dev
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Action Performed:
Run the dev web app.
Expected Result:
The JS code for splash screen (and the .svg
component) should be inlined in index.html instead of included in a separate bundle.


Actual Result:
This works as expected on staging and production, but not on dev. On dev the splash screen JS ends up in a separate bundle, not inlined.

Workaround:
n/a – only affects developers.
Platform:
Where is this issue occurring?
- Web
- Desktop App
- Mobile Web
Version Number: 1.2.32-1 Reproducible in staging?: no Reproducible in production?: no Notes/Photos/Videos: I created an issue over here to ask the library maintainer about this.
Upwork Automation - Do Not Edit
- Upwork Job URL: https://www.upwork.com/jobs/~01ea03aab22a5c88d1
- Upwork Job ID: 1597497576249335808
Upwork Automation - Do Not Edit
- Upwork Job URL: https://www.upwork.com/jobs/~01e02c14f4b93626af
- Upwork Job ID: 1603853587688243200
- Last Price Increase: 2022-12-16
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 43 (18 by maintainers)
@ShuiRuTian Please get your changes done, We have still one business day left to merge the PR for qualifying a bonus. Else we might lose it!
The new clean PR is here: https://github.com/Expensify/App/pull/13399
@ShuiRuTian I’m intrigued.
@Santhosh-Sellavel I’m willing to consider @ShuiRuTian’s proposal since I agree it seems like https://github.com/stephencookdev/speed-measure-webpack-plugin is close to EOL:
Proposal
What we need to do:
Replace
speed-measure-plugin
withtime-analytics-webpack-plugin
.Reason:
speed-measure-plugin
will make custom hooks of other plugins go wrong. This will cause some strange issues. I guess this issue is just caused by this reason.time-analytics-webpack-plugin
. I want feedback from real users. And if there is any regression, I could provide response as soon as possible. It’s win-win.Tech details:
“tap” methods are the callback that every webpack plugin will use to do something at some time point.
speed-measure-plugin
uses Proxy to take over the control of “tap” methods, so that it could measure the time.However, the reference of Proxy object and the origin target is different. So Map and WeakMap will treat them as different key, then the value is not correct either.
time-analytics-webpack-plugin
hack for such keys, so the plugin will work.@ShuiRuTian
Please read our contributing guidelines to understand our process.
Also Refer proposing a solution to the job.
So as first step close the PR and write a proper proposal here thanks!
Not sure how viable it is, but I would love to see a proposal for an upstream fix in SpeedMeasurePlugin that doesn’t rely on a workaround like this.
@JalalMitali ~make this changes in order to reproduce.~ Please ignore this, I did not notice the word Safari. You are right I can also not reproduce the issue on safari, but this is reproducible on chrome.