Commit Graph

905 Commits

Author SHA1 Message Date
Sash Zats
60364eadca Add runthrough index for accessibility mode
Summary:
In accessibility mode it is important to be visually aware of the order of the elements on the screen aside from the list on the left

To enable this let's show the indices on the elements
Voice over assumes single continuous list of objects so it is okay to pass index of children we should never have nested lists in accessibility mode

Reviewed By: lblasa

Differential Revision: D49440400

fbshipit-source-id: e6878b4b33952053823451ad76993259f0794067
2023-09-20 11:37:12 -07:00
Sash Zats
1c3720fd5c Add ui-debugger modes
Summary:
## This diff: Add debugger mode infrastructure

We want to enable infrastructure allowing adding modes in the future without branching client and plugin code

This infra allows for the client to send a message informing flipper about the supported modes (following diffs)

Currently broadcasting mode change event over to the client

Reviewed By: lblasa

Differential Revision: D49385860

fbshipit-source-id: 2db6f65064d1ff7e1f57b2da93c3ed195400fb7f
2023-09-20 11:37:12 -07:00
Luke De Feo
a033f96725 Add support for warnings from client
Summary:
THis is useful for bloks where fliper needs to be open before hand,

We might also be able to replace some of the annoying notification bubles with these sleeker inline warnings

Reviewed By: lblasa

Differential Revision: D49454977

fbshipit-source-id: fca4fbd3258a68d93c75655cfff247adfa3e6bb2
2023-09-20 05:43:49 -07:00
generatedunixname89002005306973
b06272344b Flipper Release: v0.220.0
Summary: Releasing version 0.220.0

Reviewed By: lblasa

Differential Revision: D49375501

fbshipit-source-id: 5efe6e1c47d566f0c8b1409cf14fa302fc4178d8
2023-09-18 11:49:40 -07:00
generatedunixname89002005306973
643e2aa998 Flipper Release: v0.219.0
Summary: Releasing version 0.219.0

Reviewed By: lblasa

Differential Revision: D49317332

fbshipit-source-id: 0f8dc308fcf8360925cddb95b0fa975b04b86a29
2023-09-15 07:26:57 -07:00
Luke De Feo
237faddb40 Fix crash for bloks sidebar
Summary: Bloks ios is serializing some ns dictionary without registering the metadata, this means the look up fails. That said regsitering metadata for dictionarys where the keyspace is unbounded doesnt make any sense so for this case we can just fall back to the key as the name. Since we can rely on the id lookup passing we iterarates the enties of the object

Reviewed By: passy, ivanmisuno

Differential Revision: D49314398

fbshipit-source-id: 65f7beb0d8402b08a68b9f00b7605e0b6c44766f
2023-09-15 04:05:43 -07:00
Luke De Feo
21b4423231 Refactor stream inteceptor
Summary:
There was a frustrating issue previously where the UI would jump everytime a new frame came in with bloks data. This would occur constantly as the client was generating new frames every 10 seconds. The issue was because the previous appraoch to speed up the augmentation was to display the raw client raw and then asynchronously process a new frame with the added derived components.

The issue was the raw client frame has less nodes so we would breifly display this, and because the reduciton trace was cache on the next tick we would show this causing a jump.

Now we have a new solution:

1. We use an event emitter to push frames / metadata into the interceptor
2. The interceptor should always produce 1 frame, this can be the same or augmented, for open source its just the same
3. We use react query to check if we already have the reduction trace cached, if so then we are able to quickly process the whole thing, if not its split into 2 parts.

React query is also nice since we can add a cache time for the reduciton traces which are very large and not useful one your screen is gone. This should help keep memory usage under control a bit.

one other benefit to this approach is i can remove the error handling stuff from the main plugin code, since the blok augmentation is not on the critical path and it can retry internally and push out a new frame whenever.

Reviewed By: antonk52

Differential Revision: D49272152

fbshipit-source-id: e5539d36231a32754e8612014195449b9faafdb1
2023-09-15 04:05:43 -07:00
generatedunixname89002005306973
e369fac36b Flipper Release: v0.218.0
Summary: Releasing version 0.218.0

Reviewed By: lblasa

Differential Revision: D49274241

fbshipit-source-id: 9f658704183200175a105327e42bd4ef5567e37a
2023-09-14 09:25:32 -07:00
generatedunixname89002005306973
879c57fb34 Flipper Release: v0.217.0
Summary: Releasing version 0.217.0

Reviewed By: lblasa

Differential Revision: D49227620

fbshipit-source-id: ac587ecb7f4821d55d123f99c16336e74e276fd4
2023-09-13 06:56:59 -07:00
Lorenzo Blasa
e80843d433 Modal visible -> open
Summary: The `visible` prop is marked as deprecated in favour of `open`

Reviewed By: passy

Differential Revision: D49226821

fbshipit-source-id: 4a4a7d03a1c8ff860c4e4cd02e19071185a8554e
2023-09-13 05:19:13 -07:00
generatedunixname89002005306973
21a61119ba Flipper Release: v0.216.0
Summary: Releasing version 0.216.0

Reviewed By: mweststrate

Differential Revision: D49006715

fbshipit-source-id: 3fedc1c62d9eee8d810eddc681de3a7f490b7a9d
2023-09-06 06:34:16 -07:00
Luke De Feo
aab84d3fb9 Use new antd apis for framework events
Summary: No more warnings.

Reviewed By: antonk52

Differential Revision: D48964070

