Commit Graph

97 Commits

Author SHA1 Message Date
Anton Nikolaev
4219df6a93 Remove prepack script from each plugin
Summary: Removed back "prepack" script from every plugin package to keep it simple. Instead we will use `build-plugin` command defined in the root package.json (see next diff in the stack).

Reviewed By: mweststrate

Differential Revision: D22160252

fbshipit-source-id: cffb5df65b89df3fe390c051da0df797b3d16d2d
2020-06-22 08:15:56 -07:00
ZHANG Qichuan
c068deac2d Fix the network plugin crashes when Add Route button is pressed (#1281)
Summary:
Changelog:
Fix Network Mock Dialog crashes when 'Add Route' button is pressed  https://github.com/facebook/flipper/issues/1280

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

Reviewed By: cekkaewnumchai

Differential Revision: D22151908

Pulled By: passy

fbshipit-source-id: cafd2b53d76cd9ea213f8be09866222a6330d043
2020-06-22 02:14:26 -07:00
Anton Nikolaev
2085d4e362 Fix layout plugin source import violation
Summary: Fixed direct source import of Flipper code from layout plugin which broke its packaging

Reviewed By: cekkaewnumchai

Differential Revision: D22135716

fbshipit-source-id: 8f67a21ed94c13dd73d24ef8692d37ae51963319
2020-06-19 08:44:51 -07:00
ZHANG Qichuan
ae9c07c8f3 Persist the Network mock data (#1218)
Summary:
Persist the Network mock data, so it can survive after switching the plugins

Closes https://github.com/facebook/flipper/issues/1206
## Changelog

- Persist the Network mock data
- Remove the pref-filled '/' when creating a mock route
Pull Request resolved: https://github.com/facebook/flipper/pull/1218

Test Plan: <img width="807" alt="Screenshot 2020-06-02 at 11 45 15 PM" src="https://user-images.githubusercontent.com/410850/83540614-27e95000-a52b-11ea-8fc8-d7ad1373e904.png">

Reviewed By: mweststrate

Differential Revision: D21863561

Pulled By: passy

fbshipit-source-id: 4706ede721c7990a6bcc0bfe51f41e80306ffac7
2020-06-19 05:27:48 -07:00
generatedunixname89002005306973
43b9426ff4 Flipper Release: v0.47.0
Summary: Releasing version 0.47.0

Reviewed By: jknoxville

Differential Revision: D22089288

fbshipit-source-id: 0107d1f17cce8c9adc2b9c26d48a6d80797749be
2020-06-17 09:00:07 -07:00
Chaiwat Ekkaewnumchai
2785ec2d32 Add Unit Test for Log Adding Logic
Summary: D22047276 introduced a new way to adding log data column depending on how one sorts by time. This diff adds unit test to test the logic

Reviewed By: passy

Differential Revision: D22068114

fbshipit-source-id: 3fe01beec69d45d96f2fc2a437c3f408686565a3
2020-06-17 03:10:45 -07:00
Chaiwat Ekkaewnumchai
993249ed86 Add Sorting Log by Time
Summary:
This is a discussion on Github about reversing log. This diff tries to do that.

Changelog: Add ability to reverse log by time

Reviewed By: mweststrate

Differential Revision: D22047276

fbshipit-source-id: 6100a5ca40db223d1989be2746c7190cce7ffc53
2020-06-16 03:55:56 -07:00
Anton Nikolaev
f5a8e929c0 Bump plugin versions to match Flipper version (#1267)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/1267

Bumped versions of all plugins to match current Flipper version 0.46.0.

Reviewed By: mweststrate

Differential Revision: D22042959

fbshipit-source-id: 37c169bfd1b90debb8f94c9465a345a015524158
2020-06-15 09:28:23 -07:00
Anton Nikolaev
8003e7eb34 Migrate all plugins to spec v2
Summary: All the plugins migrated to spec v2 to allow packaging/publishing them independently from Flipper releases.

Reviewed By: passy

Differential Revision: D22041384

fbshipit-source-id: 23bfaf724f771a57bd628b9ea1c4d37846534a93
2020-06-15 07:29:34 -07:00
generatedunixname89002005306973
c0eb2648b7 Flipper Release: v0.46.0
Summary: Releasing version 0.46.0

Reviewed By: nikoant

Differential Revision: D21952711

fbshipit-source-id: 8681a244d64c50f2ad50f6c9c5e0ea766fd9ff20
2020-06-09 10:14:19 -07:00
Michel Weststrate
eff378defa Avoid JSON.stingify during render
Summary:
See previous diffs, same change as with analytics, don't stringify when creating the rows, but rather provide a closure to do that lazily, which reduces CPU (and mem) usage.

Note that this implicitly assumes the captures variables are immutable, as otherwise the semantics would change. But than again, if those variables are changed in the future, copyText will reflect their latest rather than initial state, which is better anyway.

Reviewed By: nikoant

Differential Revision: D21931748

fbshipit-source-id: 62325dd25953bab3a4e2e9a0d5dea3b3a7787bae
2020-06-09 03:00:23 -07:00
Chaiwat Ekkaewnumchai
525d0e9925 Add Test Case for Single Quote and Fix Logic
Summary: Single quotes need to be double to be correctly recognized in queries. #thanks mweststrate for reminding me

Reviewed By: mweststrate

Differential Revision: D21908315

fbshipit-source-id: 6c13f9ddb527d1144cc3df90ba48bdb5f2ed4952
2020-06-08 09:00:04 -07:00
Chaiwat Ekkaewnumchai
a50c373631 Calculate Editable when Used
Summary:
In D21788243, John suggested the field should be calculated when needed not precomputed. This diff does so by moving calculation logic to the component and removing the field

This also fixes the crashing bug when switching to Structure tab, changing table, and switching back to Data tab.

Reviewed By: mweststrate

Differential Revision: D21906983

fbshipit-source-id: 5a9522a5ba3f504108282fb27deae25b5eadc693
2020-06-08 09:00:03 -07:00
Michel Weststrate
db4c341eb3 Fix regression in accessibility layout
Summary:
Fixes a regression (D21716761) in the layout of the accessibility inspector where the layout was accidentally switched from right to bottom.

Also made the region resizable while at it.

Changelog: Fix regression in the layout plugin where accessibility info was rendered in the wrong place

Reviewed By: cekkaewnumchai

Differential Revision: D21903760

fbshipit-source-id: 08623c17428e86ea77d8438e78766a308dbac1e6
2020-06-05 08:34:26 -07:00
Michel Weststrate
579172fa39 Add context menu item to remove watch expression
Summary: See https://github.com/facebook/flipper/issues/1185

Reviewed By: jknoxville

Differential Revision: D21882508

fbshipit-source-id: 584c8b6eb01c821afe421d1b816fa77842c502fd
2020-06-04 09:56:47 -07:00
generatedunixname89002005306973
23d80bf3d5 Flipper Release: v0.45.0
Summary: Releasing version 0.45.0

Reviewed By: mweststrate

Differential Revision: D21860035

fbshipit-source-id: 58af5bbc4e743024beac925eac8012e64bd76aa9
2020-06-03 08:28:54 -07:00
Chaiwat Ekkaewnumchai
53cccdc199 Unit Test of DatabaseDetailSidebar
Summary:
per title.

Also, remove `console.log`

Reviewed By: mweststrate

Differential Revision: D21829809

fbshipit-source-id: cfad4ff50e816153d7370f63052d4dc450464fd5
2020-06-02 08:19:43 -07:00
Chaiwat Ekkaewnumchai
230b9528cf Unit Test for UpdateQueryUtil
Summary:
per title

Also, edit file to match tests

Reviewed By: mweststrate

Differential Revision: D21819748

fbshipit-source-id: b697ae9915c53162624ba90fc867676c9ca8733b
2020-06-02 08:19:42 -07:00
Chaiwat Ekkaewnumchai
54bf6440de Allow to Edit only When There Is Primary Key in Table
Summary: To be able to edit correct cell, identifiers are needed. Assume that the primary key is unique, this should be safe to allow the query to find exactly one row to edit

Reviewed By: jknoxville

Differential Revision: D21788239

fbshipit-source-id: b09d1b6da1b46cbc961f08010467e973546acbef
2020-06-02 01:47:06 -07:00
Chaiwat Ekkaewnumchai
b57612a116 Allow to Edit Cell in Detail Sidebar
Summary: This diff adds edit button to detail sidebar to allow user to edit column he/she wants to

Reviewed By: jknoxville

Differential Revision: D21788243

fbshipit-source-id: 4bdcef62114d5a6282ba85bc2bd1b5d039322e50
2020-06-02 01:47:06 -07:00
Chaiwat Ekkaewnumchai
5a2221e6cd Add Logic to Edit And Update Database on Both Client And Server
Summary:
This logic relies on the logic on client side, specifically `SqliteDatabaseDriver.java` in specifying some keys to retrieve useful data in `currentStructure`. This will be error-prone if developer writes their own data driver which doesn't follow the same naming as the data driver used as model.
Also, this diff adds util file to deal with query for updating database on client side.

I decided to construct query clause on server side so that the client side change is not needed.

Reviewed By: jknoxville

Differential Revision: D21788241

fbshipit-source-id: cf9a920c3e5b7b29f619bc3f00e68616b3445cab
2020-06-02 01:47:06 -07:00
Chaiwat Ekkaewnumchai
fe17ddce1a Change UpdatePage Reducer
Summary: The different is small after the change from storing pre-rendered data to raw data. Hence, the diff changes it to match `currentPage` to ease the assignment (used in next diffs)

Reviewed By: jknoxville

Differential Revision: D21788245

fbshipit-source-id: 87bdbce33f0615bf31878797a74fce5d5969db7b
2020-06-02 01:47:05 -07:00
Chaiwat Ekkaewnumchai
d6b617a952 Change Execute Action Parameter
Summary: `'Execute'` action was previously used only for execute tab which assumed the input will come from the state. This changes so that it can take any input attached to parameters (more explanation about the design in <insert diff number>)

Reviewed By: jknoxville

Differential Revision: D21788244

fbshipit-source-id: 8fb8ecb8f8df84f4854f70432e7a1fdb531403e9
2020-06-02 01:47:05 -07:00
Chaiwat Ekkaewnumchai
741f3591e6 Get Table Structure Even without Accessing The Page
Summary: This diff helps obtaining metadata for using to edit row

Reviewed By: jknoxville

Differential Revision: D21788246

fbshipit-source-id: bf01eff8866c82f001575d59cc2886b6cdd39dc5
2020-06-02 01:47:04 -07:00
generatedunixname89002005306973
b18760823d Flipper Release: v0.44.1
Summary: Releasing version 0.44.1

Reviewed By: passy

Differential Revision: D21767292

fbshipit-source-id: 94276959d0421fa687cc24f9553a0951b398ea56
2020-05-29 05:02:23 -07:00
Michel Weststrate
54162d480c Enable react hooks linting
Summary:
Enabled linting rules that help to signal making errors with effect dependencies and such.

Fixed all errors, left any warnings generated by the hooks untouched

Reviewed By: nikoant

Differential Revision: D21721497

fbshipit-source-id: 9548453443fa7b663dc4d4289132f388c6697283
2020-05-28 10:14:05 -07:00
Chaiwat Ekkaewnumchai
046b8ceac6 Refactor Structure Page
Summary:
This refactor has the following changes:
- Change way to store data: raw data instead of rendered data
- Move render function to separated function component file
- Remove repetitive pattern

Reviewed By: jknoxville

Differential Revision: D21739468

fbshipit-source-id: 1f7e7ae902c3b55f3863300aaed26c2adda898ac
2020-05-27 07:14:39 -07:00
Pritesh Nandgaonkar
c9d2acab08 Remove flipper AD bar
Summary: This diff removes the FlipperAD bar which is shown in the layout inspector. Fixes [this](https://fb.workplace.com/groups/flippersupport/permalink/881019929045333/)

Reviewed By: passy

Differential Revision: D21716761

fbshipit-source-id: 503fc0002d137032c9a40853f7eeea599d65acea
2020-05-26 04:34:29 -07:00
generatedunixname89002005306973
b538cead7a Flipper Release: v0.44.0
Summary: Releasing version 0.44.0

Reviewed By: passy

Differential Revision: D21686080

fbshipit-source-id: 83a8d997e99361e3fcc4472d484d3759f73ed964
2020-05-21 11:31:56 -07:00
Michel Weststrate
cdd0026e83 fix issue where row backgrounds are not continued when scrolling horizontally
Summary:
We used flexbox to layout rows in the element inspector. The problem with that is that flexbox cannot nicely grow all its childrens to the largest one. Although we could still see contents thanks to the `overflow: visible` hack, this means that the backgrounds didn't continue when scrolling.

In contrast, tables do grow their children width :)

Also fixed an issue where the AX details tree wasn't scrollable

Reviewed By: cekkaewnumchai

Differential Revision: D21661766

fbshipit-source-id: 6b1d16c7aded8beebdd8a50f3e8ab0d9b8633e02
2020-05-21 03:36:35 -07:00
Michel Weststrate
b0ab9b9b98 Fix Height for Main Layout Inspector
Summary:
in Layout plugin, scrollbars where often not visible, for example to see the vertical scrollbar, one had to scroll to the horizontal end first.

Also introduced the `Scrollable` component to simplify this in the feature and separate the concepts of rendering something large and making it scrollable.

This diff cleans up the layout structure and fixes the problem

changelog: Fixed several minor layout issues in the Layout plugin

Reviewed By: cekkaewnumchai

Differential Revision: D21283157

fbshipit-source-id: 81849151475165796c65001616f038a9d6cbdfb2
2020-05-21 03:36:34 -07:00
Chaiwat Ekkaewnumchai
9ae0511f16 Refactor Data Used And Passed to Detail Sidebar
Summary:
As suggested in the previous diff, I change the way to store row values. Now, (kinda) raw values are stored instead of processed values that can be used directly for `ManagedTable`. This simplifies logic in detail sidebar.

I'm not sure what the effect to performance.

Reviewed By: mweststrate

Differential Revision: D21621896

fbshipit-source-id: 472be3caa955ca32f876f81095af21e9c17cb159
2020-05-19 09:12:56 -07:00
Chaiwat Ekkaewnumchai
11b233b516 Allow Long Text to Be Shown in The Sidebar
Summary:
This allows long text to be seen on the sidebar in database plugin. Also, remove weird padding in the sidebar and separate sidebar component to a new file

Refactoring is in the next diff

Reviewed By: mweststrate

Differential Revision: D21550672

fbshipit-source-id: 3e80be16783719e18392fe3d8f8068caf9283f8f
2020-05-19 09:12:56 -07:00
generatedunixname89002005306973
4e618198cb Flipper Release: v0.43.0
Summary: Releasing version 0.43.0

Reviewed By: cekkaewnumchai

Differential Revision: D21639652

fbshipit-source-id: 5a775f6361283b2e9b2540b054afad497dab2a22
2020-05-19 08:00:52 -07:00
Chaiwat Ekkaewnumchai
8fa03789d1 Add Coverage Test for MultipleSelectorSection
Summary:
To comply with recent agreement, coverage test for MultipleSelectorSection is added.

Also, add undefined check in `elements.tsx` found while adding the test

Reviewed By: mweststrate

Differential Revision: D21554782

fbshipit-source-id: 7cd868bf16f6105d6f523048f29bdaa052837f45
2020-05-15 12:49:28 -07:00
Rick Hanlon
e3202dfb35 Add survey banner for Hermes Debugger
Summary:
As requested by the Hermes team, this adds an internal-only banner linking to a survey for the debugger (controlled by a GK).

Gatekeeper: https://our.intern.facebook.com/intern/gatekeeper/projects/flipper_plugin_hermes_debugger_survey/

Reviewed By: mweststrate

Differential Revision: D21556848

fbshipit-source-id: df34f49f504d11bba622709df86c8475be2433eb
2020-05-15 05:19:01 -07:00
dependabot-preview[bot]
50666e9296 Bump promisify-child-process from 3.1.4 to 4.1.0 in /desktop (#1155)
Summary:
Quite keen on this as it removes a babel runtime dependency.

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

Reviewed By: nikoant

Differential Revision: D21522869

Pulled By: passy

fbshipit-source-id: 66e272e1b6a6eb78a51038f20a1717ba0196ec2c
2020-05-13 10:22:02 -07:00
Pritesh Nandgaonkar
dcaff4babc @allow-large-files Upgrade typescript
Summary: This diff updates the typescript version and it fixes `yarn lint:tsc`. It also successfully pointed out fes of the problems in our codebase. I have fixed those problems

Reviewed By: mweststrate

Differential Revision: D21548003

fbshipit-source-id: e69c986ee3c763588d9e1e290dad08d1cf1976a8
2020-05-13 06:57:28 -07:00
generatedunixname89002005306973
9bead5e05c Flipper Release: v0.42.0
Summary: Releasing version 0.42.0

Reviewed By: passy

Differential Revision: D21520625

fbshipit-source-id: 9f3ce5739a0856de84b18df3c640e5218fd3182e
2020-05-13 02:16:13 -07:00
Chaiwat Ekkaewnumchai
ee2369950f Sort Result From ID instead of Using Directly from Result
Summary:
As mentioned in [the first comment in the Github issue](https://github.com/facebook/flipper/issues/989#issuecomment-616673590), we were mixing database `id` given from client and `index + 1` on server side. After investigating, most are used correctly; it searches `id` from given database `name`. However, there are a few (if not one) that, in my opinion, was used incorrectly. For example, [`tableOption`](https://fburl.com/diffusion/vlo7xbo1) assumed `id - 1` is the index, which is sometime incorrect.

This diff sorts the database listed from client by `id` before storing in the state.

Changelog: Fixed wrong order assumption on server side

Reviewed By: jknoxville

Differential Revision: D21496345

fbshipit-source-id: 5e15f776356b0357ac14fbde6c2a11efd76cd1e1
2020-05-12 04:54:31 -07:00
Zheng Rongyan
2dcb73aba5 Check whether the request url is null or not to avoid error. (#1146)
Summary:
### The existing issue
[The `buildRow` function in `network/index.js`](c7ff6f6266/desktop/plugins/network/index.tsx (L458)) doesn't check if the url is valid. However,
since the `request` data comes from the App which developers are building,
there will be an error, if the `request.url` is `null` or `undefined`.

![image](https://user-images.githubusercontent.com/7471672/81561808-5c536b80-93c6-11ea-846b-3aa76d726350.png)

When this error occurs,  the `NetworkTable` can't go back to normal even I try to  click `Clear error and try again`.  Only after killing the Flipper desktop and restart again, it can work again.
![error](https://user-images.githubusercontent.com/7471672/81563438-d553c280-93c8-11ea-86be-883fa457dda3.gif)

### How to fix

In order to make `Flipper` desktop more stable, I think it is better to check the url is valid and avoid the crash.

## Changelog

-  check the url in the `buildRow` function in `network/index.js`
Pull Request resolved: https://github.com/facebook/flipper/pull/1146

Test Plan:
- [x] Using the same input `request` data, `Flipper` will not show this row and it works as normal.
![image](https://user-images.githubusercontent.com/7471672/81562713-e819c780-93c7-11ea-809d-cf6893c58a68.png)

Reviewed By: jknoxville

Differential Revision: D21502032

Pulled By: passy

fbshipit-source-id: 1dd8ad7f13297ce99680053447024a8563b8a975
2020-05-11 09:13:05 -07:00
Chaiwat Ekkaewnumchai
736d681562 Add Detail to Selected Row
Summary:
- Add detail sidebar to data tab. This reuses `renderSidebar` from SQL tab
- `renderTable` function is moved into the component to easier access `renderSidebar`

Reviewed By: mweststrate

Differential Revision: D21406942

fbshipit-source-id: 5c79489a80931b1133c0a28ca5897a27ba9dd6b8
2020-05-07 06:15:51 -07:00
John Knox
fbb9f805d4 Disable crash reporter plugin on physical iOS devices
Summary: It doesn't currently work on them, so removing to avoid confusion.

Reviewed By: priteshrnandgaonkar

Differential Revision: D21448681

fbshipit-source-id: 6ef46f8551921c1c5bdba17fd65f762292f1dd0e
2020-05-07 05:31:06 -07:00
João Vieira
a2d7297bbb Rename Flipper trace to Flipper export.
Summary: Rename visual references from Flipper trace to Flipper export.

Reviewed By: passy

Differential Revision: D21408566

fbshipit-source-id: 1021fec095f2f2f3e5394e7ea2f7d49fee186050
2020-05-07 04:05:27 -07:00
Chaiwat Ekkaewnumchai
8a06f4bd72 Unit Test for Multiple Selector Data Handler
Summary: per title

Reviewed By: mweststrate

Differential Revision: D21304005

fbshipit-source-id: 97231d49a2c6fb3faeafa15587bc140bdc1dbea3
2020-05-07 03:41:01 -07:00
Chaiwat Ekkaewnumchai
6daff06e19 (server) Click to Expand in Multiple Selector
Summary:
per title

Changelog: Add multiple selector to layout inspector to allow user to select components at a position

Reviewed By: mweststrate

Differential Revision: D21214898

fbshipit-source-id: 7b52d9d3c93e7ec0d28124a3a675ccfdd014c54d
2020-05-07 03:41:00 -07:00
Chaiwat Ekkaewnumchai
a6b69f7939 (server) Make Multiple Selector Collapsable
Summary: per title

Reviewed By: mweststrate

Differential Revision: D21214900

fbshipit-source-id: 61e565391ca7d5796bb22c9ece76ea5dabe97be7
2020-05-07 03:41:00 -07:00
Chaiwat Ekkaewnumchai
83a2203751 (server) Multiple Selector on Layout Inspector
Summary:
This diff adds multiple selector UI on layout plugin, which shows up when there are more than one component at a touch.

This UI allows user to do similar thing to element inspector. Expanding functionality on main component will be added in next diffs.

Reviewed By: mweststrate

Differential Revision: D21214899

fbshipit-source-id: 5c9cae93122cc4f7c326ccd0878d2b9dddebf62b
2020-05-07 03:41:00 -07:00
Chaiwat Ekkaewnumchai
a7163bf06d (server) Add New Parameter And Functions for Select Subscriber
Summary:
- add type to represent the returned component tree
```
expected data:
{
  [nodeID1]: [subtree1],
  [nodeID2]: [subtree2],
  ...
}
example:
{
   id1: {
    id2: {
      id3: {
        id4: {},
        id5: {
          id6: {}
        }
      }
    }
  }
}
```
- add functions to deal with a tree
  - `_getElementLeaves` for finding ids that don't have any child given the tree structure
  - `_getPathForNode` for finding path (similar to previous path parameter) for given id
- This diff still retain functionality in case of selector appear to touch only one element.

Reviewed By: mweststrate

Differential Revision: D21040427

fbshipit-source-id: e6704535a437ad47d9664cc16896b9f24c9d6736
2020-05-07 03:40:57 -07:00
Pascal Hartig
770c8b4d00 Remove greenkeeper (#1138)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/1138

Goodnight, sweet prince.

Reviewed By: nikoant

Differential Revision: D21426321

fbshipit-source-id: 8d0ffb479ee806e792e2c1351fec6b14690812bc
2020-05-06 10:58:28 -07:00