Commit Graph

292 Commits

Author SHA1 Message Date
Michel Weststrate
92a743cc59 Processed some earlier review comments
Summary: Per title, processed some pending review comments made earlier in this stack

Reviewed By: aigoncharov

Differential Revision: D32916920

fbshipit-source-id: 01db85883596b5c85b77efc9cddadeac23cc4ef5
2021-12-08 04:30:57 -08:00
Michel Weststrate
3c6668a8b9 Make sure devices and clients are registered on session startup
Summary: This diff makes sure that when the client starts, it fetches all known devices and clients first, as it might have missed the 'connect' events for those. For Electron this wasn't needed, since the server starts with the UI, but this makes sure that a browser reload or a second connection sees the same devices & apps

Reviewed By: aigoncharov

Differential Revision: D32881589

fbshipit-source-id: 7b1cb3d296044f83dedcf3f3d8d02864690b6666
2021-12-08 04:30:57 -08:00
Michel Weststrate
943d535e86 Move sending intern requests from client to server
Summary: This diff moves send intern request from the browser to the server. The reason to make this change is that making such requests from a browser environment causes CORS restrictions to kick in.

Reviewed By: nikoant

Differential Revision: D32835449

fbshipit-source-id: e8e92e51ca963aa50b3c859bb61c2381171e85ae
2021-12-08 04:30:57 -08:00
Michel Weststrate
ad4a55f263 move node types, stub node modules
Summary: This diff stubs all node modules when running in the browser, so that, albeit with a lot of errors and without plugins, the UI loads in a browser. To be continued in the rest of this diff

Reviewed By: antonk52

Differential Revision: D32665705

fbshipit-source-id: 4632e241f59c5b9712a41d01a26878afb01f69b5
2021-12-08 04:30:57 -08:00
Michel Weststrate
129cbd6f7b Move changelog loading to server
Summary: per title

Reviewed By: aigoncharov

Differential Revision: D32723706

fbshipit-source-id: ce5108da9f5da6fdfa7d1a66a31a4f8f430eb78d
2021-12-08 04:30:56 -08:00
Michel Weststrate
eab4f0d3d3 Bits & pieces
Summary: Added a command to let a file be opened by the OS, and some other small bits and pieces to make Flipper browser compatible.

Reviewed By: lblasa

Differential Revision: D32721748

fbshipit-source-id: a4ad1c2f662f4651ddf6c20c57e5af1e123914a8
2021-12-08 04:30:56 -08:00
Michel Weststrate
2480ed30c5 Move flipper-doctor check running to flipper-server-core
Summary: Per title. Two new server API's: get-healthchecks, and run-healtcheck. Types have all been moved to flipper-common, so that they can be used by doctor, server-core and ui-core packages. Since it were quite some, moved them into a FlipperDoctor namespace.

Reviewed By: nikoant

Differential Revision: D32720510

fbshipit-source-id: 37aa35cde6ebd58479cf0dffec5b7b2da6d22198
2021-12-08 04:30:56 -08:00
Michel Weststrate
2a4fe77404 Extract environment config initialisation to server-core
Summary: This diff makes most stuff that is read from the `os` package, and version info etc available from the `serverConfig` object, so that flipper-ui-core no longer needs the `os` package.

Reviewed By: passy

Differential Revision: D32694848

fbshipit-source-id: 93af1e95d898da9aaf351a6970b5a7652ee835c8
2021-12-08 04:30:56 -08:00
Michel Weststrate
de59bbedd2 Make plugin loading async
Summary: This diff makes plugin loading async, which we'd need in a browser env (either because we'd use `import()` or we need to fetch the source and than eval it), and deals with all the fallout of that

Reviewed By: timur-valiev

Differential Revision: D32669995

fbshipit-source-id: 73babf38a6757c451b8200c3b320409f127b8b5b
2021-12-08 04:30:56 -08:00
Michel Weststrate
64747dc417 move plugin management from ui-core to server-core
Summary:
Follow up of D32665064, this diff moves all plugin management logic from flipper-ui to flipper-server. Things like downloading, installing, querying new plugins.

