Commit Graph

880 Commits

Author SHA1 Message Date
Luke De Feo
9ae632ba5c Bloks apply frame and then augment
Summary:
Given that we have to retry aggressively to fetch reduciton traces the blok augmentation can take a longer time. For cases like embedded bloks this can slow down the ui debugger even if you arent debuggin bloks. To avoid this we display the frame immediatley and then asynchronously augment it.

There is a possibility that you might see bloks bound tree nodes with no name briefly since this is this the state they come from the client as.

This isnt the ideal solution as the better way would be to do the unminification first and then add the derived components (which depends on reduction trace) after. This avoid this qurik but is a much bigger refactor so will do it another time if needed

Reviewed By: lblasa

Differential Revision: D48600897

fbshipit-source-id: 06fc5c5ecc6fe575f815d3ebca685f363275c84c
2023-08-23 07:09:04 -07:00
Luke De Feo
3fcb932f28 Add clear button and autoscroll to table
Reviewed By: lblasa

Differential Revision: D48600634

fbshipit-source-id: 4ccf82314e3ef3c7466e91e8c181f35ee264bc0a
2023-08-23 07:09:04 -07:00
Luke De Feo
c7ad98cba4 Explode framework payload attribute into data table columns
Reviewed By: antonk52

Differential Revision: D48562431

fbshipit-source-id: 869e39da41986ee61e6bbebecfb4b36119881c64
2023-08-23 01:51:31 -07:00
Luke De Feo
c6dddccd87 focus visualiser node when selecting in table view
Summary: Use the visualiser as a reference for the event table

Reviewed By: antonk52

Differential Revision: D48562105

fbshipit-source-id: 8707efdcb0631e9716dd0a06e01518480ca2edc1
2023-08-23 01:51:31 -07:00
Luke De Feo
7d9744b8ff Improve framework event filtering
Summary: Now when entering framework event table from a tree root we filter that so you can see all tree events. Also we use exact matches to avoid and nasty substring bugs

Reviewed By: lblasa

Differential Revision: D48560169

fbshipit-source-id: 1df375a2b8c5035003d82c210b55adebda8bd4ec
2023-08-23 01:51:31 -07:00
Luke De Feo
206ef79cf9 Improve table view
Summary:
added component name, root component name, duration, event type and better names

changelog: UIDebugger - added event debugger table view and side panel views

Reviewed By: lblasa

Differential Revision: D48559367

fbshipit-source-id: d357ecf654b4e443eac7673731a8be542e76dd48
2023-08-23 01:51:31 -07:00
Luke De Feo
03ba22451d Dont show filter if nothing to filter
Reviewed By: lblasa

Differential Revision: D48471138

fbshipit-source-id: c86d2542b7dc98e323fdde9ae8cc687bd10dfb3a
2023-08-21 04:24:16 -07:00
Luke De Feo
22d1bc2552 Allow exploring all events in table view
Summary: This lets you debug when events go off screen

Reviewed By: lblasa

Differential Revision: D48395787

fbshipit-source-id: 51a6eb74fa0f61c34f25e86a6ee40bf5969379ee
2023-08-21 04:24:16 -07:00
Luke De Feo
1bffe8bc6b Improve framework event filters
Reviewed By: lblasa

Differential Revision: D48393422

fbshipit-source-id: 18d92b53bd56c100b6d4bb6adc07ede0b4a46732
2023-08-21 04:24:16 -07:00
Luke De Feo
756a289883 Add button to get to table mode from node level stream
Reviewed By: lblasa

Differential Revision: D48348325

fbshipit-source-id: f54815226dc230aa2d3c2bafdae8edfa829bf3fe
2023-08-21 04:24:16 -07:00
Luke De Feo
4918d21df8 Show framework event metadata documentation in detail view and tree select
Reviewed By: lblasa

Differential Revision: D48348090

fbshipit-source-id: e48547508b78178b278f72ce72fc579c9f015570
2023-08-21 04:24:16 -07:00
Luke De Feo
f5bc03c263 Add framework event node level event filtering
Summary: Lets you filter a nodes events by thread or type

