Summary:
Now when we are simulating device running in VoiceOver mode while showing accessiblity hierarchy in flipper, we are getting correct hierarchy + getting production-like custom actions,
Instagram + Facebook feed is a good example of using accessiblity actions to avoid exposing individual buttons
Reviewed By: lblasa
Differential Revision: D49641875
fbshipit-source-id: 1153ec3bffc7110c4bfe702cbb5a6b729d91b9a3
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:
All the FoA have different logic depending on whether device is running in VoiceOver mode or not. This results in incorrect accessibility being reported through the Flipper plugin.
For example on Instagram we fetch the image descriptions, in Facebook app we group individual elements into the accessibility groups to simplify traversing the screen
This tells device that it is in a voice over mode while inspecting accessibility mode is on meaning that it will be the closest approximation to the
Reviewed By: nscoding
Differential Revision: D49579241
fbshipit-source-id: f3be9057007ee6eefbe3b448f0f97c1fcd2c8f46
Summary: These are quite verbose even when debugging, so remove.
Reviewed By: ivanmisuno
Differential Revision: D49538582
fbshipit-source-id: 089027390a825dde3d3d53b67e3f920f2f1f75f2
Summary: Having default and extra actions at the bottom is not actionable. Users are used to haveing table controls on the top.
Reviewed By: LukeDefeo, aigoncharov
Differential Revision: D49538205
fbshipit-source-id: 724a31dc44de79cb0e09efae48dd2135450b34ae
Summary: There are reports in which kill as is doesn't kill the process. Using the '-9' flag does, so update troubleshoot message.
Reviewed By: LukeDefeo
Differential Revision: D49537427
fbshipit-source-id: a062c92528589cecf0f41e1c344c5d0ae1c3345d
Summary:
Expose an endpoint to retrieve server environment information.
We can use version information and process number to aid engineers with troubleshooting Flipper.
Reviewed By: antonk52
Differential Revision: D49537325
fbshipit-source-id: 511fe4441638f91cd35f13706ceeeb515051416b
Summary: Add an option to archive the server build inside a DMG.
Reviewed By: antonk52
Differential Revision: D49504225
fbshipit-source-id: 3c34e6f0e4c9a685d36771199a6e20394f68baef
Summary: This is the default from Node 17 onwards and should unblock problems we're seeing on some people's machines.
Reviewed By: lblasa
Differential Revision: D49415859
fbshipit-source-id: c15ab82e69db4916838228324a9739c95f3562f3
Summary:
It looks like there are some edge cases when app did not load private accessibility framework (probably if it never set any accessibility values?)
This diff makes calls to accessibility hierarchy safer and ensures to preload framework if available
Reviewed By: lblasa
Differential Revision: D49501064
fbshipit-source-id: b46216b58bf6c9c63f900e199fea035e3262afb2
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: Use the newly exposed HTTP shutdown API. It is simpler.
Reviewed By: antonk52
Differential Revision: D49499264
fbshipit-source-id: 2d81db1d1a66c0b7550ee1245e51d8f1a8671aa6
Summary: Expose the shutdown API via the HTTP server.
Reviewed By: ivanmisuno
Differential Revision: D49496840
fbshipit-source-id: df2045edc89e9feabe74b4b513f973d137323d0f
Summary: these constants are not in the latest release and has broken the build
Reviewed By: adityasharat
Differential Revision: D49455455
fbshipit-source-id: d84b3d214907de197e166130d1c8911a5e0db3c2
Summary:
> "Hi, kids, do you like violence?"
Alrighty, in flipper-frontend-core we have the **base** implmenetation of flipperLib (the thing exposed to the plugins). This base implementation is never used directly by the plugins, rather it is shared code used by the real consumers - flipper-ui-core (regular Flipper with UI) and flipper-server-companion (the thing that allows hosting plugins on the server).
These real consumers actually run the plugins and expose flipperLib to the plugins.
In flipper-ui-core we have a more sophisticated logic of calling the intern graph - we check for VPN connection and authn. Therefore, to expose the same way of handling intern graph requests we **override** intern graph calls provided by flipper-frontend-core.
*Ideally*, we should move checking for VPN connection and authn to flipper-frontend-core, but currently it is a lot of effort for very little gains:
1. flipper-frontend-core does not have a notion of a user
2. Even if we move the authn-related logic there the only real consumer of that effort if flipper-server-companion that is used only by UIQR (which in its turn is barely used in the headless mode and do not require authn-related logic).
Thus, we just override intern graph request on the flipper-ui-core side since it is the simplest and the most impactful thing to do at the moment.
Reviewed By: LukeDefeo
Differential Revision: D49494922
fbshipit-source-id: 6f1d521af7ca5bd50549b7bc328d6b8fcab98389
Summary: In this diff we load and call a private API enabling voiceover hierarchy and pass it over via existing channel when client is in the accessibility mode
Reviewed By: lblasa
Differential Revision: D49393813
fbshipit-source-id: 437af1131547218cd52f4a56797707411787d7cf
Summary:
Make sure mobile client and sonar desktop app keep debugger mode in sync
Desktop client listens to available modes and currently selected mode which is what we use here.
Later we can tweak the logic to try to restore last mode if desktop or mobile clients crash / disconnect etc
Reviewed By: lblasa
Differential Revision: D49384358
fbshipit-source-id: 5bc1f4240253b68a746dfa5feba4b352f4e261a2
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: Give the user something actionable when tree is not ready due to flipper connected check failing
Reviewed By: lblasa
Differential Revision: D49455254
fbshipit-source-id: 8869cacde5b65260f4615f5ba2ba34f967d7d27f
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: Make non-interactive elements non-focusable and disable hover styles for them
Reviewed By: LukeDefeo
Differential Revision: D49455532
fbshipit-source-id: a047e1a149ab4131feef70b80a4995b455441701
Summary: Each search term renderer handles its "editing" state internally now. As a result, we can simplify switch-case
Reviewed By: antonk52
Differential Revision: D49454252
fbshipit-source-id: 297ce73f53772b0112ed338c6aac0583f3807ec8
Summary: For the purposes of the demo I added power search config for a float field to the summary field
Reviewed By: lblasa
Differential Revision: D49452844
fbshipit-source-id: 26aaadd07a1a8a67dfcf3cb9d8e487f8f4ee2214
Summary: For the purposes of the demo I added power search config for an integer field to the summary field
Reviewed By: lblasa
Differential Revision: D49452729
fbshipit-source-id: 78b8fdccfd799a0f71f652d90d10e11db237cbae
Summary:
At the end of the stack we are going to unify two branches of the switch-case in PowerSearchTerm.tsx.
Each search term is going to handle the finalized and "editing" mode internally
Reviewed By: lblasa
Differential Revision: D49451975
fbshipit-source-id: 587ba332d1fbfbaefb368e37965543575e64062f