Loading plugins is handled separately in the next diff.

Reviewed By: nikoant

Differential Revision: D32666537

fbshipit-source-id: 9786b82987f00180bb26200e38735b334dc4d5c3
2021-12-08 04:30:56 -08:00
Michel Weststrate
e7f841b6d2 Move flipper plugin from flipper-lib types to flipper-common
Summary: Moved all types related to plugin descriptions from plugin-lib (which handles downloads and such) to flipper-common. The goal of that is to remove all plugin-lib usage from ui-core to server-core, so that the UI itself doesn't do any file operations anymore related to plugins. That will be done in next diffs, this just moves types but no code.

Reviewed By: nikoant, aigoncharov

Differential Revision: D32665064

fbshipit-source-id: 86d908e7264569b0229b09290a891171876c8e00
2021-12-08 04:30:55 -08:00
Michel Weststrate
9c913151bc Fix issue server-core not cleaning up devices properly
Summary:
Notice during debugging that devices keep unregistering. Doesn't lead to any practical issues, but still incorrect.

Also noticed that the server didn't restart when changing flipper-server-core, or recompile its deps, so fixed that as well.

Reviewed By: passy

Differential Revision: D32644276

fbshipit-source-id: 5384a30c9d293acda04b6e6f940268ddcd65a870
2021-12-08 04:30:55 -08:00
Michel Weststrate
5d45bd741b Initialise flipper-ui-browser with socket connection
Summary:
This diff sets up the socket connection between flipper-browser and flipper-server, and verifies that the initial UI initialisation work (e.g. `get-config` command works). The initial RenderHost is initialised as well based on the config and browser APIs.

Note that flipper-ui-core itself isn't started yet, as that has still a plethora of node imports, so Metro will correctly refuse to bundle

Not in this diff
* remove Node usage from flipper-ui-core
* implement all RenderHost APIs

Reviewed By: aigoncharov

Differential Revision: D32644074

fbshipit-source-id: 2c8065caf0191771a3867b69a431ca50eeb7a5a3
2021-12-08 04:30:55 -08:00
Michel Weststrate
e742322eb1 Move keychain storage to server, some constants cleanup
Summary: This diff moves keychain storage to the server. Figured to leave request logic itself in the UI-core, as basically all use cases happen there, except for streaming download for mobile build plugin, so sending the requests from the backend doesn't really seem to add value, unless we run into some CORS issues later.

Reviewed By: passy

Differential Revision: D32596715

fbshipit-source-id: f5ab9d794f91a6eb8a8dc07ae723bf2890726771
2021-12-08 04:30:54 -08:00
Michel Weststrate
bca169df73 Move settings, launcherSettings, GKs to app / flipper-server-core
Summary:
This diff moves a lot of stuff from the client to the server. This diff is fairly large, as a lot of concept closely relate, although some things have split off to the earlier diffs in the stack, or are still to follow (like making intern requests).

This diff primarily moves reading and storing settings and GKs from client to server (both flipper and launcher settings). This means that settings are no longer persisted by Redux (which only exists on client). Most other changes are fallout from that. For now settings are just one big object, although we might need to separate settings that are only make sense in an Electron context. For example launcher settings.

Reviewed By: passy, aigoncharov

Differential Revision: D32498649

fbshipit-source-id: d842faf7a7f03774b621c7656e53a9127afc6192
2021-12-08 04:30:54 -08:00
Michel Weststrate
eed19b3a3d Move FlipperServer initialisation out of flipper-core
Summary: This diff makes sure flipper-ui-core no longer depends on flipper-server-core. Currently server config is still transferred from UI to server, which doesn't really make sense in future scenarios where server might start before client, but will address that separately

Reviewed By: timur-valiev, aigoncharov

Differential Revision: D32462835

fbshipit-source-id: 498a944256ba1aabbf963b896953e64d11e27214
2021-12-08 04:30:54 -08:00
Andrey Goncharov
9fc1d3cfb9 Ignore stale replies
Summary: Changelog: ignore stale replies

Reviewed By: lblasa

Differential Revision: D32829739

