Commit Graph

641 Commits

Author SHA1 Message Date
Michel Weststrate
ff7997b3fa Make sure disconnected devices / apps can be imported and exported
Summary:
It should be possible to exported disconnected devices, so that flipper traces / support form reports can be created from them. This diff introduces this functionality. Support for plugins with custom export logic is introduced in a later diff.

Issues fixed in this diff:
- don't try to take a screenshot for a disconnected device (this would hang forever)
- device plugins were always exported, regardless whether the user did select them or not
- sandy plugins were never part of exported disconnected clients
- increased the amount of data exported for device logs to ~10 MB. This makes more sense now as the logs will no longer be included in all cases
- fixed issue where are plugins would appear to be enabled after the client disconnected (this bug is the result of some unfortunate naming of `isArchived` vs `isConnected` semantics. Will clean up those names in a later diff.

Changelog: It is now possible to create a Flipper trace for disconnected devices and apps

Reviewed By: nikoant

Differential Revision: D26250894

fbshipit-source-id: 4dd0ec0cb152b1a8f649c31913e80efc25bcc5dd
2021-02-09 04:16:25 -08:00
Michel Weststrate
8bc1b953c2 Show current device/app connection status in AppInspect selector
Summary: UX love for imported and disconnected devices, so that stuff looks better :)

Reviewed By: nikoant

Differential Revision: D26249348

fbshipit-source-id: 70db682ccf0cb73161e136994f5135717f3c6be6
2021-02-09 04:16:25 -08:00
Michel Weststrate
bb529411b5 Expose current connection status to Sandy plugins
Summary:
Introduced `isConnected` flag on device and plugin client to reflect whether a connection is still available for the plugins, or that they have been disconnected.

Potentially we could expose the (readonly) `connected` state atom for this as well, or an `onDisconnect` event for device pugins, to create a responsive UI, but there might be no need for that, in which case this suffices.

Reviewed By: nikoant

Differential Revision: D26249346

fbshipit-source-id: b8486713fdf2fcd520488ce54f771bd038fd13f8
2021-02-09 04:16:24 -08:00
Michel Weststrate
7e1bf0f58b Preserve client state after disconnect
Summary:
This diff introduces support for keeping clients around after they have disconnected. This is a pretty important debugging improvement, that will allow inspecting a device / app after it crashed for example.

With this diff, the current client is just kept around until it connects again, instead of throwing clients immediately away if they disconnect. After this change, ArchivedClients will only be created by imports / exports, and no longer by disconnects. Initially I played with improving the creation of archived devices, by migrating all plugin state over from the original client to the archive, but I discovered that is very prone, as it would be a lot of pointer redistribution (plugins would point to a different client / device etc). While in contrast, disconnected clients is already an existing concept in Flipper, so reusing that keeps all the changes relatively simple.

Note that we could potentially still reuse old clients around after reconnected, but it would become much harder to reason about how plugins would behave if they missed updates for a while, so throwing away the device / clients and starting with a fresh slate sounds safer. So I figured that chance to be too risky for now, but would probably be good follow up work.

Issues with import / export, UX, and making calls to to a disconnected client will be addressed in follow up diffs

Changelog: Clients will retain their state after being disconnected, until they reconnect again

Reviewed By: nikoant

Differential Revision: D26224677

fbshipit-source-id: feb9d241df2304341c2847fe7fd751ac54c045f6
2021-02-09 04:16:24 -08:00
Michel Weststrate
c43049d881 Preserve device state after disconnect
Summary:
This diff stack introduces support for keeping devices and clients around after they have disconnected. This is a pretty important debugging improvement, that will allow inspecting a device / app after it crashed for example.

This feature existed partially before, but only supported Android, and only support plugins with persisted state; as it replace the current device with an archived version of the same device. In practice this didn't work really well, as most plugins would not be available, and all non-persisted state would be lost.

This diff makes sure we can keep devices around after disconnecting, the next one will keep the clients around as well. And explain some code choices in more detail.

Note that `Device.isArchived` was an overloaded term before, and even more now (both representing imported and disconnected devices), will address that in a later diff.

https://github.com/facebook/flipper/issues/1460
https://github.com/facebook/flipper/issues/812
https://github.com/facebook/flipper/issues/1487

Changelog: iOS and Android devices will preserve their state after being disconnected

Reviewed By: nikoant

Differential Revision: D26224310

