Summary:
The current desktop plugin tutorial was outdated as it has several steps that are now automated, and still referred to old APIs. This has been updated now.
Additionally left the intermediate code of the tutorial in the plugin, but splitting `index.tsx` into `index_table.tsx` and `index_custom.tsx` (which will be updated in the next diff)
Clarified the tutorial page labels a little bit to show that 3 pages are covering the Desktop plugin development process.
Changelog: Updated the Desktop plugin tutorial
Reviewed By: jknoxville
Differential Revision: D28990029
fbshipit-source-id: a06a7a774ceca3daf10f8e8fbd4e03191dbfd1cc
Summary: Changelog: [Logs] show debug level logs by default. Now only verbose level is hidden by default
Reviewed By: fabiomassimo
Differential Revision: D28963445
fbshipit-source-id: e960654b02cf3b4248e0c8d4a9745208f160bc8d
Summary: Fixed minor keyboard navigation annoyance: pressing arrow down on the last entry would remove selection, then jump to first row. Pressing up on first row would deselect then select first again. After this change the first/last item is kept selected in those cases
Reviewed By: passy
Differential Revision: D28958705
fbshipit-source-id: 01dbce3971ed965eae3b74e6706fef96aa86df66
Summary: some type simplifications, that makes it easier to reuse data sources and helps type inference
Reviewed By: passy
Differential Revision: D28413380
fbshipit-source-id: 261a8b981bf18a00edc3075926bd668322e1c37d
Summary: We don't need to show plugin-related details and button "open globalError" (which anyway doesn't work) when showing global notifications.
Reviewed By: passy
Differential Revision: D28900468
fbshipit-source-id: 54347ede4f1e4dbfb0e41be5c50374fda35c1223
Summary: Improved message a bit to make it clear that VPN/Lighthouse is required on both sides - computer and mobile device. Also it will now show login link in case user is not signed in yet, because login is also required for www cert exchange.
Reviewed By: passy
Differential Revision: D28899558
fbshipit-source-id: 89de776f602a9f27a2c068efd8e3f08c28ec5f57
Summary:
I'm going through our resolutions one-by-one, removing them and then seeing what the resulting change in the yarn.lock is and if it falls below what was pinned prior to D28835488.
In this case, we're above the previous lock which means we can safely remove it without getting a vulnerable version back.
Reviewed By: muraziz
Differential Revision: D28835545
fbshipit-source-id: 3159e1a165bbd4310c44520b0fe861a0d3a74fed
Summary:
I'm going through our resolutions one-by-one, removing them and then seeing what the resulting change in the yarn.lock is and if it falls below what was pinned prior to D28835488.
In this case, we're above the previous lock which means we can safely remove it without getting a vulnerable version back.
Reviewed By: muraziz
Differential Revision: D28835487
fbshipit-source-id: 3897b2127e923b5ea68ec50b7675869f34c24640
Summary: I was in the groove. Here's some more.
Reviewed By: nikoant
Differential Revision: D28831742
fbshipit-source-id: 3314c0c2ba89b513a62b7c62683aaf5eeace5610
Summary: SignInSheet and "dispatcher/user" are not used in public build, so it doesn't make sense to keep them on github.
Reviewed By: passy
Differential Revision: D28789384
fbshipit-source-id: aa1ab0fc70f2211260017be42762714b753ea877
Summary:
Improving usability of the WAIQWatch plugin.
Also fixing a bug in `MasterDetail`, which didn't use `sidebarSize` as `height` when detail panel is shown at the bottom.
iOS companion diff here: D28756787
Reviewed By: tomw
Differential Revision: D28751609
fbshipit-source-id: ba27ae7ce3596179752c963dba1bf4b994767c2a
Summary:
When publishing a new flipper plugin, I realized my plugin wasn't showing up in the Plugin Installer search. This was due to a bug where we are only grabbing 50 plugins from NPM and filtering through them locally, instead of passing the search term to the search query. There are 59 plugins that match the keyword filter on npm so 9 plugins never get surfaced.
## Changelog
Fix missing plugins in plugin manager's NPM search
Pull Request resolved: https://github.com/facebook/flipper/pull/2377
Test Plan:
Test the search feature in Plugin Manager
Search for the previously missing package:

Previously working searches continue to work:

