Commit Graph

674 Commits

Author SHA1 Message Date
Flipper Bot
2fc156c15a Flipper Release: v0.111.0
Summary: Releasing version 0.111.0

Reviewed By: nikoant

Differential Revision: D31107620

fbshipit-source-id: 3651b4e38c4311d895af411a15925eb99bef1382
2021-09-22 09:28:02 -07:00
Michel Weststrate
3882357579 Factor out realDevice [7/n]
Summary: `device.realDevice` was the escape hatch used in Sandy plugins to give access to device specific features like taking screenshots, clearing logs or accessing `adb`. Since in decapitated Flipper that won't be possible anymore (since plugins run in the client but device implementations on the server), all escape hatches have been bridged in this stack, and we can get of the `realDevice` interaction, by explicitly exposing those cases, which makes it type safe as well.

Reviewed By: passy

Differential Revision: D31079509

fbshipit-source-id: c9ec2e044d0dec0ccb1de287cf424907b198f818
2021-09-22 09:03:33 -07:00
Michel Weststrate
8cf182cc26 Restore adb executeShell [5/n]
Summary: Expose executeShell explicitly through the device interface

Reviewed By: jameslawson

Differential Revision: D31055959

fbshipit-source-id: b14395d0783ede265c6ae39c397ea93a85a78336
2021-09-22 09:03:32 -07:00
Michel Weststrate
4463e7ede2 Restore metro functionality [4/n]
Summary: Restored Metro functionality; progress reports, metro logs, RN/Hermes debugging, reload / dev menu button

Reviewed By: passy

Differential Revision: D31055958

fbshipit-source-id: c243035c343c14718a9afe275c8f5f36a1aa3a94
2021-09-22 09:03:32 -07:00
Michel Weststrate
2d838efd4d Separate device in server and client version [2/n]
Summary:
This stack takes care of handling care of moving all device interactions over the (possible) async channel FlipperServer. The FlipperServer interface (see previous diff) allows listening to specific server events using `on`, and emit commands to be executed by the server by using `exec` (e.g. `exec('take-screenshot', serial) => Promise<buffer>`).

FlipperServerImpl implements this interface on the server side.

The device implementations are split as follows

```
server / backend process:

ServerDevice
- iOSDevice
- AndroidDevice
- MetroDevice
- DummyDevice
- Mac/Windows Device

frontend / ui:

BaseDevice: a normal connected, device, implements device apis as they already existed
- ArchivedDevice (note that this doesn't have a server counterpart)
- TestDevice (for unit tests, with stubbed backend communication)

```

All features of devices are for simplicity unified (since the deviations are small), where specific device types might not implement certain features like taking screenshots or running shell commands.

To avoid making this diff unnecessarily big, some open Todo's will be addressed later in this stack, and it shouldn't be landed alone.

Reviewed By: timur-valiev

Differential Revision: D30909346

fbshipit-source-id: cce0bee94fdd5db59bebe3577a6084219a038719
2021-09-22 09:03:32 -07:00
Flipper Bot
5e10baa43f Flipper Release: v0.110.0
Summary: Releasing version 0.110.0

Reviewed By: mweststrate

Differential Revision: D31020264

fbshipit-source-id: e161705979fda9f95ddd212d5f35ede4bb8f49c3
2021-09-17 09:23:20 -07:00
Mathias Fleig Mortensen
094c320c5c Ignore react-vis types missing
Reviewed By: defHLT

Differential Revision: D30993257

fbshipit-source-id: 32d7f6af837f47407e10e3c3bd744071d6b374e6
2021-09-17 04:23:27 -07:00
Mathias Fleig Mortensen
b62cd63f58 Add typing for TreemapPoint functions
Reviewed By: timur-valiev

Differential Revision: D30992497

fbshipit-source-id: 616f11d34d2904655f74c9313a511b8e14a13524
2021-09-17 04:23:27 -07:00
Flipper Bot
fbe2b590d1 Flipper Release: v0.109.0
Summary: Releasing version 0.109.0

Reviewed By: mweststrate

Differential Revision: D30988723

fbshipit-source-id: 795fef1a475eb3c15ee323626a92e76345239af0
2021-09-16 05:45:15 -07:00
Mathias Fleig Mortensen
6359c82be1 Add memory consumption treemap tab
Summary: There are some issues with label positioning, but overall works.

Reviewed By: defHLT

