Commit Graph

744 Commits

Author SHA1 Message Date
Lorenzo Blasa
e4eecc53c4 EventAttribution -> FrameworkEventAttribution
Summary:
Make it more specific as to keep it consistent with the other types.
Do not export JSON.

Reviewed By: antonk52

Differential Revision: D44625218

fbshipit-source-id: 9cab52ee7e7be21d13f85102597a60c9be967fd0
2023-04-03 10:35:15 -07:00
Lorenzo Blasa
0c4ec03e69 Add event payload as event properties for the timeline view
Summary: Leverage the properties prop of `TimelineDataDescription`. Whenever an event is selected, the event payload is shown as the event properties.

Reviewed By: antonk52

Differential Revision: D44497058

fbshipit-source-id: 09782d583957a0df8c3efd3f5a62af6b321a26e3
2023-04-03 10:35:15 -07:00
Lorenzo Blasa
ce2bfe320b Payload and attribution for framework events
Summary: ^

Reviewed By: LukeDefeo

Differential Revision: D44496975

fbshipit-source-id: 4f633d0f00239cac16ee332d35755b343d46b124
2023-04-03 10:35:15 -07:00
generatedunixname89002005306973
af1842a027 Flipper Release: v0.188.0
Summary: Releasing version 0.188.0

Reviewed By: LukeDefeo

Differential Revision: D44628090

fbshipit-source-id: a6f22b743331e3e18f2a2787e2fb6471b32cd430
2023-04-03 08:52:01 -07:00
Lorenzo Blasa
04911d9d85 Tabs need key now
Summary: Because Tabs now depend on the selected node (i.e. some nodes have events, some don't) they need to use a key.

Reviewed By: antonk52

Differential Revision: D44624658

fbshipit-source-id: 693983f6a82c090adae3a2e009873d903626ab75
2023-04-03 04:39:25 -07:00
Andrey Goncharov
5b0ae2a4f8 Fix NPE when activeChildIdx points to the non-existent entry
Summary:
Based on the stack trace in T145744183, `activeChildIdx` could point to a non-existent array element.
Previously, we used to:
1) Find the index of the activeChild in the non-filtered array of children
2) Filter the array

As a result, it could lead to some of the elements in the child array to be filtered and shifting activeChildIdx, making it invalid.

Now, we search activeChild in the already filtered array.

Reviewed By: LukeDefeo

Differential Revision: D44575170

fbshipit-source-id: 2cb9a0b24badc8509a859011694f77b048d93316
2023-03-31 07:21:28 -07:00
Andrey Goncharov
13275f77be Use Buffer polyfill
Summary: Buffer is not available in the browser

Reviewed By: lblasa

Differential Revision: D44416645

fbshipit-source-id: 9cca069b8b0111f96bb47628e5f2196a22c9812d
2023-03-28 04:45:06 -07:00
Lorenzo Blasa
7f2a0c94f9 Deprecate Layout plugin
Summary: ^

Reviewed By: aigoncharov

Differential Revision: D44417781

fbshipit-source-id: 7ffb369d88771901c9ffca2bbe8ecbd571373a77
2023-03-27 07:32:23 -07:00
generatedunixname89002005306973
bc9d53660a Flipper Release: v0.187.1
Summary: Releasing version 0.187.1

Reviewed By: aigoncharov

Differential Revision: D44416758

fbshipit-source-id: 2c390e1124c63d873fc442dcdfba7a9ac272530e
2023-03-27 06:51:43 -07:00
Andrey Goncharov
ccdc6735c6 Log mock errors only for connected devices
Reviewed By: antonk52

Differential Revision: D44367935

fbshipit-source-id: e6de3bf08d9daef9e607b9d24200892f4d04ecd2
2023-03-24 06:34:38 -07:00
Luke De Feo
77905f30c8 Add context to AbstractClient rawCall errors
Summary: Attempting to fix T146503217. There is no context to the error so this should make it easier in the future. In the MID it says that the layout plugin was selected i made sure to handle any promise rejections in that plugin

Reviewed By: passy

Differential Revision: D44302939

