Commit Graph

7279 Commits

Author SHA1 Message Date
Feiyu Wong
3ffb25e672 Update UI for enabling persisted logs feature
Summary:
This is the first diff to implement the feature for the Flipper logs plugin to have an option to persist logs in the table between crashes, disconnections, etc.

Since this is not a local change, the UI option for persistence will be located in the settings for the Flipper UI(as seen in the test plan). The setting is associated with the Redux Store `Settings` and is stored globally to be used across all plugins. So the plan is making the persistence pertain to all plugins.

Reviewed By: mweststrate

Differential Revision: D37786988

fbshipit-source-id: 7ffc6077cbca559b3401b16770eda657a6c45620
2022-07-28 13:56:34 -07:00
Aaron Coplan
45f3222b87 Upsell for arc uiqr in Flipper plugin UI
Summary:
This diff updates the Flipper plugin for UIQR+DDR to upsell people to use `arc uiqr` on the "Upload and Get Link" tab. At the moment I'm not showing the upsell on the "Upload Screens to Diff" tab since this functionality isn't really supported through `arc uiqr` yet.

The upsell uses localstorage to maintain its open/close state so it will show up by default but will be permanently dismissed (unless localstorage is cleared somehow :) ).

NOTE: I hacked out this UI using some existing reusable UIQR Flipper components and some extra styling for the background, but definitely open to feedback on the UI!

Differential Revision: D38232117

fbshipit-source-id: e1745e32974bd9e750bbbaaa2f47bafdd0ac87eb
2022-07-28 10:56:39 -07:00
Lorenzo Blasa
4da7419b19 Dismiss set highlight calls for null elements
Summary: ^

Reviewed By: mweststrate

Differential Revision: D38238280

fbshipit-source-id: c48d8ff1c69b5c3d535ce050381ba91f1f405937
2022-07-28 08:00:10 -07:00
Lorenzo Blasa
2916a5fa52 Remove unused code
Summary:
A codemod removed a GK which resulted in this...

This change removes the unused code.

Reviewed By: mweststrate

Differential Revision: D38239893

fbshipit-source-id: 01163e9f5adcc77fff572b47ce1d902dbdadff4d
2022-07-28 06:59:11 -07:00
Feiyu Wong
a47528a726 Icon in search bar to show/hide search results
Summary:
1. Added icon to search bar to manually trigger the hide/show search context/results functionality, which was only triggerable by ctrl(now migrated to ctrl+t) before.
2. Added tool tips to increase visibility of keyboard shortcuts

Changelog: Added icon for showing search result context(only triggered by keyboard shortcut before). Added tool tips to search bar icons.

Reviewed By: mweststrate

Differential Revision: D38207087

fbshipit-source-id: a34c1322294ed8091ea3f90d2f1f206af981c9ca
2022-07-27 12:19:51 -07:00
Feiyu Wong
499275af8a Add keyboard shortcut to support quick selecting recent searches
Summary:
Currently there's no way of quickly selecting recent searches other than manually opening the recent search history and then clicking one of the search terms. This diff seeks to add a new feature that would allow not only a keyboard short cut to open the recent search history drop down but also number the most recent 5 search terms so that the user could quickly select them with a number on their keyboard

Additionally, fixed bug found in terms of the search bar not showing the current search value correctly

`Changelog`: Introduced keyboard shortcut(ctrl + f) option to toggle the search history dropdown along with numbers attached to the options in order to quickly navigate to recent search terms. Have to first enable the option(search shortcut) in menu in order to use the feature. Also added a new button in the options menu that would trigger the search result toggle as triggered by the keyboard shortcut `ctrl` before(`ctrl` + `t` now)

WARNING: The current behavior of "ctrl" toggling back and forth to focus the selected item has been migrated to "ctrl + t" key combo

Reviewed By: mweststrate

Differential Revision: D37685738

fbshipit-source-id: a7ac4dd3dceb846a98258de2d884ebc279ee5995
2022-07-27 11:37:59 -07:00
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