bamlab / flashlight

πŸ“±βš‘οΈ Lighthouse for Mobile - audits your app and gives a performance score to your Android apps (native, React Native, Flutter..). Measure performance on CLI, E2E tests, CI...
https://docs.flashlight.dev
MIT License
1.22k stars 29 forks source link

fix(measure): UI buttons unresponsive/streamline socket URL handling #191

Closed nnnoel closed 10 months ago

nnnoel commented 10 months ago

This PR is a follow-up to https://github.com/bamlab/flashlight/pull/186 addressing this issue comment.

The issue was caused by the webapp connecting to a fixed socket server url (http://localhost:3000). To resolve this, we server-side render data into a (__FLASHLIGHT_DATA__) object, which is now available in the window context of the webapp. This change enables the webapp's socket client to connect to a dynamic server url.

A notable aspect of this change is its impact on unit testing, particularly for the MeasureWebApp component. Related tests now require setting up the window.__FLASHLIGHT_DATA__ context before importing MeasureWebApp. This is crucial because if window.__FLASHLIGHT_DATA__.serverSocketUrl is not initialized correctly, the webapp's socket connection will fail, leading to test failures that may not be immediately apparent. While this adds a layer of complexity to the initial testing approach, it's a necessary trade-off for the enhanced dynamism in the socket server connections.

https://github.com/bamlab/flashlight/pull/189

netlify[bot] commented 10 months ago

Deploy Preview for flashlight-docs canceled.

Name Link
Latest commit 241d5b275944e7fc1aa7f963304a69c7d4d7c2a9
Latest deploy log https://app.netlify.com/sites/flashlight-docs/deploys/65a7ebf6009b6d0008846b4b
flashlight-bot commented 10 months ago

Flashlight Automated Report πŸ”¦

flashlight-bot commented 10 months ago

Flashlight Automated Report πŸ”¦