fbshipit-source-id: 987e2c4efd2dc47d2e032d1b21f90458ec5a2df5
2023-03-24 04:28:58 -07:00
Michael Judd
0115ab3113 feat(network-plugin): add support for optional "gql operation name" in data table (#4625)
Summary:
Using this network tab explorer at a company that works in graphql is very difficult because everything comes from the same HTTP route. I've added support for an optional (not visible by default) "GraphQL operation name" field for people who want to use that.

## Changelog
Adds a new optional column in the desktop network plugin called "GraphQL operation name" which will display the operation name if its available.

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

Test Plan:
I didn't see much in the way of component testing for this behaviour. Looking for some guidance here. I'm happy to add some if we think that makes sense

https://user-images.githubusercontent.com/17029928/227016610-b6da1ff3-4a7e-45c6-88da-ceaa6fad53ad.mp4

Reviewed By: ivanmisuno

Differential Revision: D44331605

Pulled By: aigoncharov

fbshipit-source-id: fe7a7812541c235871ae8a71e5461ea2adbd2560
2023-03-23 05:38:15 -07:00
Lorenzo Blasa
174c04accf Open in IDE diagnostics
Summary: Copy in IDE and BigGreep search usage

Reviewed By: LukeDefeo

Differential Revision: D44297978

fbshipit-source-id: deb3288c7afbea7fc7aa13937db1478f300d6307
2023-03-22 11:53:54 -07:00
Lorenzo Blasa
c2e41cd095 Copy diagnostics
Summary: Track copy events, both names and inline attributes.

Reviewed By: LukeDefeo

Differential Revision: D44297218

fbshipit-source-id: 5d2b1f2f4fa59d4a86e9e2ae1aa883712ceccb8c
2023-03-22 11:53:54 -07:00
Lorenzo Blasa
583eabdd79 UI actions diagnostics
Summary:
Track:
- Element selected. Include name and tags. Useful to understand what type of elements engineers are selecting in a hierarchy i.e. ui framework, element type, etc.
- Element focused. Same as above.
- Context menu usage

Reviewed By: LukeDefeo

Differential Revision: D44294618

fbshipit-source-id: f2b9642e70818e8a382bbbddc28115a40734dfe8
2023-03-22 11:53:54 -07:00
Lorenzo Blasa
8d83fa2185 Control use diagnostics
Summary:
Current control diagnostics:
- Play/Pause
- Search
- Framework Event Monitoring
- Toggle more options

Reviewed By: LukeDefeo

Differential Revision: D44292835

fbshipit-source-id: c1ef6181141ef47262de8e75abeeb88ffebd4bd6
2023-03-22 11:53:54 -07:00
generatedunixname89002005306973
469d6080ee Flipper Release: v0.187.0
Summary: Releasing version 0.187.0

Reviewed By: aigoncharov

Differential Revision: D44290210

fbshipit-source-id: 3d483de9d3419b03b82bba4c7e08849ad6614334
2023-03-22 06:33:21 -07:00
Lorenzo Blasa
9b9674be2d Track play-pause usage
Summary: ^

Reviewed By: aigoncharov

Differential Revision: D44169950

fbshipit-source-id: 7a10c6849382680723687a63fd987b9766076af9
2023-03-17 10:37:02 -07:00
Lorenzo Blasa
723bc52c38 Update overview to include iOS
Summary: ^

Reviewed By: aigoncharov

Differential Revision: D44169429

fbshipit-source-id: 4e1b35f753e5cd390d6533f7b31d55f87a64b061
2023-03-17 10:23:54 -07:00
Lorenzo Blasa
bd9bc79cc7 No longer beta
Summary:
^

Time to remove the beta tag.

Reviewed By: aigoncharov

Differential Revision: D44168533

fbshipit-source-id: 5009170328269577aa01e68298753ec0738394d7
2023-03-17 10:23:54 -07:00
generatedunixname89002005306973
5961a5dade Flipper Release: v0.186.0
Summary: Releasing version 0.186.0

Reviewed By: lblasa

Differential Revision: D44141066

fbshipit-source-id: ca3a8e5edd2201c098aec52bf61d38367b970bdf
2023-03-17 04:08:33 -07:00
Lorenzo Blasa
5d0e0137d5 Better performance metrics
Summary:
Current metrics are deltas from an initial set timestamp. This works but is limiting or affecting the overall accuracy of them.

The aim of this task is to replace the deltas with actual measurements for the operations.

This way we can add/remove operations in between which will not create any impact of them.

Reviewed By: LukeDefeo

Differential Revision: D44026823

fbshipit-source-id: fd7d62c4eab86bab8239b44beecd5c133f6d11c7
2023-03-16 07:35:44 -07:00
generatedunixname89002005306973
71108897d0 Flipper Release: v0.185.0
Summary: Releasing version 0.185.0

Reviewed By: mweststrate

Differential Revision: D44086339

fbshipit-source-id: 55164829df59c44643741472c85c8971bfc6f556
2023-03-15 06:51:47 -07:00
Luke De Feo
fa2ea39405 Fix bad types and npe
Summary: Framework events was added recently so no garentueed to always be on all clients. Should fix T145084769

Reviewed By: mweststrate

Differential Revision: D44064430

fbshipit-source-id: 5dab14a7de5815a25cf8fe7bfa485a6a57d60071
2023-03-15 04:01:44 -07:00
generatedunixname89002005306973
998998ab19 Flipper Release: v0.184.0
Summary: Releasing version 0.184.0

Reviewed By: aigoncharov

Differential Revision: D44020314

fbshipit-source-id: e23e1c5df101b4f19db65c97024f4e95f6f3eb19
2023-03-13 04:38:57 -07:00
Lorenzo Blasa
c192af7fa0 Event name declutter
Summary:
The current event label used the event type. The type in itself can have this shape:

`ck:willMountComponent`

The event name is just 'willMountComponent'.

So, extract that piece of data instead.

Reviewed By: aigoncharov

Differential Revision: D43983728

fbshipit-source-id: e232b59cfe3eb0710e56fc9ba7f94b644b07ee74
2023-03-13 03:55:03 -07:00
Andrey Goncharov
14795f203b Stop using device API to clear device logs on disconnected devices
Reviewed By: lblasa

Differential Revision: D43979493

fbshipit-source-id: d05450ad4f5e9e1a1336f6a825875d4670725252
2023-03-10 10:00:46 -08:00
Andrey Goncharov
ccba2fb73e Prevent stack overflow in cyclical graphs
Summary: Logview reported "Error: Maximum call stack size exceeded" for "getElementLeaves". Apparently, there was a cycle in the graph that caused it. The new implementation should ignore cycles.

Reviewed By: lblasa

Differential Revision: D43976359

fbshipit-source-id: bb5218a3b29706146501241492ee079773d5abc3
2023-03-10 08:33:19 -08:00
Lorenzo Blasa
2dde672045 Events tab
Summary:
Add a frameworks events tab. This is currently using the `TimelineDataDescription` component which may ultimately be replaced by something more sophisticated.

In the meanwhile, this does the job of chronologically displaying events with a label.

Reviewed By: mweststrate

Differential Revision: D43948891

fbshipit-source-id: 31ebf8a1d0e126856c3aa5291a1a06d7f2547233
2023-03-10 06:18:21 -08:00
Lorenzo Blasa
d349135683 Badge for events instead of inline approach
Summary:
Instead of showing events as inline attributes, just show a badge with the number of it. Event details will be displayed with other means:

- Hover
- Dedicated tab
- Other

Reviewed By: mweststrate

Differential Revision: D43946575

fbshipit-source-id: 762a241040d7fc6afb2c86d129a620ff2bb15feb
2023-03-10 06:18:21 -08:00
Lorenzo Blasa
ed4903576a Better guidelines
Summary: Removes dotted/dashed lines for the hierarchy guidelines.

Reviewed By: ivanmisuno

Differential Revision: D43912904

fbshipit-source-id: c65de8258c7efc997ae739022e6af5919d6453f6
2023-03-10 03:14:32 -08:00
Vova-SH
a46b7c2e78 Fix example code on setup leakCanary plugin (#4566)
Summary:
Fix sample for install leak canary plugin

## Changelog

add brackets on sample code

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

Test Plan: -

Reviewed By: antonk52

Differential Revision: D43766946

Pulled By: passy

fbshipit-source-id: 4bded0122330ab4186745a9f5b2dcbd511318ee3
2023-03-03 10:38:42 -08:00
Lorenzo Blasa
4d5bf8084b Remove feedback request
Summary: It has served its purpose, remove.

Reviewed By: LukeDefeo

Differential Revision: D43769239

fbshipit-source-id: 36fb575b15fe9d092c7728a56b735ff98ff78608
2023-03-03 07:33:24 -08:00
generatedunixname89002005306973
80edf44dc5 Flipper Release: v0.183.0
Summary: Releasing version 0.183.0

Reviewed By: passy

Differential Revision: D43692458

fbshipit-source-id: 7a879ae59de489643cf2195b89bf5232e0eecdf7
2023-03-01 10:06:37 -08:00
Lorenzo Blasa
3a36c269e7 Element name to not overflow
Summary: ^

Reviewed By: LukeDefeo, antonk52

Differential Revision: D43697303

fbshipit-source-id: 4acb6d50c02581688bcfd9ad65bf107412cffa42
2023-03-01 08:51:32 -08:00
generatedunixname89002005306973
5be020479d Flipper Release: v0.182.0
Summary: Releasing version 0.182.0

Reviewed By: ivanmisuno

Differential Revision: D43389080

fbshipit-source-id: 3a59082194d24c138fbd2c9bcc2e984b46c6f54e
2023-02-17 08:04:32 -08:00
Luke De Feo
95ef9bf585 Preserve scroll position after exiting focus mode
Summary: Previously we would scroll back to the top of the list

Reviewed By: passy, ivanmisuno

Differential Revision: D43390481

fbshipit-source-id: ce2d5d57d35b22e87a538720fe2760707a6bc058
2023-02-17 04:10:17 -08:00
Luke De Feo
d28748e69f Dont allow focusing nodes with zero area
Summary: If you focused a node with zero area (e.g a fragment) it would make the visualiser disappear. Simple solution is to prevent this in this case

Reviewed By: mweststrate

Differential Revision: D43363219

fbshipit-source-id: 8035db47486a2872fd86a5336e9fcaabeb0016a6
2023-02-17 02:45:05 -08:00
Luke De Feo
f12d8221d6 Fixed issue where visualiser would crop bottom few pixels of screen
Summary:
Fixes https://fb.workplace.com/groups/443457641253219/permalink/522118536720462/

On android for some reason our display metrics for the application, activity and winow were smaller than the decor view. We were using the root view as the base static view for the visualiser with overflow hidden. Since it will slightly smaller than the decor view we were losing some of the lower pixels of the snapshot

The decor view is the one that is actually snapshot so any bounds for nodes above are meaningless . The fix is to simply have the visualiser start at the snapshot view. We know this bounds is correct.

Tested on ios and android and all looks ok

Reviewed By: lblasa

Differential Revision: D43356523

fbshipit-source-id: 4d6177c8242365f33b1d64fc149a10baff7c85d6
2023-02-17 02:45:05 -08:00
Luke De Feo
d24343d2ac Make the visualiser scrollable and remember width
Summary:
Previously If you set the visualiser too wide, the height adjusts with the aspect ratio and  the bottom was cut off and there was no way to scroll. Have added a scrollbar if it exceeds the available height

Also the width state was promoted to an atom so the users resize amount is preserved when moving between plugins

A better solution might be to prevent the visualiser from getting too wide for the available hieght but it get complex when the window resizes.

Reviewed By: lblasa

Differential Revision: D43351294

fbshipit-source-id: f618a69ed025214593a74b952ce75c5fd98447cd
2023-02-17 02:45:05 -08:00
Luke De Feo
0651bb27df Fix automatic scrolling bug
Summary:
Fixes https://fb.workplace.com/groups/443457641253219/permalink/522121466720169/

For context see changelog.

The issue was because when an update comes in it creates an entirely new treeList. Since we were accessing that treeList in useEffect it was added to the dependency array. Therefore when an update came in we would scroll back to the last selected node. This effect was only meant to run when the selection changed in the visualiser. To fix we have to put the data it depends on in a ref so it can access the latest value without needing this data in the dependency array

changelog: UIDebugger Fix bug where if video playing on android and if element selected it would sometimes jump back to selected element when you scroll away

Reviewed By: mweststrate

Differential Revision: D43347501

fbshipit-source-id: f03bb32ddfa7828a4742d1a57e9be133a455ec30
2023-02-17 02:45:05 -08:00
Luke De Feo
8cae1f0de6 On select expand ancestory
Summary: Previously when selecting from the visualiser nothing would happen in the tree if one of the parents was collapsed

Reviewed By: lblasa

Differential Revision: D43318177

fbshipit-source-id: 7bf9296dec2ca82e3f983b4cf2676ea8741a9d0e
2023-02-17 02:45:05 -08:00
Luke De Feo
1cd916e414 Increase indent and automatically scroll horiztonally on selection
Summary:
Indent is made bigger so the horizontal lines have more space and the whole thing can breath more. To componesate the view scroll horiztontally so that the tree node is always visible. Was also able to clean up the hierachy a bit

changelog: increase tree indent and automatically scroll both horizontally and vertically when selecting an element

Reviewed By: lblasa

Differential Revision: D43311566

fbshipit-source-id: 53bc7bd55027e87fdecadac9aa8bc41612bb684a
2023-02-17 02:45:05 -08:00
Luke De Feo
d1e6b27358 Remove gap between tree scroll bar and visualiser resize handle
Summary:
So much tidier

changelog: UIDebugger remove gap between tree and visualiser

Reviewed By: lblasa

Differential Revision: D43307743

fbshipit-source-id: ceec9b3b164c93ecadfe8c0b7299a978b2915e3b
2023-02-17 02:45:05 -08:00
Luke De Feo
8581aa1944 Memoise selection of nodes
Summary:
For the visualiser we use the same trick as with the hover state. We subscribe to selection changes and only render if the prev or new state concerns us.

For the tree we change from object identity to the node id + and indent guide are added to the memoisation equal check.

Depending on teh change this tree memoisation can vary in effectiveness. If you go from nothing selecting to selecting the top element nothing is memoised since react needs to render every element to draw the indent guide. If you have somethign selected and select a nearby element the memoisation works well.

There are ways to improve this more down the road

changelog: UIDebugger improve performance of selecting nodes

Reviewed By: lblasa

Differential Revision: D43305979

fbshipit-source-id: 5d90e806ed7b6a8401e9968be398d4a67ed0c294
2023-02-17 02:45:05 -08:00
generatedunixname89002005306973
690a8df436 Flipper Release: v0.181.0
Summary: Releasing version 0.181.0

Reviewed By: lblasa

Differential Revision: D43351298

fbshipit-source-id: ac2196a1780ef58c04c20f56ea46bf9700cababb
2023-02-16 07:04:28 -08:00
Luke De Feo
25149cc8c9 Added bgs on android ID + cleanup
Summary:
Paddings and alignments were improved also

changelog:
UIDebugger - Added ability to big grep search based on android ID if available

Reviewed By: lblasa

Differential Revision: D43159228

fbshipit-source-id: e2d7190ea2411e936ba065328bcc375c64619e8f
2023-02-15 08:27:19 -08:00
Luke De Feo
96bed18df2 More context menu options in the tree
Summary:
Added ability to copy element name and any inline attributes

Changelog:
UI Debugger - Added extra context menu items for copying element name and attributes
UI Debugger - Added open in Android studio button
UI Debugger - Improve speed of loading the Open in IDE buttons

Reviewed By: lblasa

Differential Revision: D43153666

fbshipit-source-id: 8b440d77444cd6849388e7e9d348da4527db5baf
2023-02-15 08:27:19 -08:00
Xin Chen
2e511b5d08 Upgrade react-devtools-core to 4.27.2
Summary:
This diff upgrade dependencies to `react-devtools-core` to 4.27.2, which includes changes I need to unblock trace update highlights.

- Update package.json file for dependencies in all existing deps with latest version (4.26.1): https://fburl.com/code/litgze0m
- Run `yarn` under `xplat/js` and `xplat/js/public`

Changelog:
[General][Internal] - Upgrade react-devtools-core to 4.27.2

Reviewed By: javache

Differential Revision: D43176345

fbshipit-source-id: 8bd5a9eca286bbfbb1630cb92c15f9653fa3534a
2023-02-13 10:49:13 -08:00
kongxiaojun
42ac82bc8c Fix a crash when trying to remove a mock network call (#4403)
Summary:
Crash when trying to remove a mock network call

Issue: https://github.com/facebook/flipper/issues/3799

## Changelog

Read mock routes type error.Transform it from array to object.

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

Test Plan: Test passed on my Mac.

Reviewed By: antonk52

Differential Revision: D42918910

Pulled By: passy

fbshipit-source-id: 919bb6d2a2887aed46fb4a348f3f93e7abb765e5
2023-02-13 05:05:18 -08:00