Commit Graph

2939 Commits

Author SHA1 Message Date
Luke De Feo
d93c9d45a9 Ability to highlight nodes that match monitored event
Summary:
Listen to framework events and store in a map based on node id

Added UI to allow for monitoring framework event types.

The event type is a string separated by : Each segment of this string represents a level in the dialog hierachy. For example Litho:Layout:StateUpdateSync  would have levels, Litho Layout StateUpdateSync

When event type monitored and event comes in for a node flash the visualiser node briefly

Reviewed By: lblasa

Differential Revision: D42074988

fbshipit-source-id: 52458ad87ab84bf7b1749e87be516ed73106a6c0
2023-02-06 04:33:11 -08:00
Luke De Feo
d3df6bc00e Attempt to render txid as date if possible
Summary: We are using frame time on android so make sense to present it

Reviewed By: lblasa

Differential Revision: D42996555

fbshipit-source-id: 595a08571ccd82de0761cfeea8a204e576981ee0
2023-02-06 04:33:11 -08:00
generatedunixname89002005306973
c3588417bd Flipper Release: v0.178.1
Summary: Releasing version 0.178.1

Reviewed By: mweststrate

Differential Revision: D42990168

fbshipit-source-id: 14306a45ef95facf37a4f3207cc3b8cc5a1a4da9
2023-02-06 02:49:30 -08:00
Lorenzo Blasa
4e21a67903 Better offset
Summary: For deep nested hierarchies, the current offset was too big making the hierarchy almost un-browsable. The current offset seems to work better.

Reviewed By: LukeDefeo

Differential Revision: D42996296

fbshipit-source-id: 808a2ecc32aff2d8d252bdb9f653344866e5653b
2023-02-03 08:37:33 -08:00
Lorenzo Blasa
dacc6ebb16 Feedback request
Summary:
^

Only for iOS this time.

Note: passing the device OS freely to the main component as this is just temporary code that will be deleted soon.

Reviewed By: antonk52

Differential Revision: D42990221

fbshipit-source-id: 41b4107caa6bf312191889af75afd28873f6eda5
2023-02-03 07:43:00 -08:00
Luke De Feo
df9b0a6aa6 Use react query to cache myles query
Summary: The call to myles was a little slow and very cachable so use react query. Additionally it depends on VPN / light so added an error state to make that clear.

Reviewed By: lblasa

Differential Revision: D42990344

fbshipit-source-id: 8d6ad20aea79f1972a7cf1f61f8af729e5f3464f
2023-02-03 04:38:51 -08:00
Luke De Feo
64a6c651e7 Quieten some error logging
Reviewed By: mweststrate

Differential Revision: D42603959

fbshipit-source-id: 52527e3799ed1bbb870466648de13c36cb1f6722
2023-02-03 04:06:40 -08:00
Lorenzo Blasa
7cc8e3732c Advertise UI Debugger for iOS
Summary:
^

If the connected device was not an Android device, we were not showing the notification. This change removes that check to also advertise on iOS.

Reviewed By: mweststrate

Differential Revision: D42989975