fbshipit-source-id: 7dfc93c2a109a51c2880ec212a00463bc8d32041
2021-02-09 04:16:24 -08:00
Michel Weststrate
9987c8ee89 Make sure antd is used from Flipper
Summary: Fix build job that didn't include require rewrites for antd

Reviewed By: timur-valiev

Differential Revision: D26311554

fbshipit-source-id: 473a9c7d343e4534a33e5938ea27667f7795d8ac
2021-02-08 04:16:53 -08:00
Pascal Hartig
949b57b473 Improve types
Summary:
The any type was masking how the log object is actually initialised.

Sorry for the deluge of drive-by diffs. Something more substantial is coming.

Reviewed By: mweststrate

Differential Revision: D26250580

fbshipit-source-id: 5ba3f450ac1a646616868a8fd8b3cb42fb14dcc8
2021-02-05 14:26:11 -08:00
Pascal Hartig
e788bb09be Add logs support for physical devices
Summary:
There's a bit of an oddity with `idb` that the `stream` parameter is implied even though the docs say otherwise and if you try to use it, it'll give you a strange Python error. That's likely why we never implemented it.

Now, it works just as it does using local tooling.

Reviewed By: mweststrate

Differential Revision: D26228036

fbshipit-source-id: e20cb31167170ba0501e2929ed129305cb9aaf2c
2021-02-05 03:53:11 -08:00
Pascal Hartig
87caca9e77 Demote iOS connection errors
Summary: The "attaching failed" error provides no context and is a handled error, so we don't need to elevate this to a warning. We also see a socket warning on stderr every time we start up logging through simctl, so we don't need to treat that as an error.

Reviewed By: nikoant

Differential Revision: D26228037

fbshipit-source-id: 1938dadd54499462e1fd614c9477f738661c387b
2021-02-04 04:35:02 -08:00
Pascal Hartig
661af25ff9 getAppVersion for UpdateIndicator
Summary:
VSCode got a new thing where it doesn't save my file because it waits for a formatter or some stuff indefinitely, which is really cool, because it means my diffs end up being incomplete.

So this should have been in D26223274 (642d89213d) but now it's here.

angry_cry

Reviewed By: nikoant

Differential Revision: D26228038

fbshipit-source-id: 98b84179dce4e8e8c71f9196ab78d534327ea301
2021-02-04 04:35:02 -08:00
Pascal Hartig
642d89213d Extract getAppVersion() util
Summary:
Just some simple memoisation so we limit this particular `remote`
call to one per session.

Reviewed By: mweststrate

Differential Revision: D26223274

fbshipit-source-id: 7a12764758823c52f68fb7075f46caf58affb22f
2021-02-03 08:01:48 -08:00
Pritesh Nandgaonkar
6a0854557e Add gk checks in plugin
Summary:
This diff adds gk checks, VPN check and User login check to our plugin.

I added gk checks for Insta and FB apps. There are three kind of GK's. One with FB universe, one with Distillery universe and one with Insta WWW universe. We have API's to check gk with FB and Distillery universe. API to check with Insta WWW universe doesn't exists. There are some technical challenges to build this API. So right now for gks with Insta WWW universe, we just show an notification with info icon. For gks in other universe we aggressively check it when user closes the notif to verify if user assigned himself/herself to it.

In long term we are moving away from gks altogether, we need this UX improvement as it will help users to onboard easily.

See the following flow.

Reviewed By: mweststrate

Differential Revision: D26176996

fbshipit-source-id: 92a931610f9b244c14c6888bb12df936b62edd75
2021-02-03 02:25:54 -08:00
Pascal Hartig
9469ad33af Make addErrorNotification raise a warning
Summary:
These are recoverable, handled errors. We shouldn't treat these
as events that require actions from us. They also have
a tendency of firing a lot.

Reviewed By: nikoant

Differential Revision: D26202358

fbshipit-source-id: 445f3c2bcd0041d5cd773ec04172fdeed9b32222
2021-02-02 10:58:50 -08:00
Michel Weststrate
9bd3d6fd7c Fix serialization performance
Summary:
Using our serialization utilities in the previous diff absolute destroyed the performance of serializing the device logs. Investigated a bit, and the root cause is that *every* object serialization would notify the UI.

This is not only pointless, since the UI won't be updated until the next tick anyway, it also is terribly expensive since React has to process and queue all these updates.

Exporting the device logs went down from **2 minutes to a few seconds** with this change. (Still a lot slower than JSON.stringify, but I think the flexibility for plugin devs is worth it).