Differential Revision: D29588329

fbshipit-source-id: 5c2e8f6f139d997559111fa2ad124ae1d695b36a
2021-09-15 07:47:34 -07:00
Michel Weststrate
5fb23f83e9 Fix NPE in LayoutInspector
Summary: Fixed a potential NPE that could happen in layout editor.

Reviewed By: passy

Differential Revision: D30870185

fbshipit-source-id: 3ae5860ce63761336d8bc508dd8eff761a5ab1f8
2021-09-13 01:03:58 -07:00
Flipper Bot
dcafcf85d7 Flipper Release: v0.108.0
Summary: Releasing version 0.108.0

Reviewed By: mweststrate

Differential Revision: D30868044

fbshipit-source-id: 07b58271f174095843368e884da36598e83eb77c
2021-09-10 09:03:13 -07:00
Michel Weststrate
d8f77db632 Code improvements and more logging on connection handling
Summary:
In an attempt to trace Android issues:

1. added more logging to the process (opted for info level for now since this is pretty critical for support requests, yet not super repetitive overall. We could maybe turn it into usage tracking at some point to have central stats?).
2. rewrote promise chains to async/await since they are easier to follow and harder to do accidentally wrong
3. fixed some minor potential problems, will highlights those in code.

Changelog: Improved handling of edge cases in certificate exchange, which should address cases where a Flipper connection wouldn't come up when connection to Android / IOS. Added explicit logging around connection negation.

Reviewed By: lblasa

Differential Revision: D30838947

fbshipit-source-id: a898c6d3be6edc22bd24f9d2bad76e81871360da
2021-09-10 07:04:43 -07:00
Flipper Bot
7e95848b9e Flipper Release: v0.107.0
Summary: Releasing version 0.107.0

Reviewed By: mweststrate

Differential Revision: D30819921

fbshipit-source-id: 64d7e157b320a9826d9b72d140585a4106546b95
2021-09-08 16:35:28 -07:00
Pascal Hartig
47099cfd31 Fix Flipper lints #16
Summary: Larger list of fixes. Adding another package to the flipper export is a bit nasty but it unblocks us for now and centralises `remote` access which seems like a win for FAAS.

Reviewed By: mweststrate

Differential Revision: D30785421

fbshipit-source-id: 931297e8566b5d8a213b69ae87d0cda7648b3ed4
2021-09-08 08:44:19 -07:00
Flipper Bot
1fcae2fefd Flipper Release: v0.106.0
Summary: Releasing version 0.106.0

Reviewed By: mweststrate

Differential Revision: D30803788

fbshipit-source-id: c87f23cfe76bfa515c1028d65857733e2d1ade8e
2021-09-08 04:22:40 -07:00
Flipper Bot
1b2d7b9f61 Flipper Release: v0.105.0
Summary: Releasing version 0.105.0

Reviewed By: lblasa

Differential Revision: D30694560

fbshipit-source-id: 0427c4d1d4b34345661472cce5a6e256a31f0f95
2021-09-01 11:46:27 -07:00
Flipper Bot
120788413f Flipper Release: v0.104.0
Summary: Releasing version 0.104.0

Reviewed By: passy

Differential Revision: D30543476

fbshipit-source-id: a38f16d4928575c76a39da3c02812feb4620178e
2021-08-25 09:13:23 -07:00
Pascal Hartig
b601ff5a09 Fix crash on missing children
Summary:
T98487412 is firing again. This seems to be an expected case that's not handled
correctly.

thinkofthechildren

Reviewed By: fabiomassimo

Differential Revision: D30539615

fbshipit-source-id: d9625bb0a7b3622e5afb6e768bc525c27fdfb02d
2021-08-25 08:54:07 -07:00
Flipper Bot
f4631eecc1 Flipper Release: v0.103.0
Summary: Releasing version 0.103.0

Reviewed By: passy

Differential Revision: D30400660

fbshipit-source-id: e5d3e2e59c977e1e5a32945fffaba243c703823e
2021-08-18 15:51:47 -07:00
Pascal Hartig
0cb6c0b3d2 Fix NPE on children expansion
Summary: See task for stack trace.

Reviewed By: timur-valiev

Differential Revision: D30393458

