Commit Graph

2926 Commits

Author SHA1 Message Date
Andrey Goncharov
9fc9d6f9b5 Remove redundant exports from 'flipper'
Summary: Prevent getRenderHostInstance leaking into 'flipper' types

Reviewed By: lblasa

Differential Revision: D39574678

fbshipit-source-id: 43932d73fed8b37a2a0791a312ee3d5129a4923f
2022-09-16 06:33:18 -07:00
Andrey Goncharov
8dc5f4d3ea Remove stale build options
Summary: Now that we build all plugins at all times and it is super-fast, these options are redundant

Reviewed By: lblasa

Differential Revision: D39542723

fbshipit-source-id: 1b30ba384267ec4fd0c35b4dc14f0223ffe414c9
2022-09-15 10:02:19 -07:00
Andrey Goncharov
ab03140201 Fix list of watch folders for electron dev build
Summary: Restart electron app if we had any server-code changes

Reviewed By: lblasa

Differential Revision: D39542169

fbshipit-source-id: fb8e335f3e3fe0cf34e57a79b96e9cc8377e9fda
2022-09-15 10:02:19 -07:00
Andrey Goncharov
fab4ee8c22 Unload stale modules from electron cache
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
2022-09-15 10:02:19 -07:00
Andrey Goncharov
6b3298a29e Reload plugins with updated sources
Reviewed By: lblasa

Differential Revision: D39540173

fbshipit-source-id: 65f5d0f0a325d6ca3ed5e1213e689490c6b650b2
2022-09-15 10:02:19 -07:00
Andrey Goncharov
d3d2e189d0 Consume changed plugins message in the UI
Summary: Relay message to the React app via postmessage. Later, we will subscribe to these messages and update the plugins

Reviewed By: lblasa

Differential Revision: D39539590

fbshipit-source-id: c6742e45330e71b63c135c0267e6e9c5817fc9ff
2022-09-15 10:02:19 -07:00
Andrey Goncharov
c69d102ca1 Track plugin changes and notify frontend
Summary: Watch source plugin folders and notify frontend that any of them changed. In subsequent diffs, we will start reloading plugins that changed.

Reviewed By: lblasa

Differential Revision: D39539443

fbshipit-source-id: 726916c0bce336a2c0179558526bcb1b74e35b93
2022-09-15 10:02:19 -07:00
Andrey Goncharov
3639feef61 Watch and rebuild plugins
Summary: Now, once we build all plugins before we start Flipper, we need to rebuild some of them when they change. Previously, it was handled by Metro when we included plugins int he bundle, but we no longer include them in the bundle.

Reviewed By: lblasa

Differential Revision: D39510213

fbshipit-source-id: a352d78946f844a25d9127ac09c26e43e6739ca9
2022-09-15 10:02:19 -07:00
Andrey Goncharov
9dda947371 Fix flipper server prod build
Summary: Make flipper-server link local flipper-* deps for intern prod build. Update flipper-* deps versions for public builds so `npx` pulls them from npm

Reviewed By: lblasa

Differential Revision: D39497944

fbshipit-source-id: ca2674a4ac8f5b6c3efa9546b631f2526bf48f8e
2022-09-15 10:02:19 -07:00
Andrey Goncharov
ed93dfe978 Refine prod and dev deps
Summary: Move flipper local deps to prod deps, so yarn installs them later when we build a bundle

Reviewed By: lblasa

Differential Revision: D39475545

fbshipit-source-id: 5b61d15b45ee315c3b35d8e6836c114b90503b1a
2022-09-15 10:02:19 -07:00
Andrey Goncharov
a411fc6720 Remove stale babel transforms
Reviewed By: lblasa

Differential Revision: D39467843

fbshipit-source-id: e2659995913144d4ba1a51e5670d4405e1354314
2022-09-15 10:02:19 -07:00
Andrey Goncharov
094c5bdfdd Provide external modules to plugins
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
2022-09-15 10:02:19 -07:00
Andrey Goncharov
650ff4bcfb Remove plugin bundling
Summary: Remove the notion of bundled plugins

Reviewed By: lblasa

Differential Revision: D39308888