fbshipit-source-id: 267f43f8e8f3dea60ee86187f7a7709fea09e5af
2021-12-03 05:31:16 -08:00
Lorenzo Blasa
0d94120928 Remove Request Identifier from message
Summary:
{F684271717}
^
This is causing the error being reported quite a lot. The identifier doesn't provide much information to the person analysing the error. Only ever useful if debugging.

Reviewed By: antonk52, mweststrate

Differential Revision: D32828150

fbshipit-source-id: f29fbf6bfe389fec6ef888fc01be6c058193709d
2021-12-03 03:40:26 -08:00
Pascal Hartig
ea94c9d1a5 Demote exchange error
Summary: The errors files for this aren't actionable and cannot be deduplicated because of the information included. Better to treat this as a warning.

Reviewed By: nikoant

Differential Revision: D32758656

fbshipit-source-id: 5255d694b8783b7bb49f981933741063d012df98
2021-12-01 10:49:19 -08:00
Pascal Hartig
3e258c6969 Demote connection loop error
Summary: We can't action tasks based on this report, so better to raise it as a warning.

Reviewed By: nikoant

Differential Revision: D32758850

fbshipit-source-id: 2e8ff984f40d2d0431db192e8f2d983d52b77ccd
2021-12-01 10:46:41 -08:00
Lorenzo Blasa
b37b5ee19e Track client connect/disconnect events
Summary: By tracking when clients connect and disconnect, we will be able to answer how long does it take for clients to connect

Reviewed By: passy

Differential Revision: D32697702

fbshipit-source-id: b01893f500c97b08eb4434733058f58433d7f4ef
2021-12-01 06:37:02 -08:00
Lorenzo Blasa
c18207afaf Remove CSR from trusted-request-handler event tracker
Summary: ^

Reviewed By: nikoant

Differential Revision: D32695273

fbshipit-source-id: 9c9c3e9da83f864f512d66a208fa87f0ded392d3
2021-11-29 08:59:10 -08:00
Andrey Goncharov
39841292d1 Add legacy connection warning
Summary: Add legacy connection warning

Reviewed By: passy

Differential Revision: D32694056

