Summary:
the glyph isnt working and need to get it fixed asap
changelog: UIDebugger fix icon for litho event timeline tab
Reviewed By: ivanmisuno
Differential Revision: D49780805
fbshipit-source-id: 832746237a43552171cd8e0bd3063318159279dd
Summary:
The run through indexes could be cut off when they were elements that touched the left edge of the screen.
If label was complete obscured when it was on the top left
Also index 0 was missing
changelog: UIDebugger: improvements to iOS Accessibility mode
Reviewed By: zats
Differential Revision: D49704398
fbshipit-source-id: cb069857a9175f2c1a8157f41fe6d83fb96f795d
Summary:
There has been multiple requests to incorporate an export to plain text functionality for a while.
This diff adds it.
It will export a node and optionally its chidren as JSON.
Reviewed By: antonk52
Differential Revision: D49596476
fbshipit-source-id: 3681bc0c2d02e1ea64ff589e0e272f6d54ad0524
Summary:
Should be more discoverable
changelog: UIDebugger accessibility mode for iOS launched, look for icon to the right of the search bar
Reviewed By: zats
Differential Revision: D49547952
fbshipit-source-id: 3befdffedb34907d9824bb66b86e20fd4a1a42ff
Summary: Log views were being generated, this seems like a reasonable solution.
Reviewed By: zats
Differential Revision: D49547368
fbshipit-source-id: 575dd81a7c9b9a831d1dfb46088c2f5e1d731f22
Summary:
1. makes it easier to tellwhen a parent and child hightlight together
2. Longer times means you have more time to click it and see
changelog: UIDebugger event debugger - increased highlight time. Nodes get random highlight color
Reviewed By: lblasa
Differential Revision: D49501954
fbshipit-source-id: 9456c00e0df77c40934eb95b4b48b566c7715181
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
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
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
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
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
Summary: The `visible` prop is marked as deprecated in favour of `open`
Reviewed By: passy
Differential Revision: D49226821
fbshipit-source-id: 4a4a7d03a1c8ff860c4e4cd02e19071185a8554e
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
Summary: Apply suggestion from D48605129 to have access to "modern" `replaceAll`.
Reviewed By: lblasa
Differential Revision: D48642120
fbshipit-source-id: 1e273fe5590e7b4a48c9176ef5f1afdab688b7d6
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
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
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
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
Summary: Use the visualiser as a reference for the event table
Reviewed By: antonk52
Differential Revision: D48562105
fbshipit-source-id: 8707efdcb0631e9716dd0a06e01518480ca2edc1
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
Summary: This lets you debug when events go off screen
Reviewed By: lblasa
Differential Revision: D48395787
fbshipit-source-id: 51a6eb74fa0f61c34f25e86a6ee40bf5969379ee
Summary: Lets you filter a nodes events by thread or type
Reviewed By: lblasa
Differential Revision: D48346955
fbshipit-source-id: 455d65ad21c54c5ad26782ac6a446f7ae15a4356
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