Commit Graph

7273 Commits

Author SHA1 Message Date
Pascal Hartig
07e1a856bb v0.5.0
Summary: New version

Reviewed By: lblasa

Differential Revision: D38199257

fbshipit-source-id: 9be9f52d21a50eeceefa16088b73d4c05847b19c
2022-07-27 07:43:12 -07:00
Pascal Hartig
e83f3e4dc7 Remove unnecessary clones
Summary: Follow-up to D38155922. This was done almost entirely by just following suggestions from the compiler. No behaviour changes, just fewer bit-copies in memory.

Reviewed By: lblasa

Differential Revision: D38199244

fbshipit-source-id: 777e9d833d25cb660307380ab88b12a1d4eedf09
2022-07-27 07:43:12 -07:00
Pascal Hartig
6913d6f653 Allow arbitrary packs
Summary:
The limitation to two types is arbitrary and limiting. Instead, we want to be able to create as many cache artifacts as is sensible to improve the caching behaviour.

A lot of unnecessary cloning in here. I might optimise this a bit in the future but it's not really perf critical as this is highly I/O bound.

Reviewed By: lblasa

Differential Revision: D38155922

fbshipit-source-id: 78b86ebff54269c5049e59197f1c25fedfad0111
2022-07-27 07:43:12 -07:00
Pascal Hartig
d73387d80b Add pack target for server linux
Summary: This is needed so we can roll out releases of Flipper Server for Linux.

Reviewed By: lawrencelomax

Differential Revision: D38155968

fbshipit-source-id: 2be032466cb8da867fa555fa545d1f236724461f
2022-07-27 07:43:12 -07:00
Pascal Hartig
3a52589c83 Update readme
Summary: A few small adjustments and updates.

Reviewed By: lawrencelomax

Differential Revision: D38155923

fbshipit-source-id: 1aea5f9b64a6b5e4783fe7bad214df6a74be7d45
2022-07-27 07:43:12 -07:00
Flipper Bot
7bfa24ae7b Flipper Snapshot Bump: v0.156.1-SNAPSHOT
Summary: Releasing snapshot version 0.156.1-SNAPSHOT

Reviewed By: LukeDefeo

Differential Revision: D38198428

fbshipit-source-id: 0fd2bebcc266351e6c47518f865a7eb550f032ab
2022-07-27 04:31:07 -07:00
Flipper Bot
5607276fee Flipper Release: v0.156.0
Summary: Releasing version 0.156.0

Reviewed By: LukeDefeo

Differential Revision: D38198427

fbshipit-source-id: b348e3bc2c4ee18d897841a1ad359db950b15100
2022-07-27 04:31:07 -07:00
Stiopa Koltsov
c915b03159 Remove ::{self}
Summary: Cleanup after reformat one import per line.

Reviewed By: zertosh

Differential Revision: D38169581

fbshipit-source-id: 1e82053b25e4426a983fe7416481611d91e4b484
2022-07-26 14:35:15 -07:00
Luke De Feo
f72406b06c Ensure that highlight always responds to prevent timeouts
Summary: In a previous diff D32278523 (8764da7c0b) The desktop request was changed from send to call. Call expects a response and not all code paths return a response. Most calls to set highlight are timing out.

Reviewed By: mweststrate

Differential Revision: D38074704

fbshipit-source-id: 6e85416d6b6470efaa177ad1b74420c8237366d5
2022-07-25 14:51:41 -07:00
Feiyu Wong
3fbf1215ec Refactored DataView to be the primary data driver for DataTable instead
Summary:
In order to accomplish multi-panel mode, we need to use multiple data views on the same data source so that the filters can be applied differently, etc.

This diff serves to refactor DataTable and some of its associated classes to use DataView as the primary driver for data management. Additionally, the diff refactored the state to allow multi-paneling to be on the DataPanel layer instead of the DataTable layer for ease of usage

This is the last diff of the larger stack which introduces the multi-panel mode feature. A possible next step could be allowing infinite(up to a certain limit) panels to be populated.

Changelog: Introduced side by side view feature for `DataTable`. There is now a new boolean for `DataTable` props called `enableMultiPanels`. If this is passed in, then the table will have an option to open a different "side panel" using a completely different dataview which allows different filters, searches, etc.