Reviewed By: lblasa

Differential Revision: D48346955

fbshipit-source-id: 455d65ad21c54c5ad26782ac6a446f7ae15a4356
2023-08-21 04:24:16 -07:00
Luke De Feo
3cd6079c24 Change framework event seperator to .
Summary: Its easier this way since this is how they come out of android internally, also a bit nicer to display the full string this way

Reviewed By: lblasa

Differential Revision: D48346954

fbshipit-source-id: 997dd3922159683fcdf4b5f5f288702a5d998dc4
2023-08-21 04:24:16 -07:00
Luke De Feo
7b6aff245a Extract framework event tree select
Summary: we will reuse this

Reviewed By: lblasa

Differential Revision: D48318965

fbshipit-source-id: a5d04481a02e18a2d709f79524aa7449a5b87844
2023-08-21 04:24:16 -07:00
Luke De Feo
d5814ea17c Use bottom panel as detail view for framework events
Summary: Now when you click on an event the bottom bar appears automatically showing you every thing you need

Reviewed By: lblasa

Differential Revision: D48318694

fbshipit-source-id: 6505e439d949941dc0e091b9576d7d1321d8a05f
2023-08-21 04:24:16 -07:00
Luke De Feo
6f6b953c62 Fix warning
Summary: This was complaining about mixing shorthand  and separete css attributes. Just use separate since its clearer

Reviewed By: passy

Differential Revision: D48315864

fbshipit-source-id: e73e76d7fb94b3d7bba36a34d408202bc91933be
2023-08-21 04:24:16 -07:00
Luke De Feo
4912b3f47e Fix bottom panel and make it resizable
Summary: The bottom panel got broken during the virtualisation+ panel refactor, we need to tell the tree how much height is taken by the panel so it can size itself accordingly.

Reviewed By: lblasa

Differential Revision: D48313766

fbshipit-source-id: 849886101eb0869cc068fd0ad6dc1d053233043e
2023-08-21 04:24:16 -07:00
Luke De Feo
94114eb821 Add tree id
Summary:
Added new tree id to the framework event. Its currently optional.

The tree id is the parent component tree / tree manager this tree belongs to, this is so we can view all tree events at once in the table.

We ony show the context menu item when we have the tree root tag which is set for component tree only at this point. We can add for blok and ios later

Reviewed By: lblasa

Differential Revision: D48268120

fbshipit-source-id: 3dee06309b146a0392ca32fbb5e8231883b8439a
2023-08-21 04:24:16 -07:00
generatedunixname89002005306973
cc9c26d214 Flipper Release: v0.212.0
Summary: Releasing version 0.212.0

Reviewed By: lblasa

Differential Revision: D48473694

fbshipit-source-id: 751e563523881120795bbfef83616d89dcaa5f45
2023-08-19 03:47:16 -07:00
generatedunixname89002005306973
7ef7b9a248 Flipper Release: v0.211.1
Summary: Releasing version 0.211.1

Reviewed By: passy

Differential Revision: D48349388

fbshipit-source-id: 7e152acb6009148bfbade2ee282bc681e12b110f
2023-08-15 06:56:48 -07:00
Lorenzo Blasa
ff6f98fc0d Import File implementation
Summary: Implementation was missing for the browser. This provides a default implementation.

Reviewed By: aigoncharov

Differential Revision: D48311198

fbshipit-source-id: fd067600f571234e0fbccfb90853b62f175ff8fb
2023-08-14 11:33:06 -07:00
generatedunixname89002005306973
22f67e389f Flipper Release: v0.211.0
Summary: Releasing version 0.211.0

Reviewed By: ivanmisuno

Differential Revision: D48185752

fbshipit-source-id: 9e81f1e869e86194e8d90d83a3a988c778bb22e4
2023-08-09 09:23:44 -07:00
generatedunixname89002005306973
1b0a5f4320 Flipper Release: v0.210.1
Summary: Releasing version 0.210.1