fbshipit-source-id: 71589b42fd579db95dfb04a96a00966f8bc65a2a
2021-08-18 03:19:57 -07:00
Pascal Hartig
09107460a3 Filter duplicate requests
Summary:
Right now this is throwing an error, we instead gracefully
handle this. I'm not quite sure where this is coming from but as we're
not really doing anything with the requests before they're added here,
it must be coming from the network stack.

We can't really build another stable key on the client side because we
also need to match it up with the response. Open for ideas!

Changelog: Network requests with duplicate IDs are filtered out

Reviewed By: mweststrate

Differential Revision: D30337820

fbshipit-source-id: d312833727b383fa5f4d18a506ab581cd2151d13
2021-08-16 05:32:36 -07:00
Pascal Hartig
fc73e0d4ec Revert "Improve protobuf support (#2513)" (#2665)
Summary:
This reverts commit efd75ea435.

Sorry hbmartin! We're running into Kotlin compatibility problems. Your latest library release isn't compatible with Kotlin 1.3 and we can't upgrade just yet because Litho hasn't been able to release in a while. :(

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

Test Plan: _eyes

Differential Revision: D30189360

Pulled By: passy

fbshipit-source-id: c1edbbc496742938579f4e2032a78debe08fcc26
2021-08-09 04:15:49 -07:00
Harold Martin
efd75ea435 Improve protobuf support (#2513)
Summary:
* Update protobuf library to support map types
* Improved usage messaging in UI
* Always attempt to decode requests with a protobuf definition
## Changelog
Improved protobuf support

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

Reviewed By: mweststrate

Differential Revision: D30162379

Pulled By: passy

fbshipit-source-id: 201fb06045822641be5840b121da180a201be974
2021-08-09 02:42:35 -07:00
Flipper Bot
7b577f77c8 Flipper Release: v0.102.0
Summary: Releasing version 0.102.0

Reviewed By: nikoant

Differential Revision: D30131831

fbshipit-source-id: 05ffa592f0ae9e123dffed6a3c8c5c0e22daacf4
2021-08-05 09:43:40 -07:00
Flipper Bot
5dbb0b7a24 Flipper Release: v0.101.0
Summary: Releasing version 0.101.0

Reviewed By: lblasa

Differential Revision: D30098058

fbshipit-source-id: f6e6ed1942a30e492e66ed42aec6dc35d1cddd24
2021-08-04 07:37:17 -07:00
Flipper Bot
dd880b3ba9 Flipper Release: v0.100.0
Summary: Releasing version 0.100.0

Reviewed By: cekkaewnumchai

Differential Revision: D29958236

fbshipit-source-id: d1dabc4537b9691196d61d9c1a200cf6c8a86725
2021-07-28 04:05:49 -07:00
Flipper Bot
c0b0a9f04e Flipper Release: v0.99.0
Summary: Releasing version 0.99.0

Reviewed By: nikoant

Differential Revision: D29815217

fbshipit-source-id: c0597dedcd15b04c7091bf22807e5b8dbca90f97
2021-07-22 06:08:56 -07:00
Anton Nikolaev
b2f45ba178 Fix timeline scrolling
Summary: Changelog: Fixed timeline scrolling in Navigation plugin

Reviewed By: timur-valiev

Differential Revision: D29815770

fbshipit-source-id: 303ea1c27c742418e40044571207c93709d57d16
2021-07-21 07:25:06 -07:00
Anton Nikolaev
d782f19001 Refactor plugin to make it fast refreshable
Summary: Refactored Navigation plugin to make it fast-refreshable: moved the main component into a separate file and exported all components as named functions. Without these changes every change of UI triggered full reload.

Reviewed By: timur-valiev

Differential Revision: D29814077

fbshipit-source-id: 5285bdc5f14a5163f9501c0d45a3affefb08fc8e
2021-07-21 07:25:06 -07:00
Michel Weststrate
57d00e0bab One sleep to rule them all. Zzz
Summary: Boyscouted some code duplication away.

Reviewed By: jknoxville

Differential Revision: D29731016

fbshipit-source-id: d5f1677a667f032f6e7e031da296be26e1976932
2021-07-16 03:43:36 -07:00
Michel Weststrate
5dbd3bd414 Make getFlipperLib generally available, and use it to decouple opening links from Electron
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
2021-07-15 01:54:20 -07:00
Flipper Bot
5da8fca2e4 Flipper Release: v0.98.0
Summary: Releasing version 0.98.0

Reviewed By: priteshrnandgaonkar

Differential Revision: D29693626

fbshipit-source-id: 31e5bc8d48c2c3e208022e57e6ce564e79d7329e
2021-07-14 08:23:53 -07:00
Michael MacPherson
1fdc261111 Update setup.mdx (#2595)
Summary:
Change iOS to Objective C, reference which file is being updated

- Clarifies how to update iOS if using objective C for flipper network plugin

## Changelog

- renamed iOS to ObjC for flipper network plugin setup
- specified which iOS file to modify for flipper network plugin setup

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

Test Plan:
Imported from GitHub, without a `Test Plan:` line.

|[Site Preview: flipper](https://our.intern.facebook.com/intern/staticdocs/eph/D29662605/V2/flipper/)

Reviewed By: passy

Differential Revision: D29662605

Pulled By: nikoant

fbshipit-source-id: acdc8bba73900c19500fc91f8a275930c51d73ad
2021-07-12 13:51:23 -07:00
Alex Min
9498a529d5 Filter out empty strings after splitting top-level JSON
Summary: https://fb.workplace.com/groups/flippersupport/permalink/1169477680199555/

Reviewed By: jknoxville

Differential Revision: D29637437

fbshipit-source-id: cd8c55141f2d95afeea0f8680dd3a0d29943c200
2021-07-09 10:22:45 -07:00
Flipper Bot
1b36e33a25 Flipper Release: v0.97.0 (#2579)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/2579

Releasing version 0.97.0

Reviewed By: jknoxville

Differential Revision: D29592758

fbshipit-source-id: 28ae9682c041afc29ee7b524eaa67167b9711baa
2021-07-09 05:23:01 -07:00
bizzguy
6c534f5749 Fix selection on mock list (#2574)
Summary:
Fix selection problem on ManageMockResponsePanel.  Currently, when the user adds new routes, the detail section continues to show the detail for the first route.  Select different routes in the list does not change the detail panel.  The screen is currently not doing anything on selection.

Also fixed a problem with updating on mock header names and values.  Updates were not persisting if user did not exist input fields before leaving header input panel.

## Changelog

Network Plugin - Fix selection problem on ManageMockResponsePanel

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

Test Plan:
Add multiple mock routes
Select various routes
Verify that detail panel shows the selected route

![2021-07-06_21-43-56](https://user-images.githubusercontent.com/337874/124692775-cc169680-dea3-11eb-8a70-14457c5f6304.jpg)

Reviewed By: passy

Differential Revision: D29582286

Pulled By: mweststrate

fbshipit-source-id: 6690e2262a033cdfa5afa6e6fdfacc9694244590
2021-07-07 05:04:26 -07:00
Michel Weststrate
a8062499df Use local storage for state persisting
Summary: Apply local storage setting at a few relevant places, see parent diff

Reviewed By: cekkaewnumchai

Differential Revision: D29516498

fbshipit-source-id: 4797986e3540217e42dfb867f7d627921b97618e
2021-07-05 08:39:54 -07:00
Flipper Bot
1e8db937c1 Flipper Release: v0.96.1
Summary: Releasing version 0.96.1

Reviewed By: nikoant

Differential Revision: D29517059

fbshipit-source-id: a484862db5280897a17be415b36a9e7900de6737
2021-07-01 07:45:44 -07:00
Michel Weststrate
328ba9513c Make flipper messages generally available, remove self inspection infra structure
Summary:
Changelog: Flipper message debugging moved from a separate device to the console tab

This makes message debugging easier accessible, and in production (recently requested at GH). Also it clears up a lot of infra that was created just to make flipper a self recursive inspection device + a separate plugin. While fun, a hardcoded setup is just a bit more simpler (no exception rules and better static verification)

Reviewed By: nikoant

Differential Revision: D29487811

fbshipit-source-id: b412adc3ef5bd831001333443b432b6c0f934a5e
2021-07-01 02:00:08 -07:00
Anton Nikolaev
ef5a7d5bba Temporary remove fb-only include form "navigation" plugin setup docs to fix github build
Summary:
Github build is currently broken, so I'm removing this for now while I'm looking for the proper fix.

Failed job: https://github.com/facebook/flipper/runs/2947749418

Reviewed By: priteshrnandgaonkar

Differential Revision: D29491530

fbshipit-source-id: a2430033e18d3883adf2617beb0c60a67db5e183
2021-06-30 09:49:51 -07:00
Flipper Bot
f8996a35cd Flipper Release: v0.96.0
Summary: Releasing version 0.96.0

Reviewed By: nikoant

Differential Revision: D29487010

fbshipit-source-id: 37445bf8d448f2a71a16fbf0dbf37a5c6737a602
2021-06-30 09:08:28 -07:00
Anton Nikolaev
039d3a4a08 Move plugin docs to plugin folders
Summary: Moved plugin documentation and related assets to plugin folders, fixed links and configured redirects where required. Now these docs are used for both showing docs in Flipper and generating Flipper docs website.

Reviewed By: passy

Differential Revision: D29465567

fbshipit-source-id: 3ec4240b215b0d5baea5154f64266a9ba7ead3a5
2021-06-29 17:40:38 -07:00
Anton Nikolaev
e4fb2907fd Auto-generate plugin docs
Summary:
This diff changes the way on how plugin documentation is produced. Instead of keeping plugin documentation together with other docs, we will now keep it together with plugin code. There are multiple advantages of such solution:
1. We are generating docs for every plugin in a standartised way so all of them looks similar. We can also use plugin metadata for generation as well (e.g. take title, icon, oncall name etc from package.json).
2. Standartised plugin docs make it possible to build docs both for websites (public and internal) and for embedding into Flipper.
3. It will hopefully incentivise authors to write docs as they will be a part of plugin "package".
4. We can scaffold documentation template using scarf to further incentivise filling it.

Reviewed By: jknoxville

Differential Revision: D29378053

fbshipit-source-id: 66ea48dc9ba225fabfb256ae6a10f8c81eef6f5f
2021-06-29 13:02:05 -07:00
Michel Weststrate
8cbdd3d148 Dark mode tweaks
Summary: Went over all plugins and did superficial fixes to make most plugins look decent or at least usable in dark mode, which before they weren't :)

Reviewed By: priteshrnandgaonkar

Differential Revision: D29456680

fbshipit-source-id: 3952e5da512c68b89434eea081faf121d1049908
2021-06-29 08:39:34 -07:00
Michel Weststrate
5c8dde0925 Theming colors
Summary:
This diff adds Sandy colors and dark mode support to the `DataInspector` and `LayoutInspector` components, and coverts hardcoded colors to semantic colors. Currently only one set of colors is used since they contrast fine with both dark and light mode, but this could be deviated from now onwards.

Also styled the legacy ManagedTable and Panel, since they are so commonly used (will convert more legacy components in next diffs).

Reviewed By: passy

Differential Revision: D28056698

fbshipit-source-id: 5a85103983f89e82b7f000d309bb9e1e1f07491d
2021-06-29 08:39:34 -07:00
Michel Weststrate
aff02b2ca1 Change internal storage to number instead of Date
Summary: per title, for reasons see next diff :)

Reviewed By: passy

Differential Revision: D29327501

fbshipit-source-id: 548d943e90769af478232d3031d916fb399a067a
2021-06-29 08:04:22 -07:00
Michel Weststrate
9f27b374f4 Guess content type if no header present
Summary:
Changelog: [Network] The network plugin will now detect utf-8 strings if no content header is present

Fixes https://github.com/facebook/flipper/issues/2406

Reviewed By: nikoant

Differential Revision: D29388968

fbshipit-source-id: 7017828a5f3f28dcf220eeda1d30888f1fc5f07a
2021-06-25 07:23:07 -07:00
Michel Weststrate
16e668df9c Fix selection not updating
Summary: Fix accidental cleanup last week where selection wasn't updated anymore in crash reporter

Reviewed By: cekkaewnumchai

Differential Revision: D29328297

fbshipit-source-id: 4a5eb391d1a173e5e7ff189637c3731a483916fc
2021-06-23 04:04:39 -07:00
Michel Weststrate
b9250e7795 Make screen dimension reflection fast
Summary:
After loading a layout plugin snapshot, I noticed the plugin feels really sluggish. I noticed that getDimensions, which recursively walks the full tree, is triggered on every rendering, although the state it introduces is only required when opening a screenshot visualizer. So Moved the function invocation to there.

Also did some first steps on supporting iOS; the visualizer will no show a preview of iOS as well. I'll leave implementing the highlights to a volunteer :)

Reviewed By: passy

Differential Revision: D29262697

fbshipit-source-id: b13b19b013eeeb98abb66fb648a193c69688a7e3
2021-06-22 04:10:53 -07:00