Reviewed By: nikoant
Differential Revision: D28831054
Pulled By: passy
fbshipit-source-id: 84442459cd760c3f593b3df5bb3d89d51852e1c4
Summary:
Bumps [metro-cache](https://github.com/facebook/metro) from 0.65.2 to 0.66.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/facebook/metro/releases">metro-cache's releases</a>.</em></p>
<blockquote>
<h2>Release v0.66.0</h2>
<ul>
<li><strong>[Breaking]</strong> metro-symbolicate: Optionally accept a SourceURL parameter for debug builds (7ad7560)</li>
<li><strong>[Feature]</strong> Move generator to Hermes stable (b280477)</li>
<li><strong>[Feature]</strong> Move for-of and ?? to hermes stable (31375f7)</li>
<li><strong>[Feature]</strong> Set app name for React Native Experimental Debug Connection (3aca116)</li>
<li><strong>[Feature]</strong> Infer the name "default" for anonymous exports (af23a1b)</li>
<li><strong>[Fix]</strong> Disable fileName moduleId parsing for non-legacy source maps (e473e93)</li>
<li><strong>[Fix]</strong> Format log messages using printf format (f2b3485)</li>
<li><strong>[Fix]</strong> Fix scope of function declaration binding in constant folding (150d13e)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="20e4480f9e"><code>20e4480</code></a> Bump metro to 0.66.0</li>
<li><a href="7ad7560e33"><code>7ad7560</code></a> Optionally accept a SourceURL parameter for debug builds</li>
<li><a href="af23a1b27b"><code>af23a1b</code></a> Infer the name "default" for anonymous exports</li>
<li><a href="31375f7604"><code>31375f7</code></a> Move for-of and ?? to hermes stable</li>
<li><a href="3aca116973"><code>3aca116</code></a> Set app name for React Native Experimental Debug Connection</li>
<li><a href="4bd9e40297"><code>4bd9e40</code></a> Deploy v0.148.0 to xplat</li>
<li><a href="54bcce22c6"><code>54bcce2</code></a> Backout for-of and canary ??</li>
<li><a href="f66d6e37f2"><code>f66d6e3</code></a> Canary Hermes for-of</li>
<li><a href="17d4761946"><code>17d4761</code></a> Clean up redundant experimental flowconfig options</li>
<li><a href="0b4f46c064"><code>0b4f46c</code></a> Update troubleshooting docs for metro cache tmpdir (<a href="https://github-redirect.dependabot.com/facebook/metro/issues/642">https://github.com/facebook/flipper/issues/642</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/facebook/metro/compare/v0.65.2...v0.66.0">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/2399
Reviewed By: nikoant
Differential Revision: D28795378
Pulled By: passy
fbshipit-source-id: b32069ecdbd4f54fd3655b709b994eb0148d04af
Summary:
Bumps [inquirer](https://github.com/SBoudrias/Inquirer.js) from 8.0.0 to 8.1.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/SBoudrias/Inquirer.js/releases">inquirer's releases</a>.</em></p>
<blockquote>
<h2>inquirer@8.1.0</h2>
<h3>New features</h3>
<ul>
<li>Now display a loading spinner while asynchronously filtering or validating data.</li>
<li><code>inquirer.prompt()</code> now accept a shorthand object syntax instead of an array with <code>name</code>d prompts:</li>
</ul>
<pre lang="js"><code>const { foo, bar } = await inquirer.prompt({
foo: {
message: '...',
default: '...',
},
bar: {
default: '...',
}
}):
</code></pre>
<h2>inquirer@8.0.1</h2>
<p>Fixes</p>
<ul>
<li>Fix issue with duplicate keys in <code>expand</code> prompt not being caught if casing didn't match</li>
<li>Fix <code>rawlist</code> prompt ignoring <code>short</code> option</li>
<li>Rollback dependencies migrated to ESM causing issue for some users</li>
</ul>
<p>And lastly general dependency upgrade (to non-ESM versions)</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="c4a3c2301a"><code>c4a3c23</code></a> Publish</li>
<li><a href="8cf1ed0ba1"><code>8cf1ed0</code></a> Update yarn.lock</li>
<li><a href="ddcd09e774"><code>ddcd09e</code></a> Fix var/const from PR</li>
<li><a href="06203f8d57"><code>06203f8</code></a> Handle questions as a plain object {[name]: question} (<a href="https://github-redirect.dependabot.com/SBoudrias/Inquirer.js/issues/885">https://github.com/facebook/flipper/issues/885</a>)</li>
<li><a href="6717092743"><code>6717092</code></a> feat(prompt): progress indicator for filter and validate with optiona… (<a href="https://github-redirect.dependabot.com/SBoudrias/Inquirer.js/issues/1002">https://github.com/facebook/flipper/issues/1002</a>)</li>
<li><a href="0053e3f569"><code>0053e3f</code></a> Publish</li>
<li><a href="de13f145ab"><code>de13f14</code></a> Update some dependencies</li>
<li><a href="33407e3bdd"><code>33407e3</code></a> downgrade: {emoji:2b07} chalk-pipe@4, husky@4 (major bumps breaking) (<a href="https://github-redirect.dependabot.com/SBoudrias/Inquirer.js/issues/1012">https://github.com/facebook/flipper/issues/1012</a>)</li>
<li><a href="357bbd9302"><code>357bbd9</code></a> fix: rawlist displays 'value' instead of 'short' after selection (<a href="https://github-redirect.dependabot.com/SBoudrias/Inquirer.js/issues/1013">https://github.com/facebook/flipper/issues/1013</a>)</li>
<li><a href="a17b3a243b"><code>a17b3a2</code></a> Expand: check for duplicates in a case-insensitive way (<a href="https://github-redirect.dependabot.com/SBoudrias/Inquirer.js/issues/1006">https://github.com/facebook/flipper/issues/1006</a>)</li>
<li>See full diff in <a href="https://github.com/SBoudrias/Inquirer.js/compare/inquirer@8.0.0...inquirer@8.1.0">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/2396
Reviewed By: nikoant
Differential Revision: D28795381
Pulled By: passy
fbshipit-source-id: 132a295162360f5aaaca2a0d4a9b07755f106bd1
Summary:
Bumps [redux](https://github.com/reduxjs/redux) from 4.0.5 to 4.1.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/reduxjs/redux/releases">redux's releases</a>.</em></p>
<blockquote>
<h2>v4.1.0</h2>
<p>This release shrinks our bundle size via error message extraction, updates several error messages for clarity, and optimizes our list of runtime dependencies.</p>
<p>Overall, version 4.1 shrinks from 2.6K min+gz to 1.6K min+gz thanks to these changes.</p>
<p>Be sure to check out <a href="https://github.com/reduxjs/redux-toolkit/releases/tag/v1.6.0-alpha.1">the Redux Toolkit 1.6 alpha containing our new "RTK Query" data fetching APIs!</a> It also includes Redux 4.1 as a dependency.</p>
<h2>Changelog</h2>
<h3>Error Message Extraction and Improvements</h3>
<p>We now extract all of our error messages from production builds in order to save on bundle size, using <a href="https://reactjs.org/blog/2016/07/11/introducing-reacts-error-code-system.html">a technique inspired from React's error code extraction</a>. The error messages will still show as normal in development, but in production they will reference a specific numeric error code and provide a link to a Redux docs page that has the full error message.</p>
<p>An example of this is: <a href="https://redux.js.org/errors?code=5">https://redux.js.org/errors?code=5</a> , which shows the "can't subscribe while reducers are executing" error.</p>
<p>The error code extraction saves about 800 bytes out of a production build.</p>
<p>Thanks to <a href="https://github.com/andrewmcgivery"><code>@andrewmcgivery</code></a> for doing all the hard work on implementing the error extraction!</p>
<p>We've also updated many of our error messages to provide additional details at runtime about what happened, especially runtime type checks such as "actions must be plain objects". They now provide a more specific type for the unexpected value, such as indicating <code>promise</code> or <code>function</code>:</p>
<pre lang="js"><code> expect(() => store.dispatch(() => {})).toThrow(
/the actual type was: 'function'/
)
<pre><code>expect(() =&gt; store.dispatch(new Date())).toThrow(
/the actual type was: 'date'/
)
</code></pre>
<p></code></pre></p>
<h3>Dependency Updates</h3>
<p>We've updated the list of runtime dependencies for Redux:</p>
<ul>
<li>We inlined the <code>symbol-observable</code> polyfill. This shrinks bundle size by a few bytes,</li>
<li>We've removed the legacy <code>loose-envify</code> dependency, which was only ever needed by Browserify users. If you still happen to be using Browserify, please review your build settings and see if you need to make any updates.</li>
<li>We now explicitly depend on <code>babel/runtime</code> to extract some additional helpers out of our bundle. It's likely that your app already is pulling in those helpers anyway, so that removes some potential duplication.</li>
</ul>
<h3>Typing Tweaks</h3>
<p>We've merged fixes for a couple edge cases in the 4.x TS typings related to state types.</p>
<h2>Changes</h2>
<ul>
<li>Remove symbol-observable and loose-envify deps (<a href="https://github-redirect.dependabot.com/reduxjs/redux/issues/4058">#4058</a> - <a href="https://github.com/markerikson"><code>@markerikson</code></a>)</li>
<li>Port error extraction setup from master (<a href="https://github-redirect.dependabot.com/reduxjs/redux/issues/4057">#4057</a> - <a href="https://github.com/markerikson"><code>@markerikson</code></a>)</li>
<li>Port build dependencies from master into 4.x (<a href="https://github-redirect.dependabot.com/reduxjs/redux/issues/4056">#4056</a> - <a href="https://github.com/markerikson"><code>@markerikson</code></a>)</li>
<li>Rewrite Redux core error messages (<a href="https://github-redirect.dependabot.com/reduxjs/redux/issues/4055">#4055</a> - <a href="https://github.com/markerikson"><code>@markerikson</code></a>)</li>
<li>feat: mangle error codes to error indexes (<a href="https://github-redirect.dependabot.com/reduxjs/redux/issues/3920">#3920</a> - <a href="https://github.com/andrewmcgivery"><code>@andrewmcgivery</code></a>)</li>
</ul>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="97a7798e83"><code>97a7798</code></a> 4.1.0</li>
<li><a href="32f368a2f1"><code>32f368a</code></a> 4.1.0-alpha.0</li>
<li><a href="9445d3ab3a"><code>9445d3a</code></a> Ignore Docusaurus output</li>
<li><a href="9a1d065ecf"><code>9a1d065</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/reduxjs/redux/issues/4058">#4058</a> from reduxjs/feature/4x-remove-legacy-deps</li>
<li><a href="d29cbfaf57"><code>d29cbfa</code></a> Include ESM .mjs file in size comparisons</li>
<li><a href="fb5abcccc2"><code>fb5abcc</code></a> Formatting</li>
<li><a href="0d7d94d818"><code>0d7d94d</code></a> Inline the symbol-observable polyfill</li>
<li><a href="b882d9afee"><code>b882d9a</code></a> Remove symbol-observable and loose-envify deps</li>
<li><a href="f3680b5bf9"><code>f3680b5</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/reduxjs/redux/issues/4057">#4057</a> from reduxjs/feature/4x-error-messages</li>
<li><a href="3ce88ddbe7"><code>3ce88dd</code></a> Formatting</li>
<li>Additional commits viewable in <a href="https://github.com/reduxjs/redux/compare/v4.0.5...v4.1.0">compare view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a href="https://www.npmjs.com/~acemarke">acemarke</a>, a new releaser for redux since your current version.</p>
</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/2400
Reviewed By: nikoant
Differential Revision: D28795377
Pulled By: passy
fbshipit-source-id: 00c213c0ba6b1df5071f48734e136a40082ee0b1
Summary: Changelog: allow zooming Flipper window content in and out either using View menu or hotkeys (Cmd+Plus) and (Cmd+Minus)
Reviewed By: passy
Differential Revision: D28748567
fbshipit-source-id: a214c708cae2c82d04eb53fc879518a0106517de
Summary:
In public CI (only?), asset downloads sometimes fail with a spurious 404.
We already have retrying in place, but it will obviously not do that on a 500.
Reviewed By: nikoant
Differential Revision: D28744817
fbshipit-source-id: b6a185d8e9db45e02c6427233a0171b00c552751
Summary:
Bumps [ws](https://github.com/websockets/ws) from 7.3.0 to 7.4.6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/websockets/ws/releases">ws's releases</a>.</em></p>
<blockquote>
<h2>7.4.6</h2>
<h1>Bug fixes</h1>
<ul>
<li>Fixed a ReDoS vulnerability (00c425ec).</li>
</ul>
<p>A specially crafted value of the <code>Sec-Websocket-Protocol</code> header could be used
to significantly slow down a ws server.</p>
<pre lang="js"><code>for (const length of [1000, 2000, 4000, 8000, 16000, 32000]) {
const value = 'b' + ' '.repeat(length) + 'x';
const start = process.hrtime.bigint();
<p>value.trim().split(/ *, */);</p>
<p>const end = process.hrtime.bigint();</p>
<p>console.log('length = %d, time = %f ns', length, end - start);
}
</code></pre></p>
<p>The vulnerability was responsibly disclosed along with a fix in private by
Robert McLaughlin from University of California, Santa Barbara.</p>
<p>In vulnerable versions of ws, the issue can be mitigated by reducing the maximum
allowed length of the request headers using the <a href="https://nodejs.org/api/cli.html#cli_max_http_header_size_size"><code>--max-http-header-size=size</code></a>
and/or the <a href="https://nodejs.org/api/http.html#http_http_createserver_options_requestlistener"><code>maxHeaderSize</code></a> options.</p>
<h2>7.4.5</h2>
<h1>Bug fixes</h1>
<ul>
<li>UTF-8 validation is now done even if <code>utf-8-validate</code> is not installed
(23ba6b29).</li>
<li>Fixed an edge case where <code>websocket.close()</code> and <code>websocket.terminate()</code> did
not close the connection (67e25ff5).</li>
</ul>
<h2>7.4.4</h2>
<h1>Bug fixes</h1>
<ul>
<li>Fixed a bug that could cause the process to crash when using the
permessage-deflate extension (92774377).</li>
</ul>
<h2>7.4.3</h2>
<h1>Bug fixes</h1>
<ul>
<li>The deflate/inflate stream is now reset instead of reinitialized when context
takeover is disabled (<a href="https://github-redirect.dependabot.com/websockets/ws/issues/1840">https://github.com/facebook/flipper/issues/1840</a>).</li>
</ul>
<h2>7.4.2</h2>
<h1>Bug fixes</h1>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="f5297f7090"><code>f5297f7</code></a> [dist] 7.4.6</li>
<li><a href="00c425ec77"><code>00c425e</code></a> [security] Fix ReDoS vulnerability</li>
<li><a href="990306d144"><code>990306d</code></a> [lint] Fix prettier error</li>
<li><a href="32e3a8439b"><code>32e3a84</code></a> [security] Remove reference to Node Security Project</li>
<li><a href="8c914d18b8"><code>8c914d1</code></a> [minor] Fix nits</li>
<li><a href="fc7e27d12a"><code>fc7e27d</code></a> [ci] Test on node 16</li>
<li><a href="587c201bfc"><code>587c201</code></a> [ci] Do not test on node 15</li>
<li><a href="f672710797"><code>f672710</code></a> [dist] 7.4.5</li>
<li><a href="67e25ff502"><code>67e25ff</code></a> [fix] Fix case where <code>abortHandshake()</code> does not close the connection</li>
<li><a href="23ba6b2922"><code>23ba6b2</code></a> [fix] Make UTF-8 validation work even if utf-8-validate is not installed</li>
<li>Additional commits viewable in <a href="https://github.com/websockets/ws/compare/7.3.0...7.4.6">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/2371
Reviewed By: passy
Differential Revision: D28714468
Pulled By: nikoant
fbshipit-source-id: c2a3a7091599f29d453a35bf89bab4a03817509c
Summary: Changelog: Increased contrast of timestamps text on marker timelines used in several plugins (QPL, Sections)
Reviewed By: mweststrate
Differential Revision: D28707431
fbshipit-source-id: 8749a95fccf895bddf707c1d830baf5c65578fb9
Summary:
We use exception for control flow here which isn't great
but we shouldn't log naked errors when a check fails.
Reviewed By: nikoant
Differential Revision: D28645636
fbshipit-source-id: db8c7b1457883acc767ac850f015f6b35a41730b
Summary: Some tests were occasionally flaky, by emulating delays, time variation should no longer influence tests.
Reviewed By: passy
Differential Revision: D28572946
fbshipit-source-id: f4134a6509a0ec0be2e8f36e5623c4882b5531b8
Summary: This change allows passing a directory containing plugin packages to include them into Flipper distributive. This is used by release command on Sandcastle (see D28626715).
Reviewed By: passy
Differential Revision: D28628425
fbshipit-source-id: 9c5d7527721f99b43991bace0b5e2f3a4ede0d13
Summary: This diff fixes "build-plugin" script which is failing for fb-internal plugins, because "fb/package.json" not exist. Because of that release of "fb/mobilebuilds" plugin failed recently: https://www.internalfb.com/intern/sandcastle/job/13510799309874638.
Reviewed By: passy
Differential Revision: D28624924
fbshipit-source-id: e00da98cfef992f5d49045afc9d404764a0d13ac