Reviewed By: mweststrate

Differential Revision: D37685390

fbshipit-source-id: 51e35f59da1ceba07ba8d379066970b57ab1734e
2022-07-22 09:16:37 -07:00
Anton Kastritskiy
96a23495c9 automatic update for docusaurus-plugin-internaldocs-fb@0.12.2
Reviewed By: jknoxville

Differential Revision: D38074467

fbshipit-source-id: b929f50402ca438c0359bb44ae7de335018a88f9
2022-07-22 09:07:10 -07:00
John Knox
485083750e Fix NPE in ios sdk
Summary: Haven't been able to repro this, but from the stack trace it seems like this NSData object is null in some cases: https://www.internalfb.com/logview/details/instagram_ios_crashes/d0e929eae516ec48380518380cfca9f5/?selected-logview-tab=Employee+Traces

Reviewed By: lblasa

Differential Revision: D37995141

fbshipit-source-id: 937217a7a5b1c7cc992f3f9ca5dc3a7e31165d1c
2022-07-21 05:34:07 -07:00
Sim Sun
a9aabba042 Bump SoLoader version to 0.10.4 in readme
Reviewed By: passy

Differential Revision: D37988370

fbshipit-source-id: 9aac3f0082bf28cebed0ea39eaeae56548998662
2022-07-20 09:42:51 -07:00
Luke De Feo
fd166473e5 update git ignore for android
Reviewed By: passy

Differential Revision: D37992545

fbshipit-source-id: 8dd4586499a74b825221d02a02956dfa18769742
2022-07-20 06:51:09 -07:00
Andrey Goncharov
342bb2bd55 Remove legacy notice for FireAndForgetResponder
Summary:
Quoting lblasa:
History trip:
- It was used at the beginning of times with RSocket.
- RSocket introduced an RPC mechanism so a new responder was introduced which used it, thus making this responder legacy.
- WebSockets is introduced which doesn't have an RPC mechanism by default so this responder became the new non-legacy responder

Reviewed By: lblasa

Differential Revision: D37994288

fbshipit-source-id: 2458aed129058a5bfaafd607e73c52867d9713cf
2022-07-20 06:47:02 -07:00
Andrey Goncharov
55b7ef934c Augument IDB installation instructions for intern users
Reviewed By: passy

Differential Revision: D37994214

fbshipit-source-id: bd36abf1ed024ca1f18fcc5297108e4ca333c578
2022-07-20 06:03:38 -07:00
Andrey Goncharov
f3cb9de5c9 Fix Sidebar resizing handler propagation
Summary: SidebarInteractiveContainer sets mousedown/mouseup handlers. Whenever user tries to select text in child element those are triggered.

Reviewed By: passy

Differential Revision: D37994014

fbshipit-source-id: 5dcf5642b3a92ec50008aa4aad6b9522a09c1527
2022-07-20 06:01:10 -07:00
Ruslan Latypov
88bf980b8e fix more imports
Summary:
There are many files across fbobjc relying on -include_pch and therefore they miss Foundation.h and UIKit.h includes. This diff was generated by a codemod and fixes these missing includes.
More details on the missing imports https://fb.workplace.com/groups/929548250966094/permalink/981237982463787/

Changelog: [Internal]

Reviewed By: yannickl

Differential Revision: D37282740