Reviewed By: passy

Differential Revision: D48112784

fbshipit-source-id: 8a6303e7cfeabd2b7f13a48be9c5f8bb0c0f5616
2023-08-07 09:21:54 -07:00
generatedunixname89002005306973
f81eb544fa Flipper Release: v0.210.0
Summary: Releasing version 0.210.0

Reviewed By: lblasa

Differential Revision: D47994316

fbshipit-source-id: 24559a57d58a769f6e578cf344135522e4e7c9be
2023-08-02 09:48:04 -07:00
Luke De Feo
af7c1c7e74 Dont allow focusing leaf node
Summary: This mode is useless for leaves

Reviewed By: aigoncharov

Differential Revision: D47949539

fbshipit-source-id: 7f3ae6652ad696e9f550fe5b8f2298a1a3eff329
2023-08-01 10:32:29 -07:00
Luke De Feo
9932d28b2f Optimize wireframe mode
Summary: I noticed a slow down when using key board controls as this would change the selection. this adds the optimization back when wireframe mode == All

Reviewed By: antonk52

Differential Revision: D47949836

fbshipit-source-id: a08e5608c159d23b8a0afed419724c02231718d6
2023-08-01 10:32:29 -07:00
Luke De Feo
4e7ca39168 Tweaks to tree UI
Summary:
Made rows smaller so you get to see more content
Monospace font

Reviewed By: antonk52

Differential Revision: D47949839

fbshipit-source-id: f8935e233838ff35acf8c1ab14bcf9b8f2153ab4
2023-08-01 10:32:29 -07:00
Luke De Feo
09042ec5d6 Make non visible views non opaque
Summary: On certain apps there are a lot of views that have zero size and this isnt clear from the tree view. This will help

Reviewed By: lblasa

Differential Revision: D47917167

fbshipit-source-id: 180ef1cf34c3735acfd54d3498db9d29f759d959
2023-08-01 10:32:29 -07:00
Luke De Feo
1cf0527a51 Double click to expand or collapse in tree
Reviewed By: aigoncharov

Differential Revision: D47949838

fbshipit-source-id: be7208633cee13579eaa20d3b0bfaa4380a4e399
2023-08-01 10:32:29 -07:00
Luke De Feo
795d1de10d Dont auto expand nodes
Summary:
Rather than automatically collapsing siblings when using the visualiser instead we take a different approach:
1. The tree starts out fully collapsed
2. Every time you click on the visualiser we expand it and its ancestory chain to expanded nodes.

This is exactly how the Dom inspector works. The previous approach of constantly collapsing all siblings when uinsg the visualiser felt too intrusive and taking control from the user. The option is still there but only in the context menu

Some ultilities around autocollapsing nodes were removed as they dont make sense anymore that we now send complete frames

Changelog: UIDebugger Tree starts collapsed and expands as you click from the visualiser

Reviewed By: aigoncharov

Differential Revision: D47949843

fbshipit-source-id: 4381d22b12874dde5a89267572bee95f084380e3
2023-08-01 10:32:29 -07:00
Luke De Feo
ce1fdfdf19 Added context menu items for collapsing and expanding nodes
Summary:
Added 3 context menu items:
- expand recursive
- collapse recursive

These are self explanatory.

I also collapse non ancestors. This collapses everything except your direct ancestor path to the root. Quite useful to refocus the tree on a node

Changelog: UIDebugger - added  context menu items for exanding and collapsing the tree.

Reviewed By: aigoncharov

Differential Revision: D47949840

fbshipit-source-id: 6eebba182fe2092fbf5f0db0ec5ff728c3900424
2023-08-01 10:32:29 -07:00
Luke De Feo
129c848b78 Fixed bug where target mode would contain parents of hit nodes
Summary: The idea of the hit test is to return the deepest children that hit an element and not their parents. Due to this bug we were actually returning every other node all the way up to the root resulting in way to many hit nodes for target mode

Reviewed By: lblasa

