Summary:
Bumps [js-base64](https://github.com/dankogai/js-base64) from 3.7.4 to 3.7.5.
<details>
<summary>Commits</summary>
<ul>
<li><a href="7e790b799e"><code>7e790b7</code></a> version 3.7.5</li>
<li><a href="f729053682"><code>f729053</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dankogai/js-base64/issues/167">https://github.com/facebook/flipper/issues/167</a> from ctomacheski/main</li>
<li><a href="a9a994f367"><code>a9a994f</code></a> improve performance by stop using the mapFn param on Uint8Array.from constructor</li>
<li>See full diff in <a href="https://github.com/dankogai/js-base64/compare/3.7.4...3.7.5">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Pull Request resolved: https://github.com/facebook/flipper/pull/4519
Reviewed By: mweststrate
Differential Revision: D43305193
Pulled By: ivanmisuno
fbshipit-source-id: e10eb134c079951e325c1f4d627eb1e60510c12d
Summary: Plugin download failure is typical a transient error, no need to trigger monitoring for that
Reviewed By: ivanmisuno
Differential Revision: D43118116
fbshipit-source-id: 0cd0f87f0ed6123adcba28139308ecea92b1b508
Summary:
Tasks like T143443148 pop up frequently and are inactionable. This is usually due to device flakiness, storage being full, incompatibility or configuration problems.
Start and stop were also copy-pasted to make matters worse.
Reviewed By: ivanmisuno
Differential Revision: D42800489
fbshipit-source-id: 11caaa4133e4fa1d773364a6ba4e5f5bb0d2f2ce
Summary: Combining a bunch of individual tasks for dep upgrades into one diff.
Reviewed By: ivanmisuno
Differential Revision: D42706074
fbshipit-source-id: 054b2545ad1295699f47f4c6eb5065b7b9a1d6a0
Summary:
Followup of D39772453 (2437aeb3e9)
Fixes https://fb.workplace.com/groups/flippersupport/permalink/1518236858656967/
1. Stop using clientWidth and offsetWidth because they have rounding errors
2. Since step 1 did not resolve the issue entirely (for some weird reason I do not really have the capacity now to investigate - my bet it is a rounding error when you sum up doubles) set offset of the table to "scroll" instead of "auto". As a result, it starts rendering space for the scrollbars all the time, but since Flipper is a dev tool it should be fine
Reviewed By: antonk52
Differential Revision: D41839402
fbshipit-source-id: cf50eb1600b692d3970003fd1b45b953ee45e3df
Summary:
In our organization, Flipper is distributed in a version controlled way. As a result, we do not want users to manually update or receive prompts to update when a new version is available. There is already a `--updater` flag in the command line arguments for flipper.exe, but it isn't piped through. This change pipes it through and disables all update related UI when `--no-updater` is passed in.
## Changelog
Support --updater and --no-updater options for flipper.exe
Pull Request resolved: https://github.com/facebook/flipper/pull/4277
Test Plan: Ran `yarn build --win` in flipper/desktop, and launched flipper.exe from flipper/dist/win-unpacked with the `--updater`, `--no-updater` and no flags and ensured the proper behavior was observed (update UI shows by default or when `--updater` is specified, and doesn't show when `--no-updater` is specified).
Reviewed By: passy
Differential Revision: D41298321
Pulled By: mweststrate
fbshipit-source-id: 5ddfede2700954f0fdd6a111b20d0836fab25565
Summary:
Flipper plugins fail when importing css from third-party dependencies. This diff tries to fix that.
Effectively, the plugin can import the css and export it when is bundled.
When we load the plugin, we check if there's a css file for it. If there's one, we return it and try to use it.
Reviewed By: aigoncharov
Differential Revision: D40758178
fbshipit-source-id: e53afffcc481504905d5eeb1aea1f9114ee2a86b
Summary:
Design doc: https://docs.google.com/document/d/1HLCFl46RfqG0o1mSt8SWrwf_HMfOCRg_oENioc1rkvQ/ed
It does not make too much sense to have 2 different entry points to export Flipper debug data and to create a support request. It only creates ambiguity for our users. We could open the support request form automatically for them every time. In those rare cases when they try to attach new data to an existing support request, they can always not submit the form.
Reviewed By: passy
Differential Revision: D40632145
fbshipit-source-id: 6ca454d6e885493b32ac3aad008482045dccf51d
Summary:
Design doc: https://docs.google.com/document/d/1HLCFl46RfqG0o1mSt8SWrwf_HMfOCRg_oENioc1rkvQ/edit#
Attach what we can to the universal export file if any of the steps time out
CHANGELOG: Add a universal debug export button
Reviewed By: passy
Differential Revision: D40552235
fbshipit-source-id: 775afccacf053fbcf764d1f39e93a89ad20dee0a
Summary:
Design doc: https://docs.google.com/document/d/1HLCFl46RfqG0o1mSt8SWrwf_HMfOCRg_oENioc1rkvQ/edit#
Exporting all files form a device and export Flipper's own state could take a long time. We need to keep our users updated on the status.
Reviewed By: passy
Differential Revision: D40551661
fbshipit-source-id: d5c94fb99d4bc8b4495ce463915b77c475548f01
Summary:
Design doc: https://docs.google.com/document/d/1HLCFl46RfqG0o1mSt8SWrwf_HMfOCRg_oENioc1rkvQ/edit#
Add a button to export all possible debug data at once. IN subsequent diffs, I'll add more extensive data collection.
Reviewed By: antonk52
Differential Revision: D40467606
fbshipit-source-id: 6a4225945b1feb6c1a8073b5209a62ba0beb6148
Summary:
There were some situations were we would hang waiting for new clients but one had connected.
Additionally the old approach would close and reopen the dialog every time a state update happened in the redux store which was a little jarring. Now the polling of the update is independant the dialog
The dialog still flashes for other parts of the flow (when scanning for devices) and would be nice to fix this too in the future
Reviewed By: mweststrate
Differential Revision: D40477502
fbshipit-source-id: d1ff161f262493cf5b3fb74e22b49ed65de8c292
Summary: We were incorrectly assuming a client did not support a plugin because it was not fully initialized. This issue was only apparant on start deep links
Reviewed By: mweststrate
Differential Revision: D40477503
fbshipit-source-id: 5fd9db765f559b8eb80cc3680ee694dfd2cf9a37
Summary:
Bumps [emotion/styled](https://github.com/emotion-js/emotion) from 11.8.1 to 11.10.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/emotion-js/emotion/releases"><code>@emotion/styled</code>'s releases</a>.</em></p>
<blockquote>
<h2><code>@emotion/styled</code><a href="https://github.com/11"><code>@11</code></a>.10.4</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://github-redirect.dependabot.com/emotion-js/emotion/pull/2867">https://github.com/facebook/flipper/issues/2867</a> <a href="89b6dbb3c1"><code>89b6dbb3</code></a> Thanks <a href="https://github.com/Andarist"><code>@Andarist</code></a>! - Externalized code referencing <code>React.useInsertionEffect</code> to a separate <code>emotion/use-insertion-effect-with-fallbacks</code> package. This package should be used in your defined externals if you bundle Emotion for whatever reason. It references <code>useInsertionEffect</code> in a very specific way that allows us to use it conditionally. However, if the code consuming Emotion is bundled as a library with Emotion in it then some bundlers might change the way in which we reference <code>useInsertionEffect</code> and that might create problems for bundlers used to consume the said library code. By externalizing this new package you can still bundle Emotion if you want to without running into this problem as you won't "destroy" the carefully crafted reference to <code>useInsertionEffect</code> in the process.</p>
<p>Note that we don't recommend bundling Emotion. You should have very specific reasons to do so.</p>
</li>
<li>
<p>Updated dependencies [<a href="89b6dbb3c1"><code>89b6dbb3</code></a>]:</p>
<ul>
<li><code>@emotion/use-insertion-effect-with-fallbacks</code><a href="https://github.com/1"><code>@1</code></a>.0.0</li>
</ul>
</li>
</ul>
<h2><code>@emotion/styled</code><a href="https://github.com/11"><code>@11</code></a>.10.0</h2>
<h3>Minor Changes</h3>
<ul>
<li>
<p><a href="https://github-redirect.dependabot.com/emotion-js/emotion/pull/2819">#2819</a> <a href="bbad8c7993"><code>bbad8c79</code></a> Thanks <a href="https://github.com/nicksrandall"><code>@nicksrandall</code></a>! - <code>exports</code> field has been added to the <code>package.json</code> manifest. It limits what files can be imported from a package but we've tried our best to allow importing all the files that were considered to be a part of the public API.</p>
</li>
<li>
<p><a href="https://github-redirect.dependabot.com/emotion-js/emotion/pull/2819">#2819</a> <a href="bbad8c7993"><code>bbad8c79</code></a> Thanks <a href="https://github.com/nicksrandall"><code>@nicksrandall</code></a>! - Thanks to the added <code>exports</code> field, the package now includes a <code>worker</code> condition that can be utilized by properly configured bundlers when targeting worker-like environments. It fixes the issue with browser-specific files being prioritized by some bundlers when targeting workers.</p>
</li>
</ul>
<h3>Patch Changes</h3>
<ul>
<li>Updated dependencies [<a href="bbad8c7993"><code>bbad8c79</code></a>, <a href="bbad8c7993"><code>bbad8c79</code></a>]:
<ul>
<li><code>@emotion/babel-plugin</code><a href="https://github.com/11"><code>@11</code></a>.10.0</li>
<li><code>@emotion/is-prop-valid</code><a href="https://github.com/1"><code>@1</code></a>.2.0</li>
<li><code>@emotion/serialize</code><a href="https://github.com/1"><code>@1</code></a>.1.0</li>
<li><code>@emotion/utils</code><a href="https://github.com/1"><code>@1</code></a>.2.0</li>
</ul>
</li>
</ul>
<h2><code>@emotion/styled</code><a href="https://github.com/11"><code>@11</code></a>.9.3</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://github-redirect.dependabot.com/emotion-js/emotion/pull/2759">https://github.com/facebook/flipper/issues/2759</a> Thanks <a href="https://github.com/srmagura"><code>@srmagura</code></a>, <a href="https://github.com/Andarist"><code>@Andarist</code></a>! - Change the argument of the <code>shouldForwardProp</code> option of <code>styled</code> from <code>PropertyKey</code> to <code>string</code> in the TypeScript definitions.</p>
</li>
<li>
<p><a href="https://github-redirect.dependabot.com/emotion-js/emotion/pull/2333">https://github.com/facebook/flipper/issues/2333</a> <a href="3055efddf8"><code>3055efdd</code></a> Thanks <a href="https://github.com/Andarist"><code>@Andarist</code></a>! - <code>shouldForwardProp</code> has been changed from being a bivariant method to a contravariant function - it improves the type-safety for those that type this option.</p>
</li>
<li>
<p><a href="https://github-redirect.dependabot.com/emotion-js/emotion/pull/2333">https://github.com/facebook/flipper/issues/2333</a> <a href="3055efddf8"><code>3055efdd</code></a> Thanks <a href="https://github.com/antongolub"><code>@antongolub</code></a>! - <code>FilteringStyledOptions</code> and <code>StyledOptions</code> types no longer require a type argument for the <code>Props</code> generic.</p>
</li>
<li>
<p>Updated dependencies [<a href="26e4e3e8b6"><code>26e4e3e8</code></a>, <a href="5e81f21398"><code>5e81f213</code></a>, <a href="3055efddf8"><code>3055efdd</code></a>]:</p>
<ul>
<li><code>@emotion/serialize</code><a href="https://github.com/1"><code>@1</code></a>.0.4</li>
<li><code>@emotion/is-prop-valid</code><a href="https://github.com/1"><code>@1</code></a>.1.3</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="6835850e39"><code>6835850</code></a> Version Packages (<a href="https://github-redirect.dependabot.com/emotion-js/emotion/issues/2872">https://github.com/facebook/flipper/issues/2872</a>)</li>
<li><a href="89b6dbb3c1"><code>89b6dbb</code></a> Move conditional <code>useInsertionEffect</code> declarations into separate package (<a href="https://github-redirect.dependabot.com/emotion-js/emotion/issues/2867">https://github.com/facebook/flipper/issues/2867</a>)</li>
<li><a href="28522cd3ca"><code>28522cd</code></a> Upgrade Yarn (<a href="https://github-redirect.dependabot.com/emotion-js/emotion/issues/2870">https://github.com/facebook/flipper/issues/2870</a>)</li>
<li><a href="f2608b3a54"><code>f2608b3</code></a> Version Packages (<a href="https://github-redirect.dependabot.com/emotion-js/emotion/issues/2865">https://github.com/facebook/flipper/issues/2865</a>)</li>
<li><a href="b9b8b7493d"><code>b9b8b74</code></a> Fixed a regression that could cause a crash when looking for an ignoring comm...</li>
<li><a href="c60d646ff5"><code>c60d646</code></a> Version Packages (<a href="https://github-redirect.dependabot.com/emotion-js/emotion/issues/2860">https://github.com/facebook/flipper/issues/2860</a>)</li>
<li><a href="df434eaf9d"><code>df434ea</code></a> Pass <code>--no-immutable</code> to Yarn when regenerating lockfile after versioning pac...</li>
<li><a href="2de94aee23"><code>2de94ae</code></a> Regenerate lockfile after versioning packages</li>
<li><a href="005e211d53"><code>005e211</code></a> Fixed an issue in the styles minifier that caused interpolations to be someti...</li>
<li><a href="0ffd6068fe"><code>0ffd606</code></a> Fixed the ignore flag not disabling the warning when there are multiple block...</li>
<li>Additional commits viewable in <a href="https://github.com/emotion-js/emotion/compare/emotion/styled@11.8.1...@emotion/styled@11.10.4">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Pull Request resolved: https://github.com/facebook/flipper/pull/4118
Reviewed By: aigoncharov
Differential Revision: D40335000
Pulled By: mweststrate
fbshipit-source-id: 7427a4ebb0d6b4e643288ae10e4db34a3781bb88
Summary:
Without seeing the specific messages it might be hard to debug what is taking so long.
CHANGELOG: Enhance a warning about taking too much time to process plugin messages
Differential Revision: D40340272
fbshipit-source-id: a4dbd639cf389763a3cb00a190216c0e653c08e4
Summary:
Show users a way to fix Flipper EADDRINUSE on their own without filing a support request
CHANGELOG: Better error message for EADDRINUSE
Reviewed By: mweststrate
Differential Revision: D40338164
fbshipit-source-id: ec0419c78983b55736aa773757775b5302da51e0
Summary: Previously opening a deep link would always fail with flipper thinking the plugin did not exist. In this diff we wait for plugins to be initialized
Differential Revision: D40142275
fbshipit-source-id: 7894fc60a6df57e13395e05263b0905847b11ad3
Summary: We have a list of modules that we do not bundle with the plugins, but provide externally to them from Flipper. For the mechanism to work correctly, we have to stop importing from nested paths of these modules.
Reviewed By: mweststrate
Differential Revision: D39776237
fbshipit-source-id: 06eae9bf9d5b11b48d2720bf592bfea749773847
Summary:
^
Adding listeners was correctly intercepting events but the event object often lacked the information necessary to correctly triage and fix an issue.
I discovered that by subscribing to these events directly, the event object did have the required information.
Changelog: Use global window event handlers instead of listeners
Reviewed By: antonk52
Differential Revision: D39809292
fbshipit-source-id: 8a0fc7b7cd86ea16e40f2dc383bc30364f6fc16c
Summary: Without this change gatekeeped and disabled plugins are also counted as loaded, which results in plugin duplication in the UI
Reviewed By: lblasa
Differential Revision: D39695335
fbshipit-source-id: 759e2e0eaead1bee0f7d61e4ba3d1b8e4b6c0976
Summary:
We would like to version control Flipper and some of our custom plugins that are installed on developers' systems.
Flipper by default prompts users to upgrade so they sometimes do the update and then all our custom plugins break because they were compiled for an older version.
See https://github.com/facebook/flipper/issues/3947 for feature request info.
## Changelog
Adds notifyAvailable flag to config.json to disable prompting for users that "an update is available"
Pull Request resolved: https://github.com/facebook/flipper/pull/3992
Test Plan:
Tested by running locally.
Had to comment out the isProduction() check to confirm this it worked properly because this flag is false on dev versions.
Couldn't figure out how to manually test the handleOpenPluginDeeplink.tsx change but made a similar change there; happy to test that if you can tell me how to exercise that path.
Reviewed By: antonk52
Differential Revision: D39654481
Pulled By: antonk52
fbshipit-source-id: cef6b48d870915c48f620269c42d24b8ef1f4c29
Summary:
In D39311893 (094c5bdfdd) we started monkey-patching `require` to resolve global dependencies in the plugins. Apparently, patching `globalThis.require` did not work in the electron env. On my local machine it kept working because I had the experimental `flipper-server` feature enabled which embeds flipper-server into the electron build. In flipper-server we properly patch `require` via `Module.prototype.require` which affected the global require in electron.
With this fix we now properly patch require in electron via Module.prototype.require all the time
Changelog: Fix plugin loading with experimental flipper-server disabled
Reviewed By: nikoant
Differential Revision: D39633821
fbshipit-source-id: 9554f643c625620d116075ae87f573d8447850f6
Summary: `requirePlugin` in electron uses native `require` which has a built-in cache. Without this fix a stale version of the plugin loaded.
Reviewed By: lblasa
Differential Revision: D39542121
fbshipit-source-id: e6c4b65f9ea7b816803baaae537c234914fcb3d7
Summary: esbuild references external modules via `require`. We wrap `require` to point the references to built-in modules to global variables
Reviewed By: lblasa
Differential Revision: D39311893
fbshipit-source-id: a99480161c082f4095d78c22271f114532f32c16
Summary: As we stopped bundling plugins in D39276249, we no longer need the entry points for the bundled plugins (these entry points are always going to be empty)
Reviewed By: lblasa
Differential Revision: D39307565
fbshipit-source-id: 43751fe31c8bd962677c226b27cfe52093d3f2d4
Summary: Stop bundling plugins into Flipper Server bundles. In later diffs, we will start building all plugins even in dev mode which removes the need to bundle them.
Reviewed By: lblasa
Differential Revision: D39276249
fbshipit-source-id: 091405cfcf58aa7e1bd2b382da40f8d9841ae6b1
Summary:
Currently, the `app inspect` tooltip at the left rail has a link to the getting started page that doesn't exist.
New path is `/docs/getting-started/`.
Also fix troubleshooting guide and no devices are found to `/docs/getting-started/troubleshooting/`
Pull Request resolved: https://github.com/facebook/flipper/pull/4042
Reviewed By: lawrencelomax
Differential Revision: D39314971
Pulled By: lblasa
fbshipit-source-id: 000b354b60bd05211b99134b63d790bf6949060f
Summary:
This is the second part of the feature which enables data/log persistence by adding a global setting which controls whether the data is wiped when the same device is disconnected and reconnected.
Building on the previous diff, this diff uses the setting from the Redux Store to determine whether to "wipe" the data or not.
Changelog: Added option in Flipper settings to persist device data upon reconnection instead of wiping everything.
Reviewed By: mweststrate
Differential Revision: D38076567
fbshipit-source-id: 83658ac09bc88921a56517e1a1f624d4a4bbc2c5
Summary:
This is the first diff to implement the feature for the Flipper logs plugin to have an option to persist logs in the table between crashes, disconnections, etc.
Since this is not a local change, the UI option for persistence will be located in the settings for the Flipper UI(as seen in the test plan). The setting is associated with the Redux Store `Settings` and is stored globally to be used across all plugins. So the plan is making the persistence pertain to all plugins.
Reviewed By: mweststrate
Differential Revision: D37786988
fbshipit-source-id: 7ffc6077cbca559b3401b16770eda657a6c45620
Summary:
Some old welcome links are 'Page Not Found'.
## Changelog
Some old links are 'Page Not Found', so update them as follows:
1. Update "Using Flipper" link to 'https://fbflipper.com/docs/features'
2. Update "Add Flipper Support to Your App" link to 'https://fbflipper.com/docs/getting-started'
Pull Request resolved: https://github.com/facebook/flipper/pull/3902
Test Plan: Pass the test on a Mac.
Reviewed By: lblasa
Differential Revision: D37927376
Pulled By: passy
fbshipit-source-id: 0aac129932395e3f2ce3afa8c47cc637f3e814a8
Summary:
A few comments in my rewrite stack got missed, I am addressing them here.
In addition react testing library has been hoisted to the root module in the project and been made available to all sub modules
Reviewed By: mweststrate
Differential Revision: D37712339
fbshipit-source-id: 60984c3d16bd535b0c489570907f097c7d80f634