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
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
Summary:
I created a separate folder under src called facedbook, which
1. isnt synced to github
2. isnt build by gradle
I also needed to exclude the file with the duplicate symbol from buck. I seemed to have to move both the src/facebook and src/main under one buck file to get the exclude to work
Reviewed By: lblasa
Differential Revision: D41612114
fbshipit-source-id: a8386e1b1eabdeca2a800d98d8732b2ca694836b
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 />
[](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
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
Summary:
The diagnostics controller is not the best crafted UIViewController. It has many things that should be improved.
- This diff just sets the background of the root view to white. At least, that will ensure that its text content is always shown if the screen background happens to be black (same as font colour).
- Correct offset calculation, used for scrolling. Effectively, only set it if the content to be displayed no longer fits in the scrollview viewport.
Reviewed By: LukeDefeo
Differential Revision: D41876904
fbshipit-source-id: e2a89d8f6001e5b626c8df1d0832e77783999b81
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
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
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
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
Summary: This is obsolete and maintaining it as the protocol changes no longer makes sense
Reviewed By: lblasa
Differential Revision: D41845247
fbshipit-source-id: c4ead597ca66223ccfa091ac79a6a80784a3c8e4
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
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
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
Summary: we had special handling previously for nested scrollview and we previously used the indirect approach of asking for the local visible rect. New approach is to get the scroll x from the parent and apply it, will work for all scrolling view and it is a lot clearer what the intention is.
Reviewed By: lblasa
Differential Revision: D41772106
fbshipit-source-id: 04b5e68ecabd70548e788ed18423a360ce6c3fa7
Summary: On messenger they use fragments heavily and for navigation. The hide some views via the fragment but we were using that so we saw a lot of overlapping boxes. Ive added a check for if the fragment isVisible as well as exported some more fragment state
Reviewed By: lblasa
Differential Revision: D41800223
fbshipit-source-id: fde33c7542f5fa98d8b98e0722d4292f2d1b67d0
Summary:
The site loads the style guide in an iframe so that it's css is isolated from the main sites styles.
But it doesn't know how big to render the iframe, because it doesn't know the size of its contents.
Previously, the js running inside the iframe measured itself and then accessed itself using the parents frame and modified it's own size to match.
That doesn't work anymore because the iframe isn't allowed to interact directly with its parent.
So instead, i'm using message passing.
Also changing MutationObserver to ResizeObserver because the former does not always fire when new css gets loaded and applied.
Reviewed By: aigoncharov
Differential Revision: D41735809
fbshipit-source-id: 9e84a9b20741f5470012e25f240fb6a2b494f7e3
Summary:
Stack created with [Sapling]
* __->__ https://github.com/facebook/flipper/issues/4350
Update README
Mainly to test out Sapling, but also to get rid of some "recently"s that are not longer all that recent.
Pull Request resolved: https://github.com/facebook/flipper/pull/4350
Test Plan: _eyes
Reviewed By: antonk52
Differential Revision: D41653401
Pulled By: passy
fbshipit-source-id: 39aac6dcd3bb427f93bd725fbb587c8aac7ffba4
Summary:
The previous approach was to append any 'extra/floating' root view to the end of the childrens for the application descriptor. But the active child was always the last view so if there was a 'floating' decor view with no activity it would always be the active child, even if you opened a real activity from it. This was possible to do in FB4a and you could get into a situation where you couldn't see the top most activity.
New approach is to only iterate the root views from the resolver since it contains everything and map to activity if possible.
Reviewed By: lblasa
Differential Revision: D41731951
fbshipit-source-id: 9ef3fcfdaa41e9b07606ca6781cf22482b54e072
Summary:
The root view resolver will always find all root views but there was a bug in the listrootviews method. The code was very complex and most of the code seemed to be unneeded. Its now working. The listrootviews method now just returns teh contents of the observable array.
The reason we needed this is that Certain activities dont seem to tracked by the listener we add to `registerActivityLifecycleCallbacks` Its as if there is a floating decor with no activity. One example in FB4a is clicking on a notification in the notifications panel
Reviewed By: lblasa
Differential Revision: D41522791
fbshipit-source-id: b49b0104ddf758f097e1fd3f9ac6588de2d3646e