fbshipit-source-id: 0f419025b3cf2f811e96ff464cb19e8e5a25aa09
2022-07-19 12:53:11 -07:00
Jacy
bd5ac524f5 Update some welcome links (#3902)
Summary:
Some old welcome links are 'Page Not Found'.

## Changelog

Some old links are 'Page Not Found', so update them as follows:
1. Update "Using Flipper" link to 'https://fbflipper.com/docs/features'
2. Update "Add Flipper Support to Your App" link to 'https://fbflipper.com/docs/getting-started'

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

Test Plan: Pass the test on a Mac.

Reviewed By: lblasa

Differential Revision: D37927376

Pulled By: passy

fbshipit-source-id: 0aac129932395e3f2ce3afa8c47cc637f3e814a8
2022-07-19 10:46:28 -07:00
Flipper Bot
53e9cc9b1a Flipper Snapshot Bump: v0.155.1-SNAPSHOT
Summary: Releasing snapshot version 0.155.1-SNAPSHOT

Reviewed By: lblasa

Differential Revision: D37957715

fbshipit-source-id: fd77f2655519e3243830332499c6e76295020fa7
2022-07-19 09:01:42 -07:00
Flipper Bot
e3110be5a6 Flipper Release: v0.155.0
Summary: Releasing version 0.155.0

Reviewed By: lblasa

Differential Revision: D37957716

fbshipit-source-id: f682464ec8737acc3e28197fa3724a6ae150e8cd
2022-07-19 09:01:42 -07:00
Lorenzo Blasa
d4597f455e Add a handler for any errors during highlight
Summary:
^

Ignore the errors as otherwise it may cause unhandled rejection errors.

Reviewed By: aigoncharov

Differential Revision: D37926740

fbshipit-source-id: 50476378b4d254e28af953979fbedad1113e43aa
2022-07-19 06:09:55 -07:00
Alfonso Curbelo
bc74a58aab Update RN iOS setup to include RN 0.68 new Flipper initialization (#3905)
Summary:
When upgrading to RN 0.68, the upgrade helper removes the old Flipper initialization in favor of importing `RCTAppSetupUtils` which abstracts the Flipper initialization.
To be consistent, we should show in the docs that for 0.68 the preferred way is to import `RCTAppSetupUtils` in the AppDelegate.

## Changelog
- RN iOS setup docs has been updated to include the new way to initialize Flipper on React Native 0.68.

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

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

**Static Docs Preview: flipper**
|[Full Site](https://our.intern.facebook.com/intern/staticdocs/eph/D37927365/V2/flipper/)|

|**Modified Pages**|
|[docs/getting-started/react-native-ios](https://our.intern.facebook.com/intern/staticdocs/eph/D37927365/V2/flipper/docs/getting-started/react-native-ios/)|

Reviewed By: lblasa, cortinico

Differential Revision: D37927365

Pulled By: passy

fbshipit-source-id: c6799e91a217d341eb817abb175ce63ea70c9597
2022-07-19 04:43:54 -07:00
Lorenzo Blasa
04220b6c7e Typo and increase timeout to 45s
Summary:
Observed that a few requests tend to timeout when using Flipper with flipper-server.

Increasing timeout to 45s as to be a bit more flexible.

'exec' operations don't have a timeout when not using flipper-server.

Reviewed By: antonk52

Differential Revision: D37955108

fbshipit-source-id: 5d8ef7f066d6b316e4b485b281a015794b5bd2de
2022-07-19 04:06:03 -07:00
Lorenzo Blasa
c871b221fd Add catch handlers to client calls
Summary:
Client calls return a promise. Not dealing with the error causes promise unhandled rejection errors.

This change adds a catch block and logs the error instead.

Reviewed By: antonk52

Differential Revision: D37955029

fbshipit-source-id: 50cac5a5339961d16868ab2102d3c77790e6943c
2022-07-19 04:05:12 -07:00
Kim JeongHyeok
2bb3f407b5 docs: remove duplicate guide info (#3906)
Summary:
Duplicate info seem to exist in the getting started guide

## Changelog

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

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

**Static Docs Preview: flipper**
|[Full Site](https://our.intern.facebook.com/intern/staticdocs/eph/D37927352/V2/flipper/)|

|**Modified Pages**|
|[docs/getting-started/react-native](https://our.intern.facebook.com/intern/staticdocs/eph/D37927352/V2/flipper/docs/getting-started/react-native/)|

Reviewed By: lblasa

Differential Revision: D37927352

Pulled By: passy

fbshipit-source-id: 8dae61b1d13bf4d3ab7eb83c140847fc9856daf9
2022-07-19 02:20:10 -07:00
Lorenzo Blasa
860cf332e1 Do not disconnect when there's a 'send' error
Summary:
Historically, RSocket used to raise an error when there was an error during send, most likely because the connection was dead.

With WS, this is no longer the case.

WS connection issues are raised through the according handlers.

Reviewed By: passy

Differential Revision: D37825821

fbshipit-source-id: 7fcda8cf26fb42eb0d8ca03b62482f11c931777f
2022-07-14 10:40:43 -07:00
Lorenzo Blasa
706ad760dc Edit desktop-plugin-structure.mdx using inpage editor
Summary:
This diff has been automatically generated by the inpage editor.
                        If you want to update this diff, go through the preview link that would be attached to the test plan.
                        Please ensure you are editing the same page that was used to create this diff.

Reviewed By: passy

Differential Revision: D37853011

fbshipit-source-id: 1d68d5a80b30bb1b1cdf5703272717dadbe3a977
2022-07-14 10:07:35 -07:00
Lorenzo Blasa
7d936c1ff8 Flipper module skeleton
Summary: Refactor and introduce the Flipper module skeleton. No implementations yet.

Reviewed By: passy

Differential Revision: D36760620

fbshipit-source-id: 5e3f1b5abef6177f27d2c4c8e0fa8ec370364900
2022-07-14 09:57:25 -07:00
Lorenzo Blasa
7977a41fba Add flipper sources to VS Studio solution
Summary:
Nothing interesting here, just adding necessary sources from Flipper into the VS Studio solution.

As a consequence, some warnings had to be turned off as otherwise they're treated as errors and the solution doesn't build.

Reviewed By: passy

Differential Revision: D36760242

fbshipit-source-id: 2f5e615f8a465554dd35c245756f94bcace6e34a
2022-07-14 07:45:09 -07:00
Lorenzo Blasa
57e6662a46 Folly/Boost integration
Summary:
This change brings in Folly and Boost into our solution.

Boost is resolved with NuGet. Folly is resolved by re-using the RNW integration.

For reference:

Flipper depends on Folly. Folly depends on a few things:
- Boost
- FMT
- Glog
- Double-Conversion

Folly from RNW uses some stubs to resolve fmt, glog, and double-conversion. That's OK.

Only Boost needs resolving.

On Visual Studio, we can use the following package managers: NuGet and vcpkg.

Boost can be resolved using either.

Using NuGet as otherwise vcpkg needs to be run locally by anybody wanting to build the solution. NuGet makes things easier.

Reviewed By: aigoncharov

Differential Revision: D36759384

fbshipit-source-id: 31a9a398ce5c5dc2f3def02689ae4bb8c42fbb99
2022-07-14 06:59:11 -07:00
Feiyu Wong
53b89f485a Add Toggle to control showing full search history instead of filtered list
Summary:
This diff adds a new menu option to the Logs plugin which allows for enabling/disabling the automatic filtering of search terms in the search history as user types.

Additionally, fixed bug regarding the search term that's used is not actually showing correctly. This is caused by the search value being set in the input search bar instead of the autoComplete component level

Differential Revision: D37555209

fbshipit-source-id: 8a76299f7e1a4b0a3adfa6a4dd883d17f1e7a442
2022-07-14 06:21:45 -07:00
Lorenzo Blasa
551d0389ae react-native-windows library
Summary:
This change adds the template for a RNW module to the existing react-native flipper project.

Basically, the changes in this diff are the product of executing the react-native-windows init for the existing library.

See:
https://microsoft.github.io/react-native-windows/docs/getting-started

https://microsoft.github.io/react-native-windows/docs/native-modules-setup

Notes:
There's some auto-generated module code contained in this change: ReactNativeModule (.h/.cpp)

allow-large-files

Reviewed By: passy

Differential Revision: D36751772

fbshipit-source-id: 41207bedb00ea147883f6d13336ed6c1da4454d7
2022-07-14 04:19:22 -07:00
Flipper Bot
23f769c8c4 Flipper Snapshot Bump: v0.154.1-SNAPSHOT
Summary: Releasing snapshot version 0.154.1-SNAPSHOT

Reviewed By: jknoxville

Differential Revision: D37813762

fbshipit-source-id: c6364074f1197db78fe085762931762b606c6383
2022-07-13 09:21:01 -07:00
Flipper Bot
14d385827d Flipper Release: v0.154.0
Summary: Releasing version 0.154.0

Reviewed By: jknoxville

Differential Revision: D37813763

fbshipit-source-id: f16392937146a50c7018c2ae5abd18e433059622
2022-07-13 09:21:01 -07:00
Lorenzo Blasa
039b647666 Schedule close on the scheduler
Summary:
^

If Flipper stops, we cannot freely access the client outside of the scheduler.

There may be an scheduled operation that depends on it.

Instead, schedule the stop and wait until it finishes.

Reviewed By: cekkaewnumchai

Differential Revision: D37814820

fbshipit-source-id: 44217b5f623a8d92211a3d72a4a204d674b4bb76
2022-07-13 05:09:34 -07:00
Alex Hunt
e7591b2a81 Set clearLogs accelerator for log-rendering plugins
Summary:
Sets a default key binding of `ctrl+l` to clear the screen within built-in Flipper plugins which display a log view.

Motivation: A small quality of life improvement for developers used to the default "clear screen" binding. This makes our log-rendering plugins consistent with other native apps such as terminals, Chrome DevTools, and many others.

Reviewed By: mweststrate

Differential Revision: D37782638

fbshipit-source-id: 0a85b930faaa0e9468d5391f15092aad7b6057ee
2022-07-13 01:38:55 -07:00
Lorenzo Blasa
c01df31459 Handle disconnection events whilst executing requests
Summary:
If there's a device client disconnect during request execution, no response is ever given back to the client (flipperd).

This change effectively subscribes to client disconnect events and notifies flipperd of any disconnection during request processing.

Reviewed By: passy

Differential Revision: D37787986

fbshipit-source-id: 31737a50b83b0cbe4141ce814064aebef7e09bfc
2022-07-12 12:55:19 -07:00
Gabriele Palma
01fc74d4f1 Added NetworkSourceContainers Flipper Plugin (Desktop) 1/3
Summary:
Added Flipper plugin.

Initial scaffolding for both iOS and JS
javascript code

Reviewed By: apadalko

Differential Revision: D37612499

fbshipit-source-id: a0a0ef596ef39f1d0bfe978767748c8fc3840d7a
2022-07-12 08:38:24 -07:00
Shipeng Xu
4daa1d41db enable XMLTextFormatter for application/xml and text/xml
Summary:
Currently in the Flipper network plugin implementation, XMLTextFormatter is only enabled if `content-type` is `text/html`.

We should enable it for `application/xml` and `text/xml` as well.

Reviewed By: mweststrate

Differential Revision: D37733487

fbshipit-source-id: f272c5d0a305cf4afd32701d40459c3e11049886
2022-07-11 10:29:42 -07:00
Lorenzo Blasa
18854ce5fc Install plugin from marketplace if not available
Summary: For the Flipper Server Companion, if a plugin is being requested which is not yet installed, try to install it first from the marketplace.

Reviewed By: passy

Differential Revision: D37716962

fbshipit-source-id: d618fbc597f82b540dbb02e8ffc296dcee9e1eb9
2022-07-11 07:04:55 -07:00
Lorenzo Blasa
c91c766b12 FlipperServer new plugin marketplace methods
Summary:
Expose two new methods as to be able to:
- List plugins from marketplace
- Install a plugin from marketplace

Reviewed By: passy

Differential Revision: D37749817

fbshipit-source-id: 82b78f7906c5664d5747289fa4f8eadebcde1d73
2022-07-11 07:04:55 -07:00
Lorenzo Blasa
1778ce4f46 HeadlessPluginInitialiser install plugin
Summary:
Allow adding plugins after initialisation. Effectively:
- Load the plugin creates the SandyPluginDefinition
- Add the definition to the existing loaded plugins

Reviewed By: passy

Differential Revision: D37749811

fbshipit-source-id: ea834b9e6105cf605fc906a794022f61807ce1d8
2022-07-11 07:04:55 -07:00
Lorenzo Blasa
b9e1039b7a Load marketplace plugins from PluginManager
Summary: Expand PluginManager as to be able to load and install plugins from Marketplace.

Reviewed By: passy

Differential Revision: D37749802

fbshipit-source-id: 7d7e23427cc9d01f5c953b90e5b346a9d6bab19f
2022-07-11 07:04:55 -07:00
Lorenzo Blasa
04b433fe1d Load marketplace plugins
Summary:
Load marketplace plugins using FlipperServer.

Extracted from:
https://www.internalfb.com/code/fbsource/[c3fdda2336d6]/xplat/sonar/desktop/flipper-ui-core/src/dispatcher/plugins.tsx?lines=89

Reviewed By: passy

Differential Revision: D37749793

fbshipit-source-id: 687d6f7c076c9314c6e96dc1cf6fba8c96c71841
2022-07-11 07:04:55 -07:00
Lorenzo Blasa
77276f5ac0 isPluginVersionMoreRecent for flipper-server-core
Summary:
Another implementation for isPluginVersionMoreRecent.

References:
https://www.internalfb.com/code/fbsource/[2d3c2d3ce5fb]/xplat/sonar/desktop/flipper-frontend-core/src/utils/isPluginVersionMoreRecent.tsx?lines=14

https://www.internalfb.com/code/fbsource/[2d3c2d3ce5fb]/xplat/sonar/desktop/flipper-ui-core/src/utils/isPluginVersionMoreRecent.tsx?lines=14

Is not immediately obvious what is different, but it boils down to the implementation of:
```
isPluginCompatible
```
and passing the flipper version.

That one depends on the package. As with other changes, this can probably be refactored out, for left as is unless strongly advised otherwise (it seems OK as we already have 2 implementations).

Reviewed By: passy

Differential Revision: D37749785

fbshipit-source-id: 5a22d90f094b53223d2469c572646d5bfd3d1d33
2022-07-11 07:04:55 -07:00
Lorenzo Blasa
beb0ed1991 Plugin marketplace for flipper-server-core
Summary:
Implementation taken from:

https://www.internalfb.com/code/fbsource/[85c1fe5afee7]/xplat/sonar/desktop/flipper-ui-core/src/fb/pluginMarketplaceAPI.tsx

As with the previous diff, the marketplace API for flipper-server-core accesses the existing config in a different way and depends on FlipperServer, instead of User, to execute intern request as to obtain marketplace plugins.

Reviewed By: passy

Differential Revision: D37749775

fbshipit-source-id: 968ea3f7a412893f032e5a7a50ecf17c298e18ff
2022-07-11 07:04:55 -07:00
Lorenzo Blasa
ff66cd18ec isPluginCompatible for flipper-server-core
Summary:
Yet another implementation of this function.

References:
https://www.internalfb.com/code/fbsource/[85c1fe5afee7]/xplat/sonar/desktop/flipper-frontend-core/src/utils/isPluginCompatible.tsx?lines=14
https://www.internalfb.com/code/fbsource/[85c1fe5afee7]/xplat/sonar/desktop/flipper-ui-core/src/utils/isPluginCompatible.tsx?lines=15

This one:
- Uses GK from the existing server config
- Gets version from the existing server config

It differs in:
- appVersion not passed in as argument
- Doesn't use RenderHost to obtain the server config

I think, this is acceptable as the function body is effectively the conditional, that depends on the caller available dependencies.

Reviewed By: passy

Differential Revision: D37749761

fbshipit-source-id: 3094e87c7770ac66e5764c932a0a0d4e7f5b63f5
2022-07-11 07:04:55 -07:00
James Wysynski
5551cf3bb2 Fix tab names [again]
Summary: child.hasOwnProperty -> child.props.hasOwnProperty for tabs

Reviewed By: udat

Differential Revision: D37751552

fbshipit-source-id: 78015bbc185387587ce3644c959596cf0a661ddf
2022-07-11 06:40:31 -07:00
Luke De Feo
0e11eaabb3 Finishing touches
Summary:
A few comments in my rewrite stack got missed, I am addressing them here.
In addition react testing library has been hoisted to the root module in the project and been made available to all sub modules

Reviewed By: mweststrate

Differential Revision: D37712339

fbshipit-source-id: 60984c3d16bd535b0c489570907f097c7d80f634
2022-07-11 05:15:25 -07:00