Differential Revision: D47949837

fbshipit-source-id: d3391b4a700ab0be4c3b21dde5f13452f90c887b
2023-08-01 10:32:29 -07:00
Luke De Feo
fb503a0a2f Add wireframe mode control
Summary:
This allows you to control how the wire frames are drawn, useful when there are lots of overalpping wireframes

Changelog: UIDebugger - Added wireframe mode control, useful when lots of overlapping wireframes

Reviewed By: aigoncharov

Differential Revision: D47949841

fbshipit-source-id: 72de7d085ca433557107ab0cc6e4399220836d9f
2023-08-01 10:32:29 -07:00
Luke De Feo
1394a41599 Fix subtile bug with keyboard controls
Summary:
The code used the hovered node and selected node somewhere inconsistently for keyboard controls, this led to subitle bugs where if you moused over the next keybaord jump point would be the hovered node sometimes. This straightens it all out

Changelog: [UIDebugger] Fixed bug with keyboard tree controls

Reviewed By: aigoncharov

Differential Revision: D47832249

fbshipit-source-id: 7697c97a817ed5b70250c0c4f12fc1c59bdb96b9
2023-08-01 06:41:14 -07:00
Luke De Feo
21483986c3 Fix bug in tree when search term is set
Summary: Previously we would run the effect even if search term hadnt changed causing us to scorll to a search term rather than the selected node when selecting in the visualiser

Reviewed By: antonk52

Differential Revision: D47831188

fbshipit-source-id: 5700d49aea219a1229bcc8df462e55d8508c6c1a
2023-08-01 06:41:14 -07:00
generatedunixname89002005306973
27d98663c5 Flipper Release: v0.209.0
Summary: Releasing version 0.209.0

Reviewed By: lblasa

Differential Revision: D47836467

fbshipit-source-id: 4bf76e428a505a5182bb8d5a8608cae9c12e426e
2023-07-28 01:54:03 -07:00
generatedunixname89002005306973
6962289ad9 Flipper Release: v0.208.0
Summary: Releasing version 0.208.0

Reviewed By: aigoncharov

Differential Revision: D47791662

fbshipit-source-id: 9a93f9d49c0fa9a3e1598e3f00f988a94cc1eea0
2023-07-26 04:32:34 -07:00
Luke De Feo
b47c88f2b5 Analytics for target mode
Reviewed By: antonk52

Differential Revision: D47757367

fbshipit-source-id: f6ce53a1edc3095a488097e304d3774b0702185b
2023-07-26 04:24:54 -07:00
Luke De Feo
c1a99a8a52 ONly show framework event monitoring where there are events
Reviewed By: antonk52

Differential Revision: D47757004

fbshipit-source-id: 44e0e6aff0213d3bf684652906abae28777cfe9e
2023-07-26 04:24:54 -07:00
Luke De Feo
f854e9f3f3 rename controls to tree controls and consistent button style
Reviewed By: mweststrate

Differential Revision: D47672437

fbshipit-source-id: 5ce237cfd300a481450411a0242410e01bcc5411
2023-07-26 03:22:38 -07:00
Luke De Feo
ab84bb9bad Add visualiser controls + target mode
Summary:
Now that we have panels for tree visualiser separately we can have visualiser specific controls. There is a dedicated button for focus mode which should make that more discoverable and a better implementation of target mode which uses a slider. This has several benefits:
1. more discoverable
2. more obvious what is going on with the text prompts and a real slider control instead of mouse enter
3. there is no context menu getting in the way of the content

Changelog: UIDebugger Add visualizer target mode feature for selecting views in the z stack easily
Changelog: UIDebugger Add FocusMode button to visualiser toolbar

Reviewed By: mweststrate

Differential Revision: D47671658

fbshipit-source-id: 6f657f9d417280627457624660b934c9898cda58
2023-07-26 03:22:38 -07:00
Luke De Feo
8adf153380 Remove visualizer context menu
Summary: This isnt very discoverable and we can put functionality in the toolbar