fbshipit-source-id: aa88ddbf2801ad1da95f89e4c761259b697b0d66
2022-09-15 10:02:19 -07:00
Andrey Goncharov
f835e07c46 Build all plugins before start
Summary: prepareDefaultPlugins builds all plugins now. We no longer need extra helpers

Reviewed By: lblasa

Differential Revision: D39308098

fbshipit-source-id: 4f12a0bdbc2afd2b306565fff3494daa630e1a20
2022-09-15 10:02:19 -07:00
Andrey Goncharov
642a3ebf81 Remove default plugin entrypoints for hot-reloading
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
2022-09-15 10:02:19 -07:00
Andrey Goncharov
94df830dfb Migrate plugin bundling to esbuild
Summary: With esbuild bundling all plugins takes a couple of seconds instead of 3-5 minutes with metro. As a result, we can stop including plugins into Flipper's bundle for development and always bundle them separately. It reduces complexity of our build pipeline and makes the dev build work more like our prod build. It also allows us to stop bundling flipper-server code and just compile it instead.

Reviewed By: lblasa

Differential Revision: D39262048

fbshipit-source-id: c4da0f2ea2807015d98e0d070349c39b2118e189
2022-09-15 10:02:19 -07:00
Andrey Goncharov
62bb4df8d7 Remove direct eval from react devtools
Reviewed By: lblasa

Differential Revision: D39467192

fbshipit-source-id: 925678b17c9a454298aa141eb19e1ae6aa9c369f
2022-09-15 10:02:19 -07:00
Andrey Goncharov
f463520522 Decapitate "network" plugin
Reviewed By: lawrencelomax

Differential Revision: D39466980

fbshipit-source-id: b880690a2b334fd063f2d06923743d67b79e7b08
2022-09-15 10:02:19 -07:00
Andrey Goncharov
cb610ec751 Decapitate "navigation" plugin
Reviewed By: lawrencelomax

Differential Revision: D39465305

fbshipit-source-id: e7c4d22e0f2acfbf71a08821c90b6f26af628af2
2022-09-15 10:02:19 -07:00
Andrey Goncharov
a888e6affa Simplify bundled plugin setup
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
2022-09-15 10:02:19 -07:00
Andrey Goncharov
a67a4e5d0f Remove babel transforms for flipper-server
Summary: Flipper server itself requires no babel transforms. We applied extra transforms only for the bundled plugins. However, we pack and ship all plugins in the /static folder. They are always available on the FS. Therefore we could stop bundling any plugins into flipper-server's source code.

Reviewed By: lblasa

Differential Revision: D38910251

fbshipit-source-id: b3e9fe5ae2ab69ce5579b01b6793ebf7e88baf66
2022-09-15 10:02:19 -07:00
Andrey Goncharov
218cb6abf2 Fix server bundling order
Summary: prepareDefaultPlugins and prepareHeadlessPlugins should come before compileServerMain to bundle plugins

Reviewed By: passy

Differential Revision: D38862132

fbshipit-source-id: 952a2f6d4f857f4faacfc952bebb4e59afcbc5b0
2022-09-15 10:02:19 -07:00
Andrey Goncharov
97b8b8a1c4 Split flipper-plugin package
Summary:
flipper-server-companion depends on flipper-plugin. flipper-plugin includes dependencies that run only in a browser. Splitting flipper-plugin into core and browser packages helps to avoid including browser-only dependencies into flipper-server bundle.
As a result, bundle size could be cut in half. Subsequently, RSS usage drops as there is twice as less code to process for V8.

Note: it currently breaks external flipper-data-source package. It will be restored in subsequent diffs

Reviewed By: lblasa

Differential Revision: D38658285

fbshipit-source-id: 751b11fa9f3a2d938ce166687b8310ba8b059dee
2022-09-15 10:02:19 -07:00
Luke De Feo
24ec43eb92 Add observer type to Perf event
Summary: While looking at the event stream it is useful to know which observer type fired it

Reviewed By: lblasa

Differential Revision: D39430756

fbshipit-source-id: bc52f085a5497692f8076b12a9c015cc33a19d1e
2022-09-13 11:05:42 -07:00
Flipper Bot
a941652a43 Flipper Release: v0.164.0
Summary: Releasing version 0.164.0

