Summary: It's copied apart from the status message, so let's centralise it.
Reviewed By: jknoxville
Differential Revision: D17786691
fbshipit-source-id: d5f7a5dccf56b96a58a9c1fc61652d7f9d1786d3
Summary:
From the name it's not clear that this is actually a fork off the "Share File"
variant of this. I'm planning to bring the two together as they share most of
the code, but for now this makes it a bit clearer.
Reviewed By: jknoxville
Differential Revision: D17786570
fbshipit-source-id: 8def3301ee4f79741391dc7e0b6a33a5fd7aa2c3
Summary:
Following https://developer.apple.com/design/human-interface-guidelines/macos/buttons/push-buttons/,
the primary button should be highlighted and the affirmative action be to the right.
Clicked a few times on the wrong one myself.
Reviewed By: priteshrnandgaonkar
Differential Revision: D17762516
fbshipit-source-id: 6be35cfde26ca10142c2c98df30672c0f739c17e
Summary:
As discussed on an earlier diff, the percentage alone
is a confusing indicator as the number of items to be
serialised can grow over time, causing the percentage
to go down.
This shows the raw numbers in addition to the percentage.
Reviewed By: priteshrnandgaonkar
Differential Revision: D17762477
fbshipit-source-id: 8911b520b2ea74542bc64e6a6662bed7d4f81860
Summary:
- Make sure it's "cancel" in all cases.
- Move cancel buttons to the left.
- Rename the callback to clarify purpose.
Reviewed By: jknoxville
Differential Revision: D17762466
fbshipit-source-id: 0f6a9d83ff0cab139f926fb5a512be4618471ee8
Summary:
Wanted to make a small change and found it a bit difficult to
follow, so I tried to make it a bit more TypeScript-y.
Logic should be unchanged.
Reviewed By: priteshrnandgaonkar
Differential Revision: D17762346
fbshipit-source-id: d0d8b2e25b532b7b10079907d6da86bdd878a75c
Summary: As per title, this diff makes the Mobile config plugin exportable. This involves moving the important property from `State` to `PersistedState`. Also had to implement the `exportPersistedState` function to fetch the experiments information for the Universes, configs and gatekeeper information.
Reviewed By: danielbuechele
Differential Revision: D17633986
fbshipit-source-id: 604225ba47112620bee0a6c704416b3ac350de9c
Summary: It's a bit nicer to be able to see if there are any changes made, and save restarting flipper when nothing has changed.
Reviewed By: passy
Differential Revision: D17738036
fbshipit-source-id: 3d7cdc5be1bf948094c3df54439625e5052a9a2f
Summary:
For "primary" and "danger" buttons, you previously couldn't see any difference between disabled and enabled ones.
This fixes that by greying them out when disabled.
Reviewed By: passy
Differential Revision: D17738031
fbshipit-source-id: 82e16b8881f3d404aafae8a7837151090bb6bbee
Summary:
Gets flipper to restart when settings are updated.
In theory most settings should not need this, but the current only one does (android home) because the path is set at startup only, and this modifies the input to it.
It would be a bit awkward to modify the path more than once, but doable.
Reviewed By: passy
Differential Revision: D17737582
fbshipit-source-id: d4669dcc7acc95469f15783fc6a5ba6794750234
Summary: A settings screen has been added where android home can be set. This changes the downstream code to use this value rather than the `env.PATH` variable.
Reviewed By: passy
Differential Revision: D17713288
fbshipit-source-id: 51551652c9c2f468e1117c18785123348e4b4576
Summary:
Moves the settings state from electron local storage into a json file in the users configured config location.
Unless modified by the user, this will usually be `~/.config/flipper/settings.json`
Settings will now persist across re-installs, and can now be easily inspected and backed up.
Reviewed By: passy
Differential Revision: D17712687
fbshipit-source-id: 1e778063e41d0a1a86145817b9797bf0458121da
Summary:
This will be used for the settings file.
It results in normal JSON, as opposed to json where the value of every key is an escaped string.
Reviewed By: passy
Differential Revision: D17712688
fbshipit-source-id: d37ed93707c7352719fa72a05bf51953611f52c0
Summary:
Adds a simple UI for editing settings, a reducer and persistance config for the data.
These values aren't yet used for anything.
Reviewed By: passy
Differential Revision: D17684490
fbshipit-source-id: e76ac43ffa17d3606e59f4a1ccb940e8d9fbd9e8
Summary:
Adds some very basic error handling. It's not great
because once you hit an error, you're basically stuck
and there's no retry yet, but it's still strictly
an improvement over being stuck with the looping
spinner, so I think it's worth shipping it in this state.
Reviewed By: jknoxville
Differential Revision: D17763467
fbshipit-source-id: b5b7996554dd1dce682fba87f96e3806432a475a
Summary:
Add some usage and failure rate stats to the PluginInstaller. Small
typo fix and added a helper to the metrics utils to make simple
usage tracking a little more intuitive.
Reviewed By: jknoxville
Differential Revision: D17760511
fbshipit-source-id: 957031d428f3124435925415619b1555a0c2dc2a
Summary:
Update the docs to include Windows and Linux.
Pull Request resolved: https://github.com/facebook/flipper/pull/572
Test Plan: eyes
Reviewed By: jknoxville
Differential Revision: D17738803
Pulled By: passy
fbshipit-source-id: 8e556fb6b3e57de6f3334286e83a59a48dbdd982
Summary:
Flipper's network plugin may cause crash on a frequency of about one time per 1~2 days(I think it depends on how many network request we send).