Reviewed By: mweststrate

Differential Revision: D47670683

fbshipit-source-id: 8426ba05135f9a56f0a0952e94ac80480cd30a48
2023-07-26 03:22:38 -07:00
Luke De Feo
bf74877ff5 Move visualiser into folder pre split
Reviewed By: mweststrate

Differential Revision: D47664272

fbshipit-source-id: 7cc22b272b9298837d45976996d0197d5e5550f0
2023-07-26 03:22:38 -07:00
Luke De Feo
272d2d2106 Redesign Split Tree and visualiser into panels
Summary: This looks a lot neater and allows us to have separate dedicated visualiser header

Reviewed By: mweststrate

Differential Revision: D47626867

fbshipit-source-id: 843721853e0ff88837afbb9bf3f510a908160d12
2023-07-26 03:22:38 -07:00
Luke De Feo
0e15dce033 New Tree design
Summary:
1. Add indent guidess to all tree depths
2. Monospaced font
3. cleaned up alignment of icons
4. Gave everything a bit more space to breathe

Changelog: UI Debugger Tree UI refresh, added indent guides and fixed alignment

Reviewed By: mweststrate

Differential Revision: D47626869

fbshipit-source-id: e4509621cda6c254f7dd5a7ec9b99c13efb577f4
2023-07-26 03:22:38 -07:00
Luke De Feo
3891a5d61b Introduce selection for elements in z stack aka target mode
Summary:
The old layout plugins target mode would ask you which view you wanted to select when you clicked, the visualiser currently chooses for you based on size of the element.

Sometimes this isnt what you want so I have added a context menu with all the intersecting nodes from which you can select or focus

Reviewed By: lblasa

Differential Revision: D47589789

fbshipit-source-id: 9c9d0d7587b830aa72089267d9bcf2b687142574
2023-07-26 03:22:38 -07:00
Michel Weststrate
e7ac579d1c Fix exception initial databaseList request failed: T.sort is not a function
Summary: Exception showed up in our monitoring. The only `.sort` that happens in that request/response sequence is the one updated. Didn't get to the root of this, but likely the plugin returns nothing rather than an empty array when no databases present?

Reviewed By: LukeDefeo

Differential Revision: D47665268

fbshipit-source-id: 3f8dea591db3e6cb5d4e0d09f893a177ad4f642e
2023-07-24 07:46:34 -07:00
Luke De Feo
8f857dc1c5 Fixed bug where visualizer not working after using focus more in visualiser context menu
Summary:
I introduced this to stop the visualiser going off while the framework events modal was open. However on mouse leave fires when the context menu is open. and if you click to focus then it never refires.

Also renamed the ref to make it clearer

Reviewed By: lblasa

Differential Revision: D47550672

fbshipit-source-id: 62e108e55e5c42a37d3aebded6467ececdc458df
2023-07-21 07:17:31 -07:00
Luke De Feo
f6dcaa2143 Selection interaction from overlay
Summary:
Previously we were registering a click handler with every single div in the visualiser. This is somewhat wasteful as well as was causing issues since i needed to call stop propagation to prevent the click bubbling and selecting all the parents too.

as a result of stop propagation the context menu behaviour was weird, when left clicking elsewhere to close the context menu it wouldnt work as the click was swallowed by the click handlers for the nodes.

Now we have a much simpler system. The hovered overlay is the click handler. Thats it.

Another benefit of this is the visualisation nodes under the overlays are all interaction less so they can be moved to canvas one day if need be

Reviewed By: lblasa

Differential Revision: D47550673

fbshipit-source-id: 1a607059c68f0b936f0184bd98a6a1492703d41b
2023-07-21 07:17:31 -07:00
Luke De Feo
6faccc4889 UIDRefactor 8/n rename tree types
Summary: The previous names made no sense after they drifted over time

Reviewed By: lblasa

Differential Revision: D47550916

fbshipit-source-id: fa7df17b090c52b68ab4af9388d87365da6e8ff3
2023-07-21 07:17:31 -07:00