Summary:
Provide the same build parameters as for the main build and move
the two bundles to a folder where we can pick them up.
For consistency, I'm keeping the naming scheme with the main build.
Reviewed By: antonk52
Differential Revision: D36521046
fbshipit-source-id: 9ea992d6e5dc299d88083d751ca8e84eadb1430b
Summary: Fix a TypeError exception in TableHead.tsx when an ordered column is not present in the row.
Reviewed By: aigoncharov
Differential Revision: D36497494
fbshipit-source-id: 18c961468fc2bc3cca16290fd9e6c973e5e18ebf
Summary:
CHANGELOG: Refactor tic-tac-toe plugin to Sandy architecture
Sandy architecture unblocks using the plugin in a headless mode. Eventual goal - platy tic-tac-toe form a terminal
Reviewed By: passy
Differential Revision: D36513795
fbshipit-source-id: 5a967a325cfb52cc3ae72840240b22b0a4e8f031
Summary:
pkg-fetch is a bit weird in that it doesn't use the offline cache
if an output path is defined. That makes building in Sandcastle a lot harder.
Reviewed By: lawrencelomax, aigoncharov
Differential Revision: D36485283
fbshipit-source-id: 27596999c69441bc25e341db77b409ed0caaf0fe
Summary: Seems to have improvements to the cache which we need in Sandcastle
Reviewed By: lawrencelomax
Differential Revision: D36483459
fbshipit-source-id: 4dfe1dcccddd21c3966508b1260644630c1082f5
Summary: Expose uuid from flipper-common as it is required in multiple packages
Reviewed By: lblasa
Differential Revision: D36441889
fbshipit-source-id: 1fa539cb437976dbefe7d5d9a52e5e098a6402a7
Summary:
^
This is a very small refactoring and addition to the Flipper Desktop app.
The instantiation of FlipperServer was extracted to a separate function.
This a very tiny change that allows to switch the implementation we use for FlipperServer in a more convenient way.
In this same change, an unused function is added which will create a separate FlipperServer instance that uses a web-socket underneath which makes it possible to use with flipper-server.
So, if interested, it is enough to call that function instead of the one currently in use and it will make Flipper connect to flipper-server instead.
https://pxl.cl/24j8R
Reviewed By: passy
Differential Revision: D36440574
fbshipit-source-id: 94ea2ab7208b898a82ac5e7fd7edd9cb824b4810
Summary:
^
Before this change, the client assumed the host and port came from location.host which is fine on the browser.
In all other cases, that object/properties may be undefined.
As such, add host and port as function args and use that instead.
Reviewed By: passy
Differential Revision: D36440423
fbshipit-source-id: 5f931f1d610d583db6a2e549e1213585f0d03dee
Summary:
^
flipper-server verifies the origin of incoming connections as a way of preventing any host from connecting to flipper.
That's good.
This change expand the list of allowed origins to include localhost:3000 which is the default origin for Electron apps.
Error without this change:
```
Refused socket connection from cross domain request, origin: http://localhost:3000, host: localhost:52342. Expected origins: http://localhost:52342 or http://[::1]:52342 or http://::1:52342. Expected hosts: localhost:52342 or [::1]:52342 or ::1:52342
```
Reviewed By: passy
Differential Revision: D36440363
fbshipit-source-id: 883cadb49f245bca5d0a53a4f58c08cf45dd0189
Summary:
^
I noticed this issue whilst using the Desktop app connected to flipper-server.
So, Flipper Desktop should run as usual with icons being displayed. If connected to flipper-server, behaviour should be the same.
https://pxl.cl/24j73
Reviewed By: passy
Differential Revision: D36440268
fbshipit-source-id: 4c79852d94c8bde95c6e82e2a56bef35a337599d
Summary:
Currently, Flipper Server has a few productions dependencies (mac-ca, node-fetch) that are not bundled with the Flipper Server. It makes it harder to distribute Flipper Server, as now all potential consumers need not only to download the bundle, but also install these additional dependencies.
This diff makes it possible to bundle `mac-ca` and `node-fetch` with Flipper Server. As a result, Flipper Server becomes dependency-free in production.
Reviewed By: lblasa
Differential Revision: D36345213
fbshipit-source-id: 2cd6ba1b3301b45dc2295891964ba020fd107586
Summary:
As part of an ongoing effort to migrate Flipper plugins to new Sandy arch, this diff aims to help by migrating the 'Sandbox' Plugin.
Most of the changes were straightforward, as in, could be done by following this excellent migration guide : https://www.internalfb.com/intern/staticdocs/flipper/docs/extending/sandy-migration/
Only thing which caused few issues was the "onready" behaviour. In the old pattern, the 'init' method used to get executed on every render. So it was ok to check for "isconnected" prop there.
Now the 'plugin' method is only executed once => and since the device might not be connected then, the "onReady" method (which is equivalent to old 'init' method) didn't work.
To fix this => the init method has been replace with "onConnect".
Reviewed By: lblasa
Differential Revision: D36284538
fbshipit-source-id: 4b2bf74c6d11625e4bd784fbb29fd270158a41ff
Summary: Restyle of Trobleshooting, which involved changes to sidebar.js and splitting up the previous troubleshooting page into five separate pages.
Reviewed By: lblasa
Differential Revision: D36282539
fbshipit-source-id: e60834e2b4d98b70b23bb11309c3438d85e4de0e
Summary:
Same as with the previous diff.
The function doesn't really start a server. Instead it attaches the routing of messages from the existing server into FlipperServer.
Reviewed By: passy
Differential Revision: D36310703
fbshipit-source-id: 7ac9a742fb36c3806597382c9aadcf96f4770484
Summary:
^
Instead of 'start' use 'attach' as it seems closer to what the function actually does.
Reviewed By: passy
Differential Revision: D36310846
fbshipit-source-id: db90efc6ec3207b1a5a38139a3ba01d2f7d2aebd
Summary:
^
BaseServer doesn't really have any meaning. So, change it to just Server as it really creates the Express app and HTTP server attached to it.
Reviewed By: passy
Differential Revision: D36310822
fbshipit-source-id: eee5a2a395ca726679c1c4756ed58d4bc6be3cb8
Summary:
Rename 'startWebServerDev' to just 'startDevServer'.
It isn't really starting a web server though, more like installing routings and middleware to the existing created server.
Reviewed By: passy
Differential Revision: D36310765
fbshipit-source-id: 0af772012525fd7ad19e2aa6fa73cb3e7dcf2bef
Summary: Slight changes to the URL and port logging.
Reviewed By: passy
Differential Revision: D36310796
fbshipit-source-id: 553b9ce932792c471f8e0e2c1a0c7d79897ad59d
Summary: Some intern plugins use it, an dit is currently missing in FlipperLib
Reviewed By: timur-valiev
Differential Revision: D36313032
fbshipit-source-id: 5ea8e250f1d0bc8831727abd883d953286a022d4
Summary: These safeguards were added based on a discussion in D35088208 (56e94394ca) but turned out to be counter-productive. Every time a client disconnects now, we're tearing down the socket and the server, allowing for no future connections.
Reviewed By: lblasa
Differential Revision: D36252605
fbshipit-source-id: c3b6f85dea4054505a47d24a72a4aac403371c0f
Summary: Reverts D36263724 (0ee8f09fe5) and fixes the underlying crash by setting only physical devices in the permissive mode
Reviewed By: passy
Differential Revision: D36275055
fbshipit-source-id: 25a691e9c07e20a3341630db508795c133a9bd81
Summary:
Next steps:
1. Refactor it TS for consistency
2. Remove it in favor of tic-tac-toe integration
Reviewed By: mweststrate
Differential Revision: D36102002
fbshipit-source-id: 7dc930f67bed636159a2ec433d7405ab6ee09f97
Summary: Start flipper-server-companion whenever a client connects to flipper-server and sets `server_companion` query parameter in a connection URL to true
Reviewed By: mweststrate
Differential Revision: D36098169
fbshipit-source-id: eb953e7d680b30aef1340f059264112387264c05
Summary: Current temporary limitations: all headless plugins are bundled with Flipper.
Reviewed By: antonk52
Differential Revision: D36098168
fbshipit-source-id: c58abe41776157258a5c39a80a5c1a33cf3f42c5
Summary:
We want Flipper plugins to share imports with Flipper:
- They must share the same React otherwise different Reacts could conflict with each other
- Other common modules are shared to decrease the bundle size for each plugin.
`setGlobalObject` provides shared modules to Flipper Plugins by adding them to the global context (window or process or global this).
In the headless context, we do not have React and other DOM-related libraries, so we provide stubs instead.
Reviewed By: passy
Differential Revision: D36130161
fbshipit-source-id: d30c59a6c3ae02e7f9244bc0bb5790079b771107
Summary: Add Flipper Server Companion implementation. It extends the list of commands handled by Flipper Server by adding commands to interact with device or app Flipper plugins.
Reviewed By: mweststrate
Differential Revision: D36130159
fbshipit-source-id: 2eb6ba0fbae0fa850eadb7d417aa476240994bd5
Summary: Flipper Server Companion starts headless plugins and exposes them over the wire
Reviewed By: passy
Differential Revision: D36098170
fbshipit-source-id: 3b1b077d1fa4adca5c340ad4475b80b229586e1b