Summary: Moved Logger, sleep, timeout and server contract types to flipper-common packages.
Reviewed By: passy
Differential Revision: D31475790
fbshipit-source-id: 42d2147698875f9e919ad5250f9953f3bff3ec2d
Summary:
This diff moves the dialogs
* Settings
* Plugin Manager
* Doctor
* Sign in
* Changelog
To use the imperative dialog APIs, rather then organising them through reducers which adds a lot of indirection which isn't really needed but hard to follow.
Reviewed By: passy
Differential Revision: D30192002
fbshipit-source-id: ba38b2e700da3e442653786448fcbf85074981ad
Summary: Some drive-by changes as I'm working on other stuff.
Reviewed By: mweststrate
Differential Revision: D31337500
fbshipit-source-id: 8f348af06b7c4b159703d7adf160a7380ba57b22
Summary:
Splitting this up into the wiring and the actual usage.
This just ensures we have a logger in place for handling
deeplinks.
Reviewed By: mweststrate
Differential Revision: D31337457
fbshipit-source-id: b088a7396e38554a87502ba7d5669dbef1b398d7
Summary: This diff makes sure we can manually & unit tests deeplinks more easily, by introducing a dialog in which a deeplink can be entered manually and extracting deeplink handling logic from the application dispatcher.
Reviewed By: jknoxville
Differential Revision: D29760933
fbshipit-source-id: 0fc8f577204ecdd278716853b87786557a6e2194
Summary:
This stack reduces our direct dependency on Electron, for example by exposing our own API to open links.
Also exposing `getFlipperLib` as API from `flipper-plugin`, so that these utility methods are available outside plugin contexts as well.
Reviewed By: timur-valiev
Differential Revision: D29661689
fbshipit-source-id: 0c0523326eeb0d9d8fbe3e03c4609327bb53596b
Summary: Removing old components that are no longer used, and cleaning up index.tsx to prevent future for some of those
Reviewed By: nikoant
Differential Revision: D29428621
fbshipit-source-id: 78ae51c09510738cf2d75982fdae35b9ef6d2d7e
Summary: Per title / see rest of the stack
Reviewed By: passy
Differential Revision: D29196711
fbshipit-source-id: 63ea52a07b61a11c1ad4013985c5b005045dcf0a
Summary: Changelog: allow zooming Flipper window content in and out either using View menu or hotkeys (Cmd+Plus) and (Cmd+Minus)
Reviewed By: passy
Differential Revision: D28748567
fbshipit-source-id: a214c708cae2c82d04eb53fc879518a0106517de
Summary: Wired up tracking to all chrome sections and some import UI elements
Reviewed By: jknoxville
Differential Revision: D25219089
fbshipit-source-id: c75bed91894609dafc5fcc6423a5228211fb92d8
Summary: This prefixes APIs of `flipper-plugin`, that are used by Flipper, but should not be used by plugins directly, with `_`. Also added tests to make sure we are always intentional when extending the exposed APIs
Reviewed By: passy
Differential Revision: D24991700
fbshipit-source-id: ed3700efa188fca7f5a14d5c68250598cf011e42
Summary:
Changelog: Flipper can now launch iOS simulators by using `File > Launch Emulator...`
In the Sandy designs the device selector dropdown no longer shows the option to launch an emulator. So added a button to app inspect and the main menu instead.
I found it always a bit funny that we can launch android emulators, but not iOS emulators. Turns out that launching them is actually not very complex, so added capabilities to launch ios emulators
Reviewed By: jknoxville
Differential Revision: D24021737
fbshipit-source-id: c106cc2246921e008f9c808ebb811d8e333aa93b
Summary: Added standardized dimensions for padding and gap, to encourage people to build layouts that look consistent, using for example `padv="small"`
Reviewed By: cekkaewnumchai
Differential Revision: D23961386
fbshipit-source-id: 33cd3b8974858e021a8b7d1b32f018fe3f007c63
Summary:
[interesting] since it shows how Flipper APIs are exposed through sandy. However, the next diff is a much simpler example of that
This diff adds support for adding menu entries for sandy plugin (renamed keyboard actions to menus, as it always creates a menu entry, but not necessarily a keyboard shortcut)
```
client.addMenuEntry(
// custom entry
{
label: 'Reset Selection',
topLevelMenu: 'Edit',
handler: () => {
selectedID.set(null);
},
},
// based on built-in action (sets standard label, shortcut)
{
action: 'createPaste',
handler: () => {
console.log('creating paste');
},
},
);
```
Most of this diff is introducing the concept of FlipperUtils, a set of static Flipper methods (not related to a device or client) that can be used from Sandy. This will for example be used to implement things as `createPaste` as well
Reviewed By: nikoant
Differential Revision: D22766990
fbshipit-source-id: ce90af3b700e6c3d9a779a3bab4673ba356f3933
Summary:
So far there were 2 types of plugins: `FlipperPlugin` and `FlipperDevicePlugin`. This introduces a third kind: `SandyPluginDefinition`.
Unlike with the old plugins, the export of the module is not directly exposed as the plugin definition. Rather, we use class `SandyPluginDefinition` (instance) that holds a loaded definition and its meta data separately (`PluginDetails`). This means that we don't have to mix in and mutate loaded definitions, and that for unit tests we can avoid needing to provide a bunch of meta data. This also prevents a bunch of meta data existing on two places: on the loaded classes as static fields, and in the meta data field of the loaded class as well. Finally, we can now freely extends the `PluginDetails` interface in flipper, without needing to store it on the loaded classes and we are sure that no naming conflicts are caused by this in the future.
For compatibility with the existing code base, common fields are delegated from the `SandyPluginDefinition` class to the meta data.
Also cleaned up types around plugins a little bit and removed some unnecessary casts.
For all features that reason about plugins in general (such as exports), sandy plugins are ignored for now.
`SandyPluginInstance` is worked out in further diffs
The `instanceof` calls are replaced by a utility function in later diffs.
{F241363645}
Reviewed By: jknoxville
Differential Revision: D22091432
fbshipit-source-id: 3aa6b12fda5925268913779f3c3c9e84494438f8
Summary:
There were several reports that it is hard to test an entire plugin, and send updates.
This should address that and help with avoiding plugin regressions in the future.
Added a `renderMockFlipperWithPlugin` utility and demo test.
Reviewed By: passy
Differential Revision: D22114217
fbshipit-source-id: ceefd954abc4ea47c336eab495fb50f161993df9
Summary:
Searched for broken link patterns inside the app itself. I think I found them all but it's not certain.
Patterns searched for and replaced:
```
.html
getting-started/)
getting-started)
getting-started"
```
and also searched the repo for regex `\]\(.*)` and checked them by eye.
Reviewed By: passy
Differential Revision: D21306944
fbshipit-source-id: a2e09b0fd8677f5f26e5cc4a06805b474247f7e6
Summary: Keep track of how often the 'reload' command is used
Reviewed By: passy
Differential Revision: D21227851
fbshipit-source-id: 112781024be16e411e93cf2403f95b2f3134d971
Summary:
The url for the getting started page was changed yesterday. (no longer getting-started.html)
This fixes some links that were broken because of it.
Reviewed By: cekkaewnumchai
Differential Revision: D20855343
fbshipit-source-id: 788efb75f3581e4fe6cecd5f69f11dd64b03e7df
Summary:
Quick notes:
- This looks worse than it is. It adds mandatory parentheses to single argument lambdas. Lots of outrage on Twitter about it, personally I'm {emoji:1f937_200d_2642} about it.
- Space before function, e.g. `a = function ()` is now enforced. I like this because both were fine before.
- I added `eslint-config-prettier` to the config because otherwise a ton of rules conflict with eslint itself.
Close https://github.com/facebook/flipper/pull/915
Reviewed By: jknoxville
Differential Revision: D20594929
fbshipit-source-id: ca1c65376b90e009550dd6d1f4e0831d32cbff03
Summary:
1) moved "sonar/desktop/src" to "sonar/desktop/app/src", so "app" is now a separate package containing the core Flipper app code
2) Configured yarn workspaces with the root in "sonar/desktop": app, static, pkg, doctor, headless-tests. Plugins are not included for now, I plan to do this later.
Reviewed By: jknoxville
Differential Revision: D20535782
fbshipit-source-id: 600b2301960f37c7d72166e0d04eba462bec9fc1