This change does not only benefit devicelogs plugin, but all existing plugins as well, plugins like GraphQL should now export their data much quicker.

Before (practically all time of serialization is spend in React's setState):

{F366147730}

After (only a spike at the end of the idler tick):

{F366147779}

Reviewed By: priteshrnandgaonkar

Differential Revision: D26146420

fbshipit-source-id: 9bbeccf04701fd044e041956b7bb00f1e0622b63
2021-02-01 11:43:31 -08:00
Michel Weststrate
594fa4d2bc serialize Sandy plugins with serialization utils to support Date/Set/Map
Summary:
Unlike non-sandy plugins, non-sandy plugins weren't serialized using our serialization utility yet. This diff addresses that, meaning that users don't have to bother about how to serialize maps, sets and dates.

Unlike the old fashioned plugins, the `makeObjectSerialize` utility is used, rather than `serialize`. This normalizes the objects, but doesn't serialize them, which is done at the end of the export data process anyway for the whole tree. This avoids creating a double JSON serialization which is fully of ugly escape characters.

This makes the onImport / onExport definition of the logs plugin nicer.

Also improved the docs.

Reviewed By: nikoant

Differential Revision: D26146421

fbshipit-source-id: 6abfb6ee2e3312e2a13a11832ff103dc62fd844c
2021-02-01 11:43:31 -08:00
Michel Weststrate
e614993558 Fix incorrect date serialization
Summary:
While creating some other tests, discovered that our current date serialization uses `toString()` serialization, causing the amount of milliseconds to be lost. The serialization (see below) uses less bytes as well since the human readable timezone isn't included. This change only affects serialization and is backward compatible.

```
  ✓ test serialize and deserializeObject function for non Object input (1 ms)
  ✕ test makeObjectSerializable and deserializeObject function for Date input (2 ms)
  ✓ test makeObjectSerializable and deserializeObject function for Map of Sets
  ✓ test makeObjectSerializable and deserializeObject function for Map, Dates and Set with complex nesting (1 ms)

  ● test makeObjectSerializable and deserializeObject function for Date input

    expect(received).toEqual(expected) // deep equality

    Expected: 2021-03-01T10:31:07.205Z
    Received: 2021-03-01T10:31:07.000Z
```

Reviewed By: priteshrnandgaonkar

Differential Revision: D26145941

fbshipit-source-id: dfd6607a4199ca46e2075027856138efb88a07f9
2021-02-01 11:43:30 -08:00
Michel Weststrate
7cc55daf34 Stop storing device logs on the device object and in the plugin
Summary:
Logs were stored hardcoded on the Device object first, this diff makes it normal plugin state.

This makes sure that we can use the same abstractions as in all plugins that store large data sets, and that we can leverage the upcoming DataSource abstraction.

Reviewed By: nikoant

Differential Revision: D26127243

fbshipit-source-id: 7c386a615fa7989f35ba0df5b7c1d218d37b57a2
2021-02-01 11:43:30 -08:00
Michel Weststrate
f2ade40239 Support custom data processing during import
Summary: Per title, this allows for pre-processing data after it is deserialized and before it is stored in the plugin

Reviewed By: nikoant

Differential Revision: D26126423

fbshipit-source-id: bc08a6ab205d2a0d551515563cd85a197595ddb2
2021-02-01 11:43:30 -08:00
Michel Weststrate
34c915a739 Add support for async / custom plugin export
Summary:
Sandy plugins can now set up an `onExport` handler to enable customizing the export format of a plugin: `client.onExport(callback: (idler, onStatusMessage) => Promise<state>)`

Import will be done in next diff

Reviewed By: nikoant

Differential Revision: D26124440

fbshipit-source-id: c787c79d929aa8fb484f15a9340d7c87545793cb
2021-02-01 11:43:29 -08:00
Michel Weststrate
32bde8cace add support for device plugin import / export
Summary: Sandy device plugins weren't exported till now (the only stateful plugin so far was Logs, but logs were stored hardcoded on the device rather than using the plugin export mechanisms). This diff makes sure that SandyDevicePlugins will be exported as well if they are persistable.

Reviewed By: nikoant

Differential Revision: D22724822

fbshipit-source-id: a10354a9c7e02f3e696d0cdda0f2c6be6f5ac61e
2021-02-01 11:43:29 -08:00
Michel Weststrate
e1daa449ba Unify computation of available plugins
Summary:
While trying to change something, discovered we have 3 different mechanisms in our code base to compute active plugins; the plugin list component, support form, and export flipper trace form had all their own, subtly different implementations of computing which plugins are available to the user.

Also removed some hardcoded exceptions for e.g. Logs plugin, which in the next diff and onward will be just a vanilla plugin without special casing

Unified that, which some how went a bit deeper than hoped, trough some hoops in in circular deps. Also unified to use the same testing utils, to avoid some gobbling objects manually together, with resulted in a bunch of unexpected NPEs. Found out that we actually still have unit tests using Flow in the process :-P. Converted one to TS.

Reviewed By: nikoant

Differential Revision: D26103172

fbshipit-source-id: 2fce2577d97d98543cb9312b3d013f24faee43aa
2021-02-01 11:43:29 -08:00
Pascal Hartig
4b711716f2 Improve plugin ready message
Summary: Minor change.

Reviewed By: mweststrate

Differential Revision: D26129625

fbshipit-source-id: 2b823bb34314b7ff1b84eb1ae708733b7dcc9881
2021-01-29 08:55:41 -08:00
Pascal Hartig
c41a2a3605 Link to MSC
Summary: Found out about this today.

Reviewed By: mweststrate

Differential Revision: D26129626

fbshipit-source-id: 82aa5d9fa536010b51fc1cf937f521e5ffa88015
2021-01-29 08:55:40 -08:00
Pascal Hartig
5ac8f7a16f Small refactors
Summary: Going to make more changes here soon and wanted to apply some small changes first.

Reviewed By: jknoxville

Differential Revision: D26078645

fbshipit-source-id: 3a2bcd593b893160b5a332c858a514ebe89d3f4d
2021-01-29 05:10:29 -08:00
Anton Nikolaev
d7cfcb5d8e Extend device plugin metadata to include supported devices
Summary: Plugin metadata format extended to include type of each plugin (client / device) and list of supported devices (android/ios/..., emulator/physical, etc). This will allow to detect plugins supported by device even if they are not installed and only available on Marketplace.

Reviewed By: mweststrate

Differential Revision: D26073531

fbshipit-source-id: e331f1be1af1046cd4220a286a1d52378c26cc53
2021-01-27 17:31:41 -08:00
Anton Nikolaev
1ce619af7e Tolerate individual plugin load errors
Summary: This diff fixes the issue when there is an error on checking GK for any of plugins and because of it the entire set of plugins failed to load. Each plugin should be loaded in isolation from others.

Reviewed By: passy

Differential Revision: D26099735

fbshipit-source-id: ba5475f4baf2d06f8922d345c9d401f5b15956ec
2021-01-27 04:41:05 -08:00
Michel Weststrate
f6d8b19001 Replace search view with drop down
Summary:
The support form currently has a search form to select a group, but unless the selection is cleared, it won't show you which groups is actually available, which makes it hard for people to select the right group if they don't know up front.

Since the scale of available groups doesn't justify needing a typeahead, converted it to an ordinary dropdown.

An added benefit is that this allows us to remove a large and complicated component we shouldn't be maintaining ourselves, but rather reuse from Ant.

Reviewed By: nikoant

Differential Revision: D26046131

fbshipit-source-id: f499e5848eec8b961b054104c8e3a01567e2801e
2021-01-26 05:29:58 -08:00
John Knox
3e911c8288 Add option to cold boot emulators
Summary: This is useful when your emulator freezes.

Reviewed By: mweststrate

Differential Revision: D25998579

fbshipit-source-id: 236c16c3008f0e33d62e4c486b5a04383b1a59ba
2021-01-25 08:57:01 -08:00
Michel Weststrate
d77940a839 Don't require an app in Flipper specific support questions
Summary: Changelog: Submitting a bug report to Flipper itself no longer requires to have an app connected

Reviewed By: jknoxville

Differential Revision: D26046284

fbshipit-source-id: d86ba7668c4187629752a9c27d63209af61bda13
2021-01-25 06:42:50 -08:00
Michel Weststrate
12e59afdc6 Remove non-Sandy UI
Summary:
This removes the Non-Sandy UI from the Flipper codebase. It is a pretty rough scan for unused components, over time when converting more advanced components to Ant design probably even more code can be removed.

Partially used `npx ts-purge` to reveal never imported source files.

Changelog: It is no longer possible to opt out of the new Sandy UI

Reviewed By: jknoxville

Differential Revision: D25825282

fbshipit-source-id: 9041dbc7e03bce0760c9a0a34f1877851b5f06cf
2021-01-25 04:48:45 -08:00
Michel Weststrate
ba74b074c2 Fix employee detection in OSS version
Summary: Changelog: Fix incorrect warning in OSS builds hinting to install a closed source build. Fixes #1853

Reviewed By: passy

Differential Revision: D26019227

fbshipit-source-id: 61a0270997d0aa67d55224e4f6268ed3103099c7
2021-01-22 09:14:34 -08:00
Anton Nikolaev
592d4b9227 Pass release channel when checking for update
Summary: Retrieve updated version in accordance to the currently selected release channel. Also changed message for "insiders" channel - removed mention of fbsource pinning.

Reviewed By: mweststrate

Differential Revision: D26011703

fbshipit-source-id: 7f3396e89db047cb24b4e00b224f79ca0fd64327
2021-01-22 08:21:47 -08:00
Anton Nikolaev
8ce69975a5 Re-enable asar and unpack PortForwardingMacApp
Summary: Enabled asar packaging for Flipper resources, and set PortForwardingMacApp as unpacked from it, because it is launched as external app.

Reviewed By: passy

Differential Revision: D26006771

fbshipit-source-id: 91c8401a469a390144bf9867996a66d754ea90e6
2021-01-22 08:21:47 -08:00
Michel Weststrate
ab31ad69e9 Fix keyboard events to incorrectly listen / propagate globally
Summary:
As reported in https://fb.workplace.com/groups/flippersupport/permalink/1033379297142728/,

using keyboard shortcuts in one component, can change the state of another.

This was caused by two problems:
1. ManagedTable established a global keyboard listener, rather than a local one
2. The Layout Inspector did not stop its keyboard events from propagating up in the DOM

This diff fixes both issues

Reviewed By: timur-valiev

Differential Revision: D26018248

fbshipit-source-id: 23d9cc38ad56d47213cb553ffaf528b05fbe1929
2021-01-22 06:11:50 -08:00
Michel Weststrate
e67ed8030d Make settings dialog scrollable
Summary: Make settings dialog content scrollable, which is more natural than scrolling the entire window, as reported in https://fb.workplace.com/groups/flippersupport/permalink/1063196077494383/

Reviewed By: nikoant

Differential Revision: D26015864

fbshipit-source-id: 8c74e105c290e62313e332ed1b47040eff548a97
2021-01-22 02:06:19 -08:00
Michel Weststrate
18ff69bacd Clean up home screen
Summary: The default screen without any devices or magic GK's was a bit noisy, this diffs cleans it up

Reviewed By: jknoxville

Differential Revision: D25946004

fbshipit-source-id: 76b7eec16b433544e9872e726e8f57dd1ce02b0f
2021-01-19 11:37:24 -08:00
Michel Weststrate
69c8413c57 Check for most recent Flipper version in internal builds as well
Reviewed By: passy

Differential Revision: D25945643

fbshipit-source-id: 4a831fa8d69c38004c8660597659ebd7007a3230
2021-01-19 07:10:00 -08:00
Michel Weststrate
84c05d441d Turn update message into notification
Summary: Based on discussion in D25805957 (ffeb47ed75), instead of showing a warning icon in the siderail, Flipper now shows a notification if there is a version / launcher issue or an update available

Reviewed By: nikoant

Differential Revision: D25924534

fbshipit-source-id: 625e46e41d9aa58f49e8bb77e5c513de0ddfbd6a
2021-01-19 07:09:59 -08:00
Michel Weststrate
6f75e39ca5 Clean up employee warning
Summary: Replaced in-your-face warning with a but more subtle one. Means also less usage of component lib.

Reviewed By: nikoant

Differential Revision: D25944965

fbshipit-source-id: 02a66ff96df2ab8b648f8b8cbeb30d025adfd5a8
2021-01-19 07:09:59 -08:00
Michel Weststrate
7a1717fa87 Clean up App duplication
Summary: fb/App didn't really have a difference with fb-stubs/App, except that one checks for employee presence. However, since that is already controlled by config.checkFbEmployee, de-duped this to a single `<AppWrapper>` component, making the code a bit more easy to follow

Reviewed By: priteshrnandgaonkar

Differential Revision: D25824521

fbshipit-source-id: 8e16f0b29ec5d12475eaf14acd9dbc7df91191a2
2021-01-18 06:48:03 -08:00
Michel Weststrate
bf6655a640 Clean up SandySettingsPanel
Summary: The fb and non-fb sandy settings are now identical (see diff 1 of this stack), so inlined the component and dropped the files

Reviewed By: priteshrnandgaonkar

Differential Revision: D25824522

fbshipit-source-id: 5a388b3f7259cb96f0e45ceb3363c40e4f198d7b
2021-01-18 06:48:03 -08:00
Michel Weststrate
ffeb47ed75 Move title bar functionality to rail (#1816)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/1816

Now that Sandy is the default in OSS builds as well, we can remove the temporarily title bar and switch to small topbar windows in Electron.

This diff removes any remaining elements in the titlebar

- version number went into the title bar
- the update check warning is shown on top of the bottom section of the left rail (orange triangle)
- the development only perf graphs are moved to the left bar as well and are now aligned vertically.

Reviewed By: jknoxville

Differential Revision: D25805957

fbshipit-source-id: fba4b60c246b8f5d99a93087af31af9ac55defe8
2021-01-18 06:48:03 -08:00
Michel Weststrate
bd6c5c0f71 Remove AutoUpdateVersion
Summary: With Sandy we don't have a designed UI for the auto updater, and since this functionality has been disabled for almost a year, we can safely remove it for now until we have the underlying infra, and then rethink the UI if we ever re-introduce it

Reviewed By: passy

Differential Revision: D25804854

fbshipit-source-id: fd96624ffd44e373e8f2c454a67b3797b16779a6
2021-01-18 06:48:02 -08:00
Michel Weststrate
1d23e043de Open Sandy by default to OSS users
Summary:
Removed all `GK.get('flipper_sandy') ` checks to make Sandy the default in public builds as well.

Changelog: Public OSS builds will now use Sandy by default

Reviewed By: passy

Differential Revision: D25803498

fbshipit-source-id: 17b0b431cd30ebcf1c308af0ce63a05b3798741e
2021-01-18 06:48:02 -08:00
Pritesh Nandgaonkar
439601e20c Fix Screen recorder not stopping
Summary:
This fixes the issue raised [here](https://fb.workplace.com/groups/flippersupport/permalink/1059080941239230/) I added the `-l` tag which is for sending signal

{F360746398}

Reviewed By: jknoxville

Differential Revision: D25945336

fbshipit-source-id: a1d8eaf3888072a64ab682fbbc60c03c15ac023a
2021-01-18 06:17:52 -08:00
Michel Weststrate
30ea098a63 Hide app selector if no devices are available
Summary:
As reported in https://fb.workplace.com/groups/748354712423318/permalink/773382183253904/, special case no devices being present and suggest to launch an emulator.

Also extends `useStore()` hook to accept no arguments, in which case it works as Redux's own `useStore` hook, except that it is strongly typed.

Reviewed By: passy

Differential Revision: D25803497

fbshipit-source-id: d448ac41e0ba7b713ee883caeb27736a2901975c
2021-01-06 08:26:12 -08:00
Michel Weststrate
cfd1c22814 Detect Flipper reloads, to remove false positives in quick restart detection
Reviewed By: nikoant

Differential Revision: D25783368

fbshipit-source-id: 35a9cbbbb5bac4c7b6b7b40c45db2055ff4cfa09
2021-01-06 02:08:43 -08:00
Michel Weststrate
ef3da0e530 Fix deferred loaded plugins not showing up
Summary:
See previous diff, plugins that are not available during the initial client connection setup didn't show up in the UI, until selecting another device first. This diff fixes that by listening to the `plugins-change` event of the client.

Changelog: Fix issue where React Native plugins didn't show up in the Sandy layout

Reviewed By: passy

Differential Revision: D25755812

fbshipit-source-id: d865d912ecca85d868831c4da7c56b5f0be6c3bf
2021-01-04 12:17:56 -08:00
Amir Katz
805071fa49 Flipper support fallback also when not debuggable
Summary: For Whitehat adjustment to work with flipper. I would like to enable running the su for emulators and rooted device to enable work with flipperr.

Reviewed By: jknoxville

Differential Revision: D25527298

fbshipit-source-id: 0d3f19891eec7c09d7136867a7aceea40aeac60d
2021-01-04 09:29:39 -08:00
Pascal Hartig
9ac01ab0e2 Update sign-in URL
Reviewed By: cekkaewnumchai

Differential Revision: D25679289

fbshipit-source-id: 9d4b8e89d1695a7b363e756628a7c15446f205ca
2020-12-22 05:41:46 -08:00