Reviewed By: aigoncharov

Differential Revision: D39431774

fbshipit-source-id: 17c616386d00460e7b65cc88403bb6dbbc882853
2022-09-12 09:11:16 -07:00
Andrey Goncharov
69812d543e Do not disconnect dummy devices
Summary: Do not remove dummy devices as they are created during WWW cert exchange and are not picked up by IDB

Reviewed By: lblasa

Differential Revision: D39430458

fbshipit-source-id: 249efda23f324522ae2ae3a0ee4f198ab701d22d
2022-09-12 07:37:21 -07:00
Luke De Feo
9a270cdc7a Tree observer
Summary:
Added concept of a tree observer which is responsible for listening to the changes for a portion of the UI tree. This structure nests so Tree observers can hold child tree observers which emit events on a different cadence. This structure should allow us to incorporate different UI frameworks down the road as well as native android views.

We push the tree updates from the tree observers onto a channel and setup a coroutine to consume this channel, serialize and send down the wire.

Reviewed By: lblasa

Differential Revision: D39276681

fbshipit-source-id: a4bc23b3578a8a10b57dd11fe88b273e1ce09ad8
2022-09-12 03:48:43 -07:00
Luke De Feo
c76c993ce4 Introduced concept of active child
Summary: A node can have an active child, if present we assume all others are inactive and we don't traverse them. This means the activities not on top and view pager views not active will not be scanned. Additionally on the desktop we are automatically collapsing these views. The net result is a lot less work done on the main thread

Reviewed By: lblasa

Differential Revision: D39310126

fbshipit-source-id: ebd0c69d46f2d42fe42e678c8327fcdc73d08385
2022-09-12 03:48:43 -07:00
Andrey Goncharov
a9fe381076 Add more detailed errors for assertConnected
Differential Revision: D39383946

fbshipit-source-id: e11a29c77c5abe7f3fee5e979c596efd31ef4ec2
2022-09-09 06:30:04 -07:00
Flipper Bot
926ba9608e Flipper Release: v0.163.0
Summary: Releasing version 0.163.0

Reviewed By: aigoncharov

Differential Revision: D39303682