fbshipit-source-id: eac8d588be789dcab281a746395a4fb7a88df790
2023-02-03 04:01:23 -08:00
kongxiaojun
e2867a74a7 Fixed a bug where the screenshot of some Android phones was unavailable (#4366)
Summary:
The 'screenrecord' command is not in some Android phones e.g OPPO. So 'screenrecord' command can't be used as a basis for determining whether or not you can take a screenshot. Replace it with 'screencap' command  to determine whether you can take a screenshot.

## Changelog

Fixed a bug where the screenshot of some Android phones was unavailable

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

Test Plan: It passed the test on my Mac and OPPO phone Reno2.

Reviewed By: ivanmisuno

Differential Revision: D42918902

Pulled By: passy

fbshipit-source-id: c1f02f075817d90e0d447f466a1168b6ec932e4e
2023-02-02 08:17:33 -08:00
generatedunixname89002005306973
44451a3749 Flipper Release: v0.178.0
Summary: Releasing version 0.178.0

Reviewed By: lblasa

Differential Revision: D42918309

fbshipit-source-id: c1b7c9fa6088e71109cb998a460d472664d2c191
2023-02-02 04:46:35 -08:00
Pascal Hartig
bc0bdcb32f Remove client id from error
Summary: Ideally, this wouldn't fire at all as it's a timeout but removing the ID will at least allow de-duplication.

Reviewed By: ivanmisuno

Differential Revision: D42800581

fbshipit-source-id: 605f2e81c326a3203c72b253362cb0b27139a134
2023-01-30 06:33:15 -08:00
Pascal Hartig
7d58037ad6 Improve errors around screen capture
Summary:
Tasks like T143443148 pop up frequently and are inactionable. This is usually due to device flakiness, storage being full, incompatibility or configuration problems.

Start and stop were also copy-pasted to make matters worse.

Reviewed By: ivanmisuno

Differential Revision: D42800489

fbshipit-source-id: 11caaa4133e4fa1d773364a6ba4e5f5bb0d2f2ce
2023-01-30 03:18:19 -08:00
Pascal Hartig
18b6ce6f24 Dep bump
Summary: Combining a bunch of individual tasks for dep upgrades into one diff.

Reviewed By: ivanmisuno

Differential Revision: D42706074

fbshipit-source-id: 054b2545ad1295699f47f4c6eb5065b7b9a1d6a0
2023-01-25 04:35:09 -08:00
Pasquale Anatriello
b31f8c8755 Delete Litho timeMachine
Summary:
This plugin is rarely used and would need to be re-worked to work in a world where ComponentTree is not the only way of rendering a Litho hierarchy.
Deleting for now for simplicity

Reviewed By: adityasharat, passy

Differential Revision: D42573698

fbshipit-source-id: 0d9cd713b668e6fc79cd5cddcdcb9f24ed98f927
2023-01-20 10:19:06 -08:00
Lorenzo Blasa
92ac6988d5 Attributes inspector style improvements
Summary:
- Vertically center values
- Add gutter between rows/cols
- Tryout the removal of the indentation border (it could either be removed in the future or brought back)

Reviewed By: antonk52

Differential Revision: D42581663

fbshipit-source-id: cd682adca7f76f80240a0ca6d9023368a33453c3
2023-01-19 05:05:49 -08:00
generatedunixname89002005306973
61a9b14401 Flipper Release: v0.177.0
Summary: Releasing version 0.177.0

Reviewed By: lblasa

Differential Revision: D42530047

fbshipit-source-id: 477eb81e2fcab0d7ace9701b098483d3349c904a
2023-01-16 06:32:36 -08:00
Lorenzo Blasa
49403df95f Remove survey banner
Summary:
^

Not removing the component, yet, as we may re-introduce the survey once we officially release on iOS.

Reviewed By: antonk52

Differential Revision: D42499399

fbshipit-source-id: 596ebda7acf39c0b8377bbd3a1a8f4dfa81e59a4
2023-01-13 07:36:20 -08:00
Lorenzo Blasa
f007da93d3 Show the banner only once per day
Summary: ^

Reviewed By: jknoxville

Differential Revision: D42499338

fbshipit-source-id: 85c1edc676d00a1e442c5490575f8a14465d5a4f
2023-01-13 07:36:20 -08:00
Anton Nikolaev
45770eeff4 Small wording fix regarding support of iOS for Navigation plugin
Summary: There is no support of navigation plugin outside of Meta and it is not planned, so it's better to state directly in open-source docs instead of saying "Coming soon".

Reviewed By: lblasa

Differential Revision: D42370752

fbshipit-source-id: 23d6400ab7374877a0b13ae3b9c79fcb584763db
2023-01-06 09:29:44 -08:00
Luke De Feo
0a693f710e Plugin RPC errors should not cause crash report
Summary:
This code path is when a send results in an error being returned from the client.  We reject the promise but also raise an error on the message bus.

There is a handler for this 'error' event that is raised that is over zelous and reports a crash to the crash reporter. This should not happen

Reviewed By: lblasa

Differential Revision: D42385292

fbshipit-source-id: f668a396b0d266ee9d1c7c1ca740e7bb5ae9608a
2023-01-06 06:15:44 -08:00
Raahul Natarrajan
ec8d34d556 Create VR Call Hub Flipper plugin
Summary: As part of BE, this diff creates the initial Flipper plugin for VR Call Hub using `scarf flipper-plugin` from the tutorial https://www.internalfb.com/intern/staticdocs/flipper/docs/tutorial/intro/

Differential Revision: D42146201

fbshipit-source-id: 8bc52184b21b2e47304f694068d11fd962b07b9d
2022-12-19 14:06:03 -08:00
Luke De Feo
edf7dd1b8f Add entire node to raw data
Reviewed By: lblasa

Differential Revision: D41612115

fbshipit-source-id: a89dc1b3c994435afa9b85f6681df73f637c3f3f
2022-12-19 09:20:27 -08:00
Luke De Feo
989797a225 Dynamic scaling of visualizer and resizable window
Summary: Fixes https://fb.workplace.com/groups/443457641253219/permalink/480446154221034/

Reviewed By: mweststrate

Differential Revision: D42095625

fbshipit-source-id: 364577141f2819dd22b0b499b11770d0bb88b1f5
2022-12-16 03:47:58 -08:00
dependabot[bot]
a498baf1c3 Bump tslib from 2.3.1 to 2.4.1 in /desktop (#4346)
Summary:
Bumps [tslib](https://github.com/Microsoft/tslib) from 2.3.1 to 2.4.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/Microsoft/tslib/releases">tslib's releases</a>.</em></p>
<blockquote>
<h2>tslib 2.4.1</h2>
<p>This release contains <a href="https://github-redirect.dependabot.com/microsoft/tslib/pull/186">fixes for early <code>return</code>s and <code>throw</code>s invoked on generators</a>.</p>
<h2>tslib 2.4.0</h2>
<p>This release includes the <code>__classPrivateFieldIn</code> helper as well as an update to <code>__createBinding</code> to reduce indirection between multiple re-exports.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="8acd4b30d3"><code>8acd4b3</code></a> Bump version to 2.4.1.</li>
<li><a href="5f7365ee1c"><code>5f7365e</code></a> Remove extra line in generator.md</li>
<li><a href="b1d38ee117"><code>b1d38ee</code></a> Fix early call to return/throw on generator (<a href="https://github-redirect.dependabot.com/Microsoft/tslib/issues/186">https://github.com/facebook/flipper/issues/186</a>)</li>
<li><a href="4e27e9fc6e"><code>4e27e9f</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/Microsoft/tslib/issues/181">https://github.com/facebook/flipper/issues/181</a> from microsoft/users/GitHubPolicyService/201dd6b7-4ca...</li>
<li><a href="7af3973ab3"><code>7af3973</code></a> Microsoft mandatory file</li>
<li><a href="5bfaf87d1d"><code>5bfaf87</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/Microsoft/tslib/issues/172">https://github.com/facebook/flipper/issues/172</a> from microsoft/add-test-vite</li>
<li><a href="a7129c7bd5"><code>a7129c7</code></a> Update bower.json</li>
<li><a href="5b7da89bf0"><code>5b7da89</code></a> Update package.json</li>
<li><a href="f5417485cf"><code>f541748</code></a> Drop node@10 from test matrix, add node@16</li>
<li><a href="8860d619ff"><code>8860d61</code></a> Add a test for vite</li>
<li>Additional commits viewable in <a href="https://github.com/Microsoft/tslib/compare/2.3.1...2.4.1">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tslib&package-manager=npm_and_yarn&previous-version=2.3.1&new-version=2.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

 ---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

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

Reviewed By: antonk52

Differential Revision: D41578593

Pulled By: mweststrate

fbshipit-source-id: 82a3794ac67e58740e5a06135bacf7f013ff1338
2022-12-16 02:39:49 -08:00
Dallas Gutauckis
10d7c288f5 Adding Brotli compression support (#4288)
Summary:
Closes https://github.com/facebook/flipper/issues/2578

Adds Brotli compression support for br-encoded endpoints

## Changelog

 - Brotli compression support

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

Test Plan:
Confirmed `content-encoding` had `br` for Brotli and that the response text post-decompression was parsed properly:

![image](https://user-images.githubusercontent.com/117083/199068874-1577577f-2d2f-4687-a3d8-aa41a032ab32.png)
![image](https://user-images.githubusercontent.com/117083/199069109-8564ea03-99db-4c8a-9dbc-4d007fe38f5b.png)

A note for reviewer(s) is that I am by no means a javascript/typescript/yarn/npm/electron/etc developer, so please please make sure I did things properly and let me know what to fix, how, why it's wrong. Thanks!

Reviewed By: antonk52

Differential Revision: D41444623

Pulled By: mweststrate

fbshipit-source-id: ac4e84b4501c67a4b89163c20c63de1be14d6cef
2022-12-16 02:39:49 -08:00
Luke De Feo
a4525790a2 Revert always root snapshot
Summary: this assumption doesnt hold true for android as the snapshot is of the decor view and app bounds include the status bar / bottom bar

Reviewed By: elboman

Differential Revision: D42035810

fbshipit-source-id: 177b5d086487a940e0bdbe20c2a001c420a08d69
2022-12-14 08:41:23 -08:00
Luke De Feo
12c1fdf952 Trim last indent guide
Summary: Changelog: UIDebugger: Reimplemented Tree, inline attributes, faster performance and added indent guides

Reviewed By: lblasa

Differential Revision: D42031069

fbshipit-source-id: f1394ca528005e645760ea38cb5c4c805d122a4b
2022-12-14 08:38:58 -08:00
Lorenzo Blasa
dc25a698d5 Snapshot to root of tree instead of root of subtree
Summary: ^

Reviewed By: LukeDefeo

Differential Revision: D42002750

fbshipit-source-id: 66639d9f55aa850d4be83adee440489cba78d321
2022-12-13 13:26:18 -08:00
Lorenzo Blasa
d66b513298 Add CK and iOS tags
Summary: ^

Reviewed By: LukeDefeo

Differential Revision: D41876581

fbshipit-source-id: 79b98a06abb503f4cd39a61a2ed90e7899b8fd68
2022-12-13 10:02:05 -08:00
Luke De Feo
b686567e2b Added indent guides to parent and children for selected node
Reviewed By: lblasa

Differential Revision: D41995460

fbshipit-source-id: cd4574caa6aa164d2b3a026f656609585cae65c0
2022-12-13 08:21:22 -08:00
Luke De Feo
5043e5292f Last minute tree changes
Summary:
1. Greater spacing between levels
2. Align children when one has chevron and another doesnt
3. Allow searching of inline attribute values

Reviewed By: lblasa

Differential Revision: D41955235

fbshipit-source-id: aa6bce71810a32cd218db790287aaaf506df75b7
2022-12-12 09:17:03 -08:00
generatedunixname89002005306973
69db826792 Flipper Release: v0.176.1
Summary: Releasing version 0.176.1

Reviewed By: aigoncharov

Differential Revision: D41946576

fbshipit-source-id: 5b1930fed4157f30d77b850c499a427842d9ad23
2022-12-12 08:09:50 -08:00
Luke De Feo
8242a94ca4 Rename tree
Reviewed By: lblasa

Differential Revision: D41875028

fbshipit-source-id: a3afd0014798f03cbaefac3f9128b4e92bccb290
2022-12-12 07:28:37 -08:00
Luke De Feo
74247ee721 Remove react complex tree
Reviewed By: lblasa

Differential Revision: D41875029

fbshipit-source-id: 2af58610fe0d0f644aa8450a4210fd52f8ed4db6
2022-12-12 07:28:37 -08:00
Luke De Feo
ed35623bef Only render a single context menu for the entire tree
Summary: There is no reason to have a context menu rendered by react for each item in the tree, its pretty wastefull. It also means less props drilled to the tree node

Reviewed By: lblasa

Differential Revision: D41872778

fbshipit-source-id: b13491a310c03334d7f3056207f5de23d20c3e61
2022-12-12 07:28:37 -08:00
Luke De Feo
040240ec34 Tree2 feedback
Summary:
1. only useValue from tree root
2. Pass down props for ui state  instead subscribing ad hoc
3. Pass down callbacks, instead of updating atoms ad hoc.
4. Create ui actions object holding api, will use this later on in the vizualizer as some of the same

In general its more verbose but with memoizing perf should be fine should hopefully be easier to reason about components and what they can do as things are more explicit

Hopefully this serves as a general template for how to organise the react code going forward

Reviewed By: lblasa

Differential Revision: D41872490

fbshipit-source-id: 94a33b0e951c04df367ba102fa0a097d4a0389cd
2022-12-12 07:28:37 -08:00
Luke De Feo
1a9724d790 Added inline tree attributes
Summary:
This is temporary solution to get to parity with the old plugin. In future would like to make this more flexible on the desktop side

Additionally getData was renamed to getAttributes for consistency

Reviewed By: lblasa

Differential Revision: D41845248

fbshipit-source-id: 50e94a7712f5d42938229134e212cef5d379475d
2022-12-12 07:28:37 -08:00
Luke De Feo
fc43580134 Memoize tree nodes
Reviewed By: antonk52

Differential Revision: D41838164

fbshipit-source-id: 3184f4ee607f0dd47604265fc259480403c083f0
2022-12-12 07:28:37 -08:00
Luke De Feo
0db0afec21 Fix 'focus undefined' in viz context menu
Reviewed By: antonk52

Differential Revision: D41838173

fbshipit-source-id: 01019614362a1c5154e920faa1a4b6aee83f88c3
2022-12-12 07:28:37 -08:00
Luke De Feo
65d6089ed2 Added context menu and focus mode
Reviewed By: antonk52

Differential Revision: D41838172

fbshipit-source-id: 7c5fad5a7520cea5f0dbabb9f99ef436ad87ec60
2022-12-12 07:28:37 -08:00
Luke De Feo
88e2bb7607 Fix order of items
Reviewed By: lawrencelomax

Differential Revision: D41838169

fbshipit-source-id: 2cc82eb1d50552de5f7970b61f6375d6ff8985fd
2022-12-12 07:28:37 -08:00
Luke De Feo
8784691e62 If no children dont show chevron
Reviewed By: lawrencelomax

Differential Revision: D41809088

fbshipit-source-id: 7f4bef5390561671cc53a12be8aa99ea5efe228c
2022-12-12 07:28:37 -08:00
Luke De Feo
0e51914e9e Made kb controls scroll friendly
Reviewed By: antonk52

Differential Revision: D41838167

fbshipit-source-id: fb32941ed750fa22797586bab8da39880131eac9
2022-12-12 07:28:37 -08:00
Luke De Feo
2692476647 Added scroll into view when when node selected
Reviewed By: lblasa

Differential Revision: D41838165

fbshipit-source-id: 4b135f9bfaf3ac0dd536ab7250a22dc4e739aed6
2022-12-12 07:28:37 -08:00
Luke De Feo
d61f36a0d2 Added basic kb controls to tree
Reviewed By: lawrencelomax

Differential Revision: D41838171

fbshipit-source-id: 1e89c689b2c371f870b1a3f1c7dd8c611426195a
2022-12-12 07:28:37 -08:00
Luke De Feo
a2ce6d5aac Added fast hover to tree
Summary: While moving mouse and changing hover state react render is under 1ms due to subscribing to state rather than passing hover as prop to all components

Reviewed By: lblasa

Differential Revision: D41838168

fbshipit-source-id: c9b3334adc44df5018e0a785684a2883aeb3bab1
2022-12-12 07:28:37 -08:00
Luke De Feo
2bdb068531 Added chevon icon when expanding / collapsing
Reviewed By: lblasa

Differential Revision: D41838170

fbshipit-source-id: f04438d77445736e45e29e2c46e9e8f8dd0906a8
2022-12-12 07:28:37 -08:00
Luke De Feo
a6544489f3 Basic new tree implemenation
Summary: The old implementation would always rerender on every operation (select, hover etc) and was quite slow for large hierachies

Reviewed By: lblasa

Differential Revision: D41838166

fbshipit-source-id: 1270841027926440a9c1f1a846d3aedc75ffe8bf
2022-12-12 07:28:37 -08:00
Andrey Goncharov
3fc319ea36 Fix rebuilding plugins with intern references in dev mode when started as flipper-server
Summary: require.resolve conflicts with require monkey patch in flipper-server

Reviewed By: mweststrate

Differential Revision: D41917678

fbshipit-source-id: 3bcd35ec4090cda85c372f23d6f8d0bcd9e7c74d
2022-12-12 05:46:01 -08:00
Andrey Goncharov
10e415655c Fix table flickering without hiding content
Summary:
Followup of D39772453 (2437aeb3e9)
Fixes https://fb.workplace.com/groups/flippersupport/permalink/1518236858656967/

1. Stop using clientWidth and offsetWidth because they have rounding errors
2. Since step 1 did not resolve the issue entirely (for some weird reason I do not really have the capacity now to investigate - my bet it is a rounding error when you sum up doubles) set offset of the table to "scroll" instead of "auto". As a result, it starts rendering space for the scrollbars all the time, but since Flipper is a dev tool it should be fine

Reviewed By: antonk52

Differential Revision: D41839402

fbshipit-source-id: cf50eb1600b692d3970003fd1b45b953ee45e3df
2022-12-09 04:06:58 -08:00