fbshipit-source-id: 4f9b9affb04b8bc355b0687c9bc9c7273e469d78
2023-09-05 10:01:17 -07:00
Anton Kastritskiy
4439411d29 bump or ignore types packages
Reviewed By: LukeDefeo

Differential Revision: D48782825

fbshipit-source-id: 00c46fa609847272b48f8f4476291666e9251c95
2023-09-04 14:52:34 -07:00
Luke De Feo
8d0f3b2967 Use new drop down api for wireframe mode
Reviewed By: lblasa

Differential Revision: D48910673

fbshipit-source-id: 74a1ca0fc096d4619d281a2ed4175c5d90e551a4
2023-09-04 02:19:53 -07:00
Luke De Feo
b336ed38fa Update context menu for new ant design api
Summary:
Mostly mechanical change from jsx to object based api. However some changes:

1. Managed to get rid of UIDebugger context menu item. its now possible to listen to when any context menu is clicked

2. The construction code is cleaner. no more mutable arrary and pushing, its just a big spliced literal

3. Had to change how the ide function worked. It is  dynamic and used react query hook to update the number of items. Added a callback to recreate this behaviour.

Reviewed By: aigoncharov

Differential Revision: D48910165

fbshipit-source-id: 9a71f5ecd302e6ff72194f83a13839f78e9b0796
2023-09-04 02:19:53 -07:00
generatedunixname89002005306973
b30449af40 Flipper Release: v0.215.1
Summary: Releasing version 0.215.1

Reviewed By: aigoncharov

Differential Revision: D48911165

fbshipit-source-id: 1ca438b9c49c5cfb707b603f42d5b6fc8fb140b7
2023-09-01 11:16:02 -07:00
generatedunixname89002005306973
20ecc02c79 Flipper Release: v0.215.0
Summary: Releasing version 0.215.0

Reviewed By: lblasa

Differential Revision: D48865068

fbshipit-source-id: a6e37bdc5790e0e1de64c2b467f02df9ec18bfd6
2023-08-31 06:35:49 -07:00
generatedunixname89002005306973
43db3d561d Flipper Release: v0.214.0
Summary: Releasing version 0.214.0

Reviewed By: lblasa

Differential Revision: D48834386

fbshipit-source-id: 74c46a0b57ae6dbf1a17fd7b9d958709868ee13a
2023-08-30 13:29:50 -07:00
Pascal Hartig
072d618681 Use String.prototype.replaceAll in sourcemap removal script
Summary: Apply suggestion from D48605129 to have access to "modern" `replaceAll`.

Reviewed By: lblasa

Differential Revision: D48642120

fbshipit-source-id: 1e273fe5590e7b4a48c9176ef5f1afdab688b7d6
2023-08-30 09:14:07 -07:00
Andrey Goncharov
c091067902 Update antd
Summary:
Project doc: https://docs.google.com/document/d/1miofxds9DJgWScj0zFyBbdpRH5Rj0T9FqiCapof5-vU

Required to get `Space.Compact`

allow-large-files

Reviewed By: passy

Differential Revision: D48520383

fbshipit-source-id: 000a5c16c00541455dc4a31c4fddb2c4c252a89e
2023-08-30 07:26:35 -07:00
Pascal Hartig
7ce86869e4 Build plugins with ES2021
Summary:
Starting small as this will unblock D48642120.

If it works without causing any issues, I'll update the remaining ones.

We're on Node v18 everywhere now, so this should be compatible. According to https://node.green/ that should cover nearly everything.

Reviewed By: lblasa

Differential Revision: D48683680

fbshipit-source-id: 26d2788468b673793b70b6339d1845c1dcf7e05d
2023-08-25 09:43:01 -07:00
generatedunixname89002005306973
27ebbbb951 Flipper Release: v0.213.0
Summary: Releasing version 0.213.0

Reviewed By: lblasa

Differential Revision: D48685726

fbshipit-source-id: 7726ff795d5d3c6609c3dbcaccd38964c6edf4d7
2023-08-25 09:21:17 -07:00
Pascal Hartig
3337c28893 Don't break the build if the reactdevtools patching fails (#5070)
Summary:
[flipper] Don't break the build if the reactdevtools patching fails
There seems to be a bug in yarn workspaces on Windows:

```
Error: Cannot find module 'D:\\a\\flipper\\flipper\\desktop\\plugins\\public\\node_modules\\node_modules\\ts-node\\dist\\bin.js
```

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

Test Plan: Let's see if CI will be happy again.

Reviewed By: lblasa

Differential Revision: D48681388

Pulled By: passy

fbshipit-source-id: d41f21be09c9d060e3c68e36466cfc54b3272325
2023-08-25 04:53:34 -07:00
Luke De Feo
a275235a7c ADd tracking for framework event debugging
Summary: ^

Reviewed By: lblasa

Differential Revision: D48645332

fbshipit-source-id: faf558c592b00a69586970edea407d8997a54699
2023-08-24 08:14:31 -07:00
Pascal Hartig
15271ea911 Fix hyper-annoying importFile.worker.worker.js warning on startup
Summary:
Gets rid of

 {F1074904830}

See D48603710 for some more information.

This patches the bundle which includes the reference to silence the error.

Changelog: No longer show importFile.worker.worker.js warning on startup

Reviewed By: lblasa

Differential Revision: D48605129

fbshipit-source-id: 20dc292191742400c8c390a75b1e53f11630ad5a
2023-08-24 04:28:54 -07:00
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