fbshipit-source-id: fa6bd8a1cb08c0f45803d027632d7432e64680e2
2022-09-08 08:03:07 -07:00
Joshua May
13afb8b802 Use supplied path when installing plugin from NPM to prevent escaping issues (#3825)
Summary:
Resolves https://github.com/facebook/flipper/issues/3819

This PR fixes Flipper's plugin installation, so that scoped plugins (with `/` in the name) can be successfully installed (+removed).

In more detail, Flipper's function [`installPluginFromNpm()`](69bac4a3d6/desktop/plugin-lib/src/pluginInstaller.tsx (L99-L114)) relies on the `live-plugin-manager` package to handle the NPM package to a temporary directory.

Before this patch, Flipper would assume the name of the directory (incorrectly). This patch simply uses the directory as provided by `live-plugin-manager`'s result.

If we use `shopify/flipper-plugin-react-native-performance` as a concrete example after this patch:

- `installPluginFromNpm()` is called to install `shopify/flipper-plugin-react-native-performance`
- `plugManNoDep.install()` installs the plugin to `/path/to/tmp/shopify/flipper-plugin-react-native-performance`
  - note: before this patch, it would have been assumed to be installed to: `/path/to/tmp/shopify__flipper-plugin-react-native-performance` which does not exist
- `installPluginFromTempDir()` is called to install the package to `~/.flipper/installed-plugins/shopify__flipper-plugin-react-native-performance/{version}` (where `{version}` is the current version, i.e. `1.0.0`)

Once the plugin is in `~/.flipper/installed-plugins/`, the escaping is correctly applied consistently by Flipper, and there are no further issues managing/using the plugin.

## Changelog

Fixed errors when installing scoped NPM plugins

Pull Request resolved: https://github.com/facebook/flipper/pull/3825

Test Plan:
Ideally we'd have some unit tests, but mocking out the NPM fetching in `live-plugin-manager` seems like a bunch of work. If you have some shortcuts, let me know, because this would be useful to test across platforms.

But in the meantime, we can easily manually test this.

### Reproduce the failure

First, let's reproduce the failure:

- run Flipper 0.150.0 (or `yarn start` on master, etc)
- open plugin marketplace, attempt to install scoped plugins
- installation will fail (with ⚠️ icon)
<img width="1541" alt="Screen Shot 2022-06-20 at 1 18 21 pm" src="https://user-images.githubusercontent.com/33126/174590735-ed25d192-a661-4333-af08-e494678b9fbb.png">
- logs will show a failure to read `package.json`
<img width="1175" alt="Screen Shot 2022-06-20 at 1 18 39 pm" src="https://user-images.githubusercontent.com/33126/174590824-339ba7ef-dcde-42b6-90ac-b99424845c3e.png">

### Demonstrate success

- run Flipper from this branch (via `yarn start`)
- open plugin marketplace, attempt to install scoped plugins
- installation will succeed, with notification to restart Flipper
<img width="1541" alt="image" src="https://user-images.githubusercontent.com/33126/174591112-880f55bf-0439-457c-a199-4bab0b3f193f.png">
- (package can also be successfully used/upgraded/uninstalled)

Reviewed By: lawrencelomax

Differential Revision: D39345564

Pulled By: lblasa

fbshipit-source-id: 729d70a29c7941e59ac03bb21061fc1d2bc8d998
2022-09-08 04:27:00 -07:00
Jeferson S. Brito
2b927b4e72 fix: 404 docs links in app inspect (#4042)
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
2022-09-08 03:45:47 -07:00
Lorenzo Blasa
ccec5a6abe Add a very simple attributes inspector
Summary: Add a very simple attributes inspector

Reviewed By: LukeDefeo

Differential Revision: D39306728

fbshipit-source-id: 0e46b3efc617253d0b3006e81a46f00fdf8e8457
2022-09-07 06:46:41 -07:00
Luke De Feo
41068d1c90 Native UI scan
Summary: Added scheduler to scan the Native UI every 500 ms to test, Also added instrumentation in a separate event with the timings of each stage visualised in a Data table on desktop which can be accessed with ctrl+I. Currently this instrumentation event is sent every time but it could be a config option controlled from the desktop in the future

Reviewed By: lblasa

Differential Revision: D39205313

fbshipit-source-id: ca034171db6b062396b4ef28028aaa663c4d852a
2022-09-07 04:37:17 -07:00
Luke De Feo
a5da6923eb Flatten layout during traversal
Summary: Move from a nested structure to a flatten one for data exchange, this will allow us to only send sections of the UI in the future

Reviewed By: lblasa

Differential Revision: D38982138

fbshipit-source-id: d578a07a6d2d7e117fbd741bd6e33062223ce10d
2022-09-07 04:37:17 -07:00
Luke De Feo
55b852f90c Basic tree UI
Summary: A very basic tree in Antd to visualise the UI

Reviewed By: lblasa

Differential Revision: D38977035

fbshipit-source-id: f9bbf765ea8027eeb263cad86407502c6a5779dd
2022-09-07 04:37:17 -07:00
Andrey Goncharov
9c7a53fd05 Fix iOS crash parsing
Reviewed By: lawrencelomax

Differential Revision: D39058673

fbshipit-source-id: 64065c6d7e9fa96e827419bd6cffbceccc110d89
2022-09-05 07:46:02 -07:00
Lorenzo Blasa
dab510c546 Fix starting screen captures
Summary:
Starting a screencapture longer than 30 seconds would timeout as the start command waits for the process to finish. Removed that wait is it is the stop command that should only wait for the finish.

(n.b. please ship after accepting, as I'm on PTO)

Reviewed By: LukeDefeo

Differential Revision: D38918570

fbshipit-source-id: fd93e1239985c81a2143ceb79312518e7ebb27f5
2022-08-25 02:18:40 -07:00
Flipper Bot
3734225dd7 Flipper Release: v0.162.0
Summary: Releasing version 0.162.0

Reviewed By: cekkaewnumchai

Differential Revision: D38973666

fbshipit-source-id: cb17fe83c805a1c4fbef69bf035f4437516665d0
2022-08-24 03:55:15 -07:00
Andrey Goncharov
5515b27499 Fix importing large Flipper exports
Reviewed By: lblasa

Differential Revision: D38945105

fbshipit-source-id: ba78ccfc82b65013b79c6c962de7bdef5ae41a60
2022-08-23 09:46:29 -07:00
Andrey Goncharov
9b58f5217e Catch crash file parsing errors
Reviewed By: passy

Differential Revision: D38940908

fbshipit-source-id: 59f0669311093a4a9c24f570d7e63de0a51f9376
2022-08-23 08:55:25 -07:00
Luke De Feo
f1e80b18b1 Basic desktop plugin
Summary:
Scaffolded desktop UI for UI debugger
I changed getroot from an rpc call to an event sent on connect. The root should never change as its the application object.

Reviewed By: lblasa

Differential Revision: D38866008

fbshipit-source-id: ca0f1908bedb643238f11ed796922e3359619167
2022-08-22 03:02:53 -07:00
Lorenzo Blasa
fbbb793497 Shutdown flipper-server on Flipper Desktop launch
Summary: At launch, if flipper-server is running, send the shutdown message.

Reviewed By: passy

Differential Revision: D38861178

fbshipit-source-id: 4aab5f2b50938cb70a2dfae0d9056df337baecc3
2022-08-19 06:41:38 -07:00
Adam Ernst
0aa1f14536 Remove @scarf-generated from xplat/sonar
Summary: See D38829381.

Reviewed By: d16r

Differential Revision: D38837720

fbshipit-source-id: c576e16ebb5a0afd5e6dfc71adb3cf0c2361e9a3
2022-08-19 05:54:13 -07:00
Flipper Bot
f9afe75a81 Flipper Release: v0.161.0
Summary: Releasing version 0.161.0

Reviewed By: lblasa

Differential Revision: D38858847

fbshipit-source-id: 56a356ed7028110fb028f36a490efb6fa61a3598
2022-08-19 05:02:55 -07:00
Pascal Hartig
c90ab4ed7b Change author from Facebook Inc to Meta
Reviewed By: mweststrate

Differential Revision: D38828665

fbshipit-source-id: b9beb1f445a0caeed536f2119694da00df825005
2022-08-19 04:31:32 -07:00
Michel Weststrate
075c9e1dda Disable NUX animations
Summary:
I noticed that on my Mac M1 Flipper feels really sluggish in term of interactions compared to my Mac Pro. Started profiling and notices we have continously 60 reflows/sec and a very continous stream of DOM nodes allocations. This in turn is caused by our NUX elements, whose opacity anymation causes a reflow, which causes our interactive container (used for resizable sidebars etc) do to some calculations.

This is quite noticeble in how fluent clicks etc are handled, as long as there are NUX-es open. Not sure why this doesn't feel as bad on Intel machines, but alas the effect is very clearly visible in the performance monitor. Or when dismissing all NUX-es, which drops the performance issue even in current builds.

Disabling the opacity anymation and giving it a fixed value, fixes the issue as well, which is done in this diff.

Changelog: Minor improvements on M1 machines

Reviewed By: passy

Differential Revision: D38859406

fbshipit-source-id: 3b97c6c8444290e2a0a8b17b175de9e44159e258
2022-08-19 04:28:43 -07:00
Flipper Bot
882c06fb65 Flipper Release: v0.160.0
Summary: Releasing version 0.160.0

Reviewed By: mweststrate

Differential Revision: D38829728

fbshipit-source-id: b0c28f7099ecde8f1afba298af713891d5f37c04
2022-08-18 09:21:56 -07:00
dependabot[bot]
ef66d452ee Bump app-builder-lib from 23.0.8 to 23.4.0 in /desktop (#4008)
Summary:
Bumps [app-builder-lib](https://github.com/electron-userland/electron-builder/tree/HEAD/packages/app-builder-lib) from 23.0.8 to 23.4.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/electron-userland/electron-builder/releases">app-builder-lib's releases</a>.</em></p>
<blockquote>
<h2>v23.4.0</h2>
<h2>What's Changed</h2>
<ul>
<li>feat: Adding timeout to publisher config for api requests and uploads by <a href="https://github.com/mmaietta"><code>@​mmaietta</code></a> in <a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/7028">electron-userland/electron-builder#7028</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/electron-userland/electron-builder/compare/v23.3.3...v23.4.0">https://github.com/electron-userland/electron-builder/compare/v23.3.3...v23.4.0</a></p>
<h2>v23.3.3</h2>
<h2>What's Changed</h2>
<ul>
<li>docs: highlight, thanks by <a href="https://github.com/gaoyia"><code>@​gaoyia</code></a> in <a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/7010">electron-userland/electron-builder#7010</a></li>
<li>fix: Duplicate values during deep assign of extra files by <a href="https://github.com/mmaietta"><code>@​mmaietta</code></a> in <a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/7019">electron-userland/electron-builder#7019</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/gaoyia"><code>@​gaoyia</code></a> made their first contribution in <a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/7010">electron-userland/electron-builder#7010</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/electron-userland/electron-builder/compare/v23.3.2...v23.3.3">https://github.com/electron-userland/electron-builder/compare/v23.3.2...v23.3.3</a></p>
<h2>v23.3.2</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: Wrap the nsProcess include in a !ifndef by <a href="https://github.com/titus-anromedonn"><code>@​titus-anromedonn</code></a> in <a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/6996">electron-userland/electron-builder#6996</a></li>
<li>fix: installDir definition <a href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/app-builder-lib/issues/6907">#6907</a> by <a href="https://github.com/panther7"><code>@​panther7</code></a> in <a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/6995">electron-userland/electron-builder#6995</a></li>
<li>fix(electron-updater): fix backward compatibility for GitHub provider without channels by <a href="https://github.com/matejkriz"><code>@​matejkriz</code></a> in <a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/6998">electron-userland/electron-builder#6998</a></li>
<li>chore: Adding allowPrerelease github integration tests by <a href="https://github.com/mmaietta"><code>@​mmaietta</code></a> in <a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/7003">electron-userland/electron-builder#7003</a></li>
<li>docs: Add customWelcomePage example to Custom NSIS script by <a href="https://github.com/hueyyeng"><code>@​hueyyeng</code></a> in <a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/7001">electron-userland/electron-builder#7001</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/titus-anromedonn"><code>@​titus-anromedonn</code></a> made their first contribution in <a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/6996">electron-userland/electron-builder#6996</a></li>
<li><a href="https://github.com/matejkriz"><code>@​matejkriz</code></a> made their first contribution in <a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/6998">electron-userland/electron-builder#6998</a></li>
<li><a href="https://github.com/hueyyeng"><code>@​hueyyeng</code></a> made their first contribution in <a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/7001">electron-userland/electron-builder#7001</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/electron-userland/electron-builder/compare/v23.3.1...v23.3.2">https://github.com/electron-userland/electron-builder/compare/v23.3.1...v23.3.2</a></p>
<h2>v23.3.1</h2>
<h2>What's Changed</h2>
<ul>
<li>feat: Add installDir property for NsisUpdater by <a href="https://github.com/panther7"><code>@​panther7</code></a> in <a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/6907">electron-userland/electron-builder#6907</a></li>
<li>chore(deps): update dependency <code>@​types/archiver</code> to v5.3.1 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/6979">electron-userland/electron-builder#6979</a></li>
<li>chore(deps): update dependency <code>@​types/node</code> to v16.11.43 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/6980">electron-userland/electron-builder#6980</a></li>
<li>fix: parallel release creation with Keygen publisher by <a href="https://github.com/ezekg"><code>@​ezekg</code></a> in <a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/6989">electron-userland/electron-builder#6989</a></li>
<li>fix: add product scope to Keygen publisher by <a href="https://github.com/ezekg"><code>@​ezekg</code></a> in <a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/6990">electron-userland/electron-builder#6990</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/electron-userland/electron-builder/compare/v23.3.0...v23.3.1">https://github.com/electron-userland/electron-builder/compare/v23.3.0...v23.3.1</a></p>
<h2>v23.3.0</h2>
<h2>What's Changed</h2>
<ul>
<li>feat: upgrade Keygen integration to v1.1 by <a href="https://github.com/ezekg"><code>@​ezekg</code></a> in <a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/6941">electron-userland/electron-builder#6941</a></li>
<li>fix(mac): allow Mac Developer certs for non Mac App Store builds by <a href="https://github.com/regentcid434"><code>@​regentcid434</code></a> in <a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/6956">electron-userland/electron-builder#6956</a></li>
<li>fix: prevent infinite looping of overwriteArtifact by <a href="https://github.com/CCInc"><code>@​CCInc</code></a> in <a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/6958">electron-userland/electron-builder#6958</a></li>
<li>fix: add product scope to keygen provider by <a href="https://github.com/ezekg"><code>@​ezekg</code></a> in <a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/6975">electron-userland/electron-builder#6975</a></li>
<li>fix(mas): Allow signing with &quot;3rd Party Mac Developer Application&quot; by <a href="https://github.com/csett86"><code>@​csett86</code></a> in <a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/6970">electron-userland/electron-builder#6970</a></li>
<li>fix(nsis): fix typo in German installer message by <a href="https://github.com/tkleinke"><code>@​tkleinke</code></a> in <a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/6960">electron-userland/electron-builder#6960</a></li>
<li>fix: nsis-web target set APP_PACKAGE_URL_IS_INCOMPLETE by <a href="https://github.com/geovie"><code>@​geovie</code></a> in <a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/6964">electron-userland/electron-builder#6964</a></li>
</ul>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/electron-userland/electron-builder/blob/master/packages/app-builder-lib/CHANGELOG.md">app-builder-lib's changelog</a>.</em></p>
<blockquote>
<h2>23.4.0</h2>
<h3>Minor Changes</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/7028">#7028</a> <a href="e7179b57bd"><code>e7179b57</code></a> Thanks <a href="https://github.com/mmaietta"><code>@​mmaietta</code></a>! - feat: Adding timeout to publisher config for api requests and uploads</li>
</ul>
<h3>Patch Changes</h3>
<ul>
<li>Updated dependencies [<a href="e7179b57bd"><code>e7179b57</code></a>]:
<ul>
<li>builder-util-runtime@9.1.0</li>
<li>builder-util@23.4.0</li>
<li>electron-publish@23.4.0</li>
</ul>
</li>
</ul>
<h2>23.3.3</h2>
<h3>Patch Changes</h3>
<ul>
<li>Updated dependencies [<a href="98d3a6361d"><code>98d3a636</code></a>]:
<ul>
<li>builder-util@23.3.3</li>
<li>electron-publish@23.3.3</li>
</ul>
</li>
</ul>
<h2>23.3.2</h2>
<h3>Patch Changes</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/6996">#6996</a> <a href="5301525393"><code>53015253</code></a> Thanks <a href="https://github.com/titus-anromedonn"><code>@​titus-anromedonn</code></a>! - fix: Wrap the nsProcess.nsh include in a !ifndef in case it has already been imported in a custom install script</li>
</ul>
<h2>23.3.1</h2>
<h3>Patch Changes</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/6989">#6989</a> <a href="7ad5101b4a"><code>7ad5101b</code></a> Thanks <a href="https://github.com/ezekg"><code>@​ezekg</code></a>! - Fix issue where, upon publishing a new release, electron-builder would attempt to create the same release for each artifact in parallel, resulting in conflict errors.</li>
</ul>
<ul>
<li><a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/6990">#6990</a> <a href="c3407a202d"><code>c3407a20</code></a> Thanks <a href="https://github.com/ezekg"><code>@​ezekg</code></a>! - Fix release conflicts for Keygen publisher when releases share the same version across open/licensed products.</li>
</ul>
<h2>23.3.0</h2>
<h3>Minor Changes</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/6941">#6941</a> <a href="14503ceb99"><code>14503ceb</code></a> Thanks <a href="https://github.com/ezekg"><code>@​ezekg</code></a>! - Upgrade Keygen publisher/updater integration to API version v1.1.</li>
</ul>
<h3>Patch Changes</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/6964">#6964</a> <a href="b0e1b6f8af"><code>b0e1b6f8</code></a> Thanks <a href="https://github.com/geovie"><code>@​geovie</code></a>! - fix: nsis-web target set APP_PACKAGE_URL_IS_INCOMPLETE</li>
</ul>
<ul>
<li><a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/6970">#6970</a> <a href="28c07b4392"><code>28c07b43</code></a> Thanks <a href="https://github.com/csett86"><code>@​csett86</code></a>! - fix(mas): Allow signing with &quot;3rd Party Mac Developer Application&quot;</li>
</ul>
<ul>
<li><a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/6960">#6960</a> <a href="6e90c84591"><code>6e90c845</code></a> Thanks <a href="https://github.com/tkleinke"><code>@​tkleinke</code></a>! - fix(nsis): fix typo in German installer message</li>
</ul>
<ul>
<li><a href="https://github-redirect.dependabot.com/electron-userland/electron-builder/pull/6961">#6961</a> <a href="4c867aa017"><code>4c867aa0</code></a> Thanks <a href="https://github.com/aripollak"><code>@​aripollak</code></a>! - fix: Optionally allow removing DISABLE_WAYLAND flag for snaps</li>
</ul>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="217f4af53a"><code>217f4af</code></a> chore(deploy): Release 23.4.0 (electron-updater@5.2.2) (<a href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/app-builder-lib/issues/7030">#7030</a>)</li>
<li><a href="e7179b57bd"><code>e7179b5</code></a> feat: Adding timeout to publisher config for api requests and uploads (<a href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/app-builder-lib/issues/7028">#7028</a>)</li>
<li><a href="94982619c1"><code>9498261</code></a> chore(deploy): Release 23.3.3 (<a href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/app-builder-lib/issues/7020">#7020</a>)</li>
<li><a href="3e9cd2c88e"><code>3e9cd2c</code></a> chore(deploy): Release 23.3.2 (electron-updater@5.2.1) (<a href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/app-builder-lib/issues/7002">#7002</a>)</li>
<li><a href="5301525393"><code>5301525</code></a> fix: Wrap the nsProcess include in a !ifndef (<a href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/app-builder-lib/issues/6996">#6996</a>)</li>
<li><a href="d99da8286b"><code>d99da82</code></a> chore(deploy): Release 23.3.1 (electron-updater@5.2.0) (<a href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/app-builder-lib/issues/6986">#6986</a>)</li>
<li><a href="c3407a202d"><code>c3407a2</code></a> fix: add product scope to keygen publisher (<a href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/app-builder-lib/issues/6990">#6990</a>)</li>
<li><a href="7ad5101b4a"><code>7ad5101</code></a> fix: parallel release creation with keygen publisher (<a href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/app-builder-lib/issues/6989">#6989</a>)</li>
<li><a href="e7912d92b2"><code>e7912d9</code></a> chore(deploy): Release 23.3.0 (electron-updater@5.1.0) (<a href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/app-builder-lib/issues/6950">#6950</a>)</li>
<li><a href="f70abf1628"><code>f70abf1</code></a> fix: regenerating docs and schema</li>
<li>Additional commits viewable in <a href="https://github.com/electron-userland/electron-builder/commits/v23.4.0/packages/app-builder-lib">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=app-builder-lib&package-manager=npm_and_yarn&previous-version=23.0.8&new-version=23.4.0)](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/4008

Reviewed By: lawrencelomax

Differential Revision: D38781621

Pulled By: passy

fbshipit-source-id: 6fe8bcbd584cab6fc60abd5fe34b7340ea27ab12
2022-08-18 07:46:18 -07:00
Michel Weststrate
80d3659e3f Don't kill WS connection if individual message handling fails
Summary:
GraphQL plugin sends garbage JSON at the moment (see T129428800). Still figuring out if that is caused by the plugin on client side, or that the Flipper SDK should escape that properly.

In the mean time, closing the Flipper connection on not being able to handle an individual message seems a cause of unnecessary connection ping-pong and instability. Changing the strategy to instead merely log and drop the message.

Changelog: Stop applications from disconnecting if a single plugin message cannot be processed.

Reviewed By: LukeDefeo

Differential Revision: D38825940

fbshipit-source-id: 4d45c8eea457375ec677238ad09b5e02bc2eb5bf
2022-08-18 06:58:59 -07:00