I assume the crash is caused by part of the code of HTTPParser is not thread-safe, and invoke it asynchronously may cause double-free crash. So I manually ask for HTTPBody synchronously, make the HTTPParser parse the request and cache them in advance, before any possible asynchronous invoking.
## Changelog
Fix potential crash cause by network plugin.
Pull Request resolved: https://github.com/facebook/flipper/pull/563
Test Plan:
1. Run our App with Flipper integrated
2. Make sure FlipperNetworkPlugin is active
3. It may take days to reproduce the crash
Reviewed By: passy
Differential Revision: D17739327
Pulled By: priteshrnandgaonkar
fbshipit-source-id: e814145c346bd2da1d2f5f87b6a2f7e200f0bf2d
Summary: This diff passes the idler and statusUpdate arguments to the export persisted state, as it is being used in the MobileConfig's export function
Reviewed By: passy
Differential Revision: D17715815
fbshipit-source-id: 98a0f0f5950254de2139c4aaa52cb73401c86c3c
Summary:
Marginally safer than ignoring the entire line, which
makes type-checking weaker on subsequent references.
Reviewed By: jknoxville
Differential Revision: D17736479
fbshipit-source-id: 13afcb5f08e53016b7a6cdc7ea135e726586a67b
Summary:
Got a warning during `yarn start` that the caniuse database
was out of date so I updated it along with the rest.
allow-large-files
Reviewed By: jknoxville
Differential Revision: D17715099
fbshipit-source-id: 8ff705afbaa0f2be272f85e2996d8e32c1f6ab05
Summary:
Currently Flipper.init is called as soon as the script loads.
However, if the store takes a bit longer than usual to get rehydrated, then this init call can get called before it has been set.
Fixing it by using a specific event instead of the generic `onload`.
Reviewed By: passy
Differential Revision: D17711399
fbshipit-source-id: fcaf9e5943bfd15359038b8e3722f11d7e06379b
Summary:
This avoids having to perform gymnastics like in
https://github.com/facebook/react-native/pull/26697
Reviewed By: jknoxville
Differential Revision: D17735954
fbshipit-source-id: 507548aab89309beeb228b104a24af8acd10ce9a
Summary: When copying elements from the layout inspector its much more useful to copy all associated attributes rather than just the name and an implementation detail id.
Reviewed By: jknoxville
Differential Revision: D17727520
fbshipit-source-id: 8ac1828059cc10f7f9faf0bdc72eb3d57c881121
Summary:
These are the only four errors currently happening when upgrading to the 3.7 beta.
Luckily, these are all forwards-compatible changes.
Reviewed By: jknoxville
Differential Revision: D17711797
fbshipit-source-id: 429036e90300c81848cc3252b67bb89871ff2e32
Summary:
- Introduce new base protocol `CKMountable`
- Contains Layout & Mount methods that have been extracted from `CKComponent`
- This will allows us to introduce a new lighter version of `CKComponent`, which doesn't rely on Scope/State/Controllers/etc
- Refactor `CKComponentLayout` to work with `CKMountable` instead of `CKComponent`, which will allows us to interop between `CKComponent` and a new type of components.
- Refactor the codebase to support this change
Reviewed By: kevin0571
Differential Revision: D17668253
fbshipit-source-id: 13db5ff4acb37b338e291ca2dd7d67cd25dbc6d2
Summary: Shows status messages for the Support Form
Reviewed By: passy
Differential Revision: D17601944
fbshipit-source-id: a2a8ad392dfbaf467625eb809020d687d066da57
Summary:
This diff adds a status bar, which can be used to show the status messages, for example for Litho Support Form.
The logic for the status bar is as follows:
It maintains the array of the messages. At any point it shows the last pushed message. It will keep showing that message until it is being removed, once removed it will show second last message. The messages will be removed as and when its corresponding task/Promise is fulfilled.
Reviewed By: danielbuechele
Differential Revision: D17551495
fbshipit-source-id: 96b2f401599b9ee8a472607e6a2f027e63b3b807
Summary:
the name of the plugin into documentation is not correct.
## Changelog
chore: plugin-name
Pull Request resolved: https://github.com/facebook/flipper/pull/562
Differential Revision: D17709629
Pulled By: passy
fbshipit-source-id: ce6233ce9cac67c42b0501bd969c46114d74365a
Summary:
There were two issues with the previous approach:
1) We didn't block the shell process, so we would immediately
start pulling the video from the device as soon as we **started**
recording it. This meant, you'd usually get the previous recording
or just an empty file.
2) The stop side doesn't know when it's actually safe to start displaying
the video as pulling takes time. So we need access to the process
promise there.
Reviewed By: jknoxville
Differential Revision: D17687827
fbshipit-source-id: 6ad5da52442f1888dd491b2a4c7f7a6b5a7885dd
Summary: Now emits a warning if api version doesn't match expected one.
Reviewed By: cekkaewnumchai
Differential Revision: D17685261
fbshipit-source-id: 2a01d64e2e160d411d7a58125b5bb45437476f8f
Summary:
D14932994 changes the layout, but we did not update the snapshot.
Another option is to disable a test for now.
Reviewed By: jknoxville
Differential Revision: D17548543
fbshipit-source-id: 455e5047eab0044cabd503cae7cbc386443f376e
Summary: I noticed every time you open a sheet it feels laggy and unresponsive. This removes the wait time to make it immediate.
Reviewed By: passy
Differential Revision: D17684407
fbshipit-source-id: f918bf8ca3bb0ef68c3fe01991c67d50f3967d68
Summary: This diff migrates the Mobile config plugin to typescript. In the later diffs, I will refactor the logic of the plugin to use persisted state as it can then be used to export the data, which is required for the litho support form.
Reviewed By: jknoxville
Differential Revision: D17628276
fbshipit-source-id: b48d4fb346b582408774ef08ffbead23adc7aaac
Summary:
Some repositories disable using .gitignore files with ripgrep. This adds an explicit .ignore symlink so that it is always used.
Vastly speeds up using ripgrep in VS code.
Reviewed By: passy
Differential Revision: D17664864
fbshipit-source-id: cd798a41b813e32f64e8e75b6100445ace6b00d8
Summary: My hypothesis is that on hot reloads / `Ctrl+R`s calls to `this.log` from within the proxy would call the proxy itself. So the only truly relevant change here should be the `.bind(this)` removal. But I'm still not 100% sure that this was the reason for the stack overflow error. Let's keep an eye on this.
Reviewed By: jknoxville
Differential Revision: D17664509
fbshipit-source-id: c9e1c5fe32048b04ef0585f7162bd00ad5ccf18a
Summary: Turns out Windows really doesn't like colons in filenames. Sigh.
Reviewed By: jknoxville
Differential Revision: D17664236
fbshipit-source-id: 664885308815d862007c8a9a9d1278c426b4e756
Summary:
Instead of our ad-hoc mechanism. There's quite a bit
of trickery involved to make this work reliably on Windows
so I'd rather take an off-the-shelf solution than reimplement this
myself.
Reviewed By: jknoxville
Differential Revision: D17628949
fbshipit-source-id: 98806b60a107231d9ee07b721ebb70f2cbd8aec1
Summary:
D17629896 was intended to fix this in ovrsource, but it turns out these changes should be made on fbsource first then get synced.
The MSVC build of OculusPCSDK has numerous warnings, including these low-hanging fruit:
```
c:\open\ovrsource\xplat\omnistore\client\common\reportsubscriptionstatetiming.cpp(28): warning C4101: 'e': unreferenced local variable
c:\open\ovrsource\xplat\omnistore\client\common\databaseanalyticsmetadatatiming.cpp(23): warning C4101: 'e': unreferenced local variable
c:\open\ovrsource\xplat\omnistore\client\common\sendqueuereportbacklogtiming.cpp(32): warning C4101: 'e': unreferenced local variable
c:\open\ovrsource\xplat\omnistore\client\common\omnistore.cpp(192): warning C4101: 'e': unreferenced local variable
c:\open\ovrsource\xplat\omnistore\client\common\omnistore.cpp(907): warning C4101: 'e': unreferenced local variable
c:\open\ovrsource\xplat\omnistore\client\common\omnistore.cpp(934): warning C4101: 'e': unreferenced local variable
c:\open\ovrsource\xplat\omnistore\client\common\omnistore.cpp(946): warning C4101: 'e': unreferenced local variable
```
Clang doesn't complain, but the code is just as clear without the 'e' so best to remove.
Reviewed By: vener91
Differential Revision: D17631747
fbshipit-source-id: 0190a48e640311b40c9d1b988b0c07cfbdcfd7e5