fbshipit-source-id: e6d1c2fb5aea607d090ab45879c5a46d5fd17dab
2021-11-29 04:29:37 -08:00
Ranesh Saha
d8824fb130 Update emulator path to emulator directory instead of deprecated tool… (#3046)
Summary:
…s directory

Currently, flipper tries to launch emulators using  `<android sdk path>\tools\emulator.exe`. The use of this emulator path has been deprecated for a while now, and remains in the sdk for those on versions of Android Studio 2.2 and older (see https://issuetracker.google.com/issues/66886035?pli=1). The supported path is `<android sdk path>\emulator\emulator.exe`. Trying to use the deprecated path on Windows results in a failure to launch AVDs.

## Changelog

Point emulator path to emulator directory instead of deprecated tools directory.

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

Test Plan: Verified a failure to launch the AVD on windows using the deprecated path. Confirmed that updating the path results in a successful launch and the device showing up in flipper.

Reviewed By: passy

Differential Revision: D32489840

Pulled By: nikoant

fbshipit-source-id: dde5bf5a29e89549f160d9d71133ff70398e1c1d
2021-11-17 05:10:53 -08:00
Ranesh Saha
ddb4e70c2a Updating splitting of avd names to work on Windows and Unix based sys… (#3041)
Summary:
…tems

When trying to start an android emulator in Windows, there is a failure in trying to read `<avd name>.ini`. The reason for this is because when we run `<android sdk path>\tools\emulator.exe -list-avds`, a split is performed with the new line character (`\n`). Unfortunately, this does not work for Windows, which uses `\r\n` as the new line termination. This results in a carriage return remaining on each output string, which results in trying to access `<avd name> .ini`, which is an invalid path.

The fix is to update the split to use a regex that is compatible for both Unix and Windows based systems.

## Changelog

Updating splitting of avd names to work on Windows and Unix based systems

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

Test Plan: Verified the avd names didn't have any trailing whitespace, and the emulator is able to launch.

Reviewed By: mweststrate

Differential Revision: D32387162

Pulled By: nikoant

fbshipit-source-id: 0900bee17b225cfa5484a29c96f8e2c1c2e31477
2021-11-12 08:07:18 -08:00
Lorenzo Blasa
e5bc40c59f Remove WebSocket GK
Summary:
This change removes the usage of a GK to open WebSocket ports.

The WebSocket ports have been open for quite a while to all members of the Flipper Support Group. OSS users will now open the ports as well.

Reviewed By: mweststrate

Differential Revision: D32244706

fbshipit-source-id: e441dfd43c51dda26f259ae7d7ebc3d721cc1c99
2021-11-08 04:35:53 -08:00
Michel Weststrate
4cf1920e36 Fix cert generation for new users
Summary:
Changelog: Fix server certificates not being generated for first time users.

As reported in https://fb.workplace.com/groups/flippersupport/permalink/1247554795725176/, server certificates are not generated properly for new users.

Also the fix. Omg. How does typechecking not find this?

...Oh yeah yeah I now, `await not-a-promise` is juuuusst fine. Long live `.then(` I guess...

Reviewed By: jknoxville

Differential Revision: D32203132

fbshipit-source-id: abd75c178e9c8640a266b2012b9250503d4258be
2021-11-05 05:08:46 -07:00
Andrey Goncharov
9d41c3c44c Fix device connection timeout notification
Summary:
Currently, when a new app connects to Flipper, we show a lost connection notification even though it successfully connects to Flipper.
It happens because we of the device_id mismatch.

Reviewed By: mweststrate

Differential Revision: D32169917

fbshipit-source-id: 6df3ae7fd621b4549e18c1835473a13f18cfb339
2021-11-04 09:12:56 -07:00
Andrey Goncharov
9975aa9319 Fix idb pull
Summary:
Workaround for idb weirdness
Originally started at D27590885
Re-appared at https://github.com/facebook/flipper/issues/3009

Reviewed By: mweststrate

Differential Revision: D32106952

fbshipit-source-id: 63d4fa64503c5c2ba80dae113850c937450ab0fb
2021-11-03 08:11:01 -07:00
Andrey Goncharov
bffd58b3a6 Fix idb device duplicates
Summary:
idb sometimes returns duplicates when we query targets. It leads us to removing valid devices and reconnecting to them again. Eventually, it starves the idb thread pool.
This diff removes the duplicates from the idb output.

Reviewed By: jknoxville

Differential Revision: D32099320

fbshipit-source-id: 7d8b756360f82557000ea5aa037a249b33be9961
2021-11-03 08:11:01 -07:00
Pascal Hartig
dc6dd47a23 Make openssl check async
Summary:
This was the last eslint warning for `flipper-server-core` and the only call-site
was async already.

Reviewed By: mweststrate

Differential Revision: D32026626

fbshipit-source-id: 0d6f06086c33707b26f58f668ad533daca9de7dd
2021-11-03 05:40:04 -07:00
Michel Weststrate
72ce759e61 Remove some unhandled rejections in tests
Summary: Fixed several tests that caused uncaught promise rejects to fire after the tests finished. This caused jest to fail if there are too many of them.

Reviewed By: aigoncharov

Differential Revision: D32118124

fbshipit-source-id: 50734dab6dee2efec7f056940af72858b27b1707
2021-11-03 03:14:08 -07:00
dependabot[bot]
7094475431 Bump split2 from 3.2.2 to 4.1.0 in /desktop (#3002)
Summary:
Bumps [split2](https://github.com/mcollina/split2) from 3.2.2 to 4.1.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/mcollina/split2/releases">split2's releases</a>.</em></p>
<blockquote>
<h2>v4.1.0</h2>
<h2>What’s Changed</h2>
<ul>
<li>Add engines field. Add node 10.x to CI (<a href="https://github-redirect.dependabot.com/mcollina/split2/issues/52">https://github.com/facebook/flipper/issues/52</a>) <a href="https://github.com/mcollina"><code>@​mcollina</code></a></li>
</ul>
<h2>v4.0.0</h2>
<h2>What’s Changed</h2>
<ul>
<li>Update to node 12 (<a href="https://github-redirect.dependabot.com/mcollina/split2/issues/50">https://github.com/facebook/flipper/issues/50</a>) <a href="https://github.com/mcollina"><code>@​mcollina</code></a></li>
<li>Upgrade to GitHub-native Dependabot (<a href="https://github-redirect.dependabot.com/mcollina/split2/issues/48">https://github.com/facebook/flipper/issues/48</a>) <a href="https://github.com/dependabot-preview"><code>@​dependabot-preview</code></a></li>
<li>Bump standard from 15.0.1 to 16.0.1 (<a href="https://github-redirect.dependabot.com/mcollina/split2/issues/43">https://github.com/facebook/flipper/issues/43</a>) <a href="https://github.com/dependabot-preview"><code>@​dependabot-preview</code></a></li>
<li>Bump standard from 14.3.4 to 15.0.0 (<a href="https://github-redirect.dependabot.com/mcollina/split2/issues/41">https://github.com/facebook/flipper/issues/41</a>) <a href="https://github.com/dependabot-preview"><code>@​dependabot-preview</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="06818424cb"><code>0681842</code></a> Bumped v4.1.0</li>
<li><a href="beff8a031c"><code>beff8a0</code></a> Add engines field. Add node 10.x to CI (<a href="https://github-redirect.dependabot.com/mcollina/split2/issues/52">https://github.com/facebook/flipper/issues/52</a>)</li>
<li><a href="b66af507ca"><code>b66af50</code></a> Bumped v4.0.0</li>
<li><a href="f662904a41"><code>f662904</code></a> Update to node 12 (<a href="https://github-redirect.dependabot.com/mcollina/split2/issues/50">https://github.com/facebook/flipper/issues/50</a>)</li>
<li><a href="4a776ffa20"><code>4a776ff</code></a> Upgrade to GitHub-native Dependabot (<a href="https://github-redirect.dependabot.com/mcollina/split2/issues/48">https://github.com/facebook/flipper/issues/48</a>)</li>
<li><a href="c3124e3d9b"><code>c3124e3</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/mcollina/split2/issues/43">https://github.com/facebook/flipper/issues/43</a> from mcollina/dependabot/npm_and_yarn/standard-16.0.1</li>
<li><a href="efe0ddd808"><code>efe0ddd</code></a> Bump standard from 15.0.1 to 16.0.1</li>
<li><a href="bc6e5fc7fb"><code>bc6e5fc</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/mcollina/split2/issues/41">https://github.com/facebook/flipper/issues/41</a> from mcollina/dependabot/npm_and_yarn/standard-15.0.0</li>
<li><a href="03c7cecc3c"><code>03c7cec</code></a> Bump standard from 14.3.4 to 15.0.0</li>
<li>See full diff in <a href="https://github.com/mcollina/split2/compare/v3.2.2...v4.1.0">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=split2&package-manager=npm_and_yarn&previous-version=3.2.2&new-version=4.1.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/3002

Reviewed By: passy

Differential Revision: D31991563

Pulled By: cekkaewnumchai

fbshipit-source-id: 3a133ca1d60a0ec471147ac7af4c9772060c6e35
2021-10-28 06:18:11 -07:00
Lorenzo Blasa
ef8557b5a1 Improve error message for unresponsive clients
Summary:
This change adds 'adb' to the error message checks. If the device is Android, is confusing to suggest the problem may be with 'idb'.

This could be further improved by looking at the client OS and device type to suggest formulate the correct message.

Reviewed By: passy

Differential Revision: D31894695

fbshipit-source-id: 8eb2ca152807afd9706af1523c917803611246d7
2021-10-25 06:50:49 -07:00
Andrey Goncharov
02115722b3 Implement React example of WS integration with Flipper
Summary: Create an example of how one can use `js-flipper` in a browser to connect to Flipper over WS.

Reviewed By: mweststrate

Differential Revision: D31688114

fbshipit-source-id: 135f826daeddeda8dca5b3df6504cc2bdc04dd1b
2021-10-21 09:13:18 -07:00
Andrey Goncharov
37498ad5a9 Refactor server implementation for WebSockets
Summary:
Standardize WS implementation for JS environments.

Why do we need a separate server implementation for browsers?
Browser targets cannot authenticate via the default certificate exchange flow. For browser targets we verify the origin instead.
Moreover, for already forgotten reasons the initial implementation of the WS server for browsers used a different kind of message structure and added extra `connect`/`disconnect` messages. After examination, it seems the `connect`/`disconnect` flow is redundant.

Major changes:
1. Updated class hierarchy for WS server implementations.
2. Updated browser WS server to support the modern and the legacy protocols.
3. Now a websocket connection with the device is closed on error. The idea is it is highly unlikely to handle any subsequent messages properly once we observe an error. It is better to bail and reconnect. What do you think?

Reviewed By: mweststrate

Differential Revision: D31532172

fbshipit-source-id: f86aa63a40efe4d5263353cc124fac8c63b80e45
2021-10-21 03:34:15 -07:00
Michel Weststrate
6589eb86c5 Improve port forwarding logging
Summary: Port forwarding tool was logging the child process object. Made the logging cleaner and more useful.

Reviewed By: nikoant

Differential Revision: D31608867

fbshipit-source-id: 1c2ae7c926ed4e1b44d51db5415874600acde7ae
2021-10-14 03:17:47 -07:00
Michel Weststrate
f43ff73591 Addressed some earlier diff comments
Summary: Async processed review feedback from stack D31474919 (cfd44b592a) e.o. (decapitate)

Reviewed By: passy

Differential Revision: D31608309

fbshipit-source-id: 536b3c9350f7acc40530000ecf5e46d5b074d50f
2021-10-14 03:17:47 -07:00
Lorenzo Blasa
423a2c6c06 Alt ports to be reversed on Android
Summary: This change adds the alt ports to the list of ports to be reversed on Android

Reviewed By: mweststrate

Differential Revision: D31607559

fbshipit-source-id: 4e1201c7255fcd3a437c743f827ae4bceb746348
2021-10-13 10:31:41 -07:00
Anton Nikolaev
976e53ff9b Avoid logging csr
Summary: I unintentionally added logging of csr certificates in my previous diff. This diff makes sure we're not logging them anymore.

Reviewed By: mweststrate

Differential Revision: D31609709

fbshipit-source-id: e43b348dbd62653f8a6e9089930c2a3699b29a12
2021-10-13 08:38:56 -07:00
Michel Weststrate
d88b28330a Move app/server to flipper-server-core
Summary: moved `app/src/server` to `flipper-server-core/src` and fixed any fallout from that (aka integration points I missed on the preparing diffs).

Reviewed By: passy

Differential Revision: D31541378

fbshipit-source-id: 8a7e0169ebefa515781f6e5e0f7b926415d4b7e9
2021-10-12 16:00:52 -07:00
Michel Weststrate
c3ff0ff355 Set up Flipper decapitated packages
Summary:
This diff introduces the packages necessary for Flipper decapitated.

* flipper-common: utilities & types shared between client, server, flipper-plugin
* flipper-server-core: all device & client management goes in here. Basically flipper's backend
* flipper-ui-core: all UI goes in here, as far as it doesn't depend on Electron
* desktop: the Electron app, will load server-core and ui-core, and glue them together, providing implementations for some electron specific stuff like dialgos
* flipper-server: A node process hosting flipper-server-core, that can be connected to over websockets. And probably can serve a browser version of the UI as well.
* flipper-ui-browser: thin wrapper around flipper-ui-core, providing some browser specific behavior / stubs.
* flipper-dump: (might remove later), but want to hack a quick and dirt flipper dump in here, as alternative way to test flipper-server-core.

This diff just creates the packages, but doesn't move any code, so it can be summarized as:

restoftheowl

Reviewed By: nikoant

Differential Revision: D30218646

fbshipit-source-id: 735598a1261a98e584f52504b5eba01ec0afa162
2021-10-08 01:33:03 -07:00