Summary: Allow callers to pass id, deviceName, processName, and packageName when initializing Flipper. Since these are used to create the connection id, callers can use these to configure Flipper to work for secondary processes.
Reviewed By: calebgomer
Differential Revision: D44719389
fbshipit-source-id: 3df6d47855c113f454f37031df32c4891626aa66
Summary: The error below was uncaught, showing up in our error monitoring, however, since it is a transient problem (probably an app not responding, too slow in startup, paused in a debuggger, emu being slow, whatever, this isn't actionable from our side, so lowered to warning
Reviewed By: lblasa
Differential Revision: D44717738
fbshipit-source-id: aefd5e58b4953f563ed155f7a252c130aaafe7ab
Summary:
This diff is reverting D44566060
D44566060: Add Flipper support for secondary processes in Messenger VR by rra has been identified to be causing the following test or build failures:
Tests affected:
- [//fbandroid/javatests/com/facebook/messenger:no_sonar_in_production - main](https://www.internalfb.com/intern/test/281474996792449/)
Here's the Multisect link:
https://www.internalfb.com/multisect/1809753
Here are the tasks that are relevant to this breakage:
We're generating a revert to back out the changes in this diff, please note the backout may land if someone accepts it.
If you believe this diff has been generated in error you may Commandeer and Abandon it.
Reviewed By: passy
Differential Revision: D44682510
fbshipit-source-id: c0ae489bc5ae22c5339edd2c8988126b0adedd7f
Summary:
An issue was reported for the visualiser whereas there seemed to be some cropping taking place on the right hand side.
https://pxl.cl/2BhPT
The issue was the resizable panel and visualiser both were set with the same width.
The resizable panel was set as to have a gutter which was not taken into consideration, add this width to the panel width and that fixes the issue.
Also change box sizing model as to not affect the dimensions of the wireframe.
Reviewed By: LukeDefeo
Differential Revision: D44664377
fbshipit-source-id: e640af2090f7c3378e624626fe3ea5df631caa11
Summary: Allow callers to pass id, deviceName, processName, and packageName when initializing Flipper. Since these are used to create the connection id, callers can use these to configure Flipper to work for secondary processes.
Reviewed By: passy
Differential Revision: D44566060
fbshipit-source-id: 605264c230956f4c9643c95c610ec40d736547ac
Summary: Resize oberserver limit exceeded appears to be a benign error that we can safely ignore, added ability to change log level. Given we report errors to our user logs, fb log view and console the console log patching has been centralised and now logs are pushed to whatever destinations we have.
Reviewed By: lblasa
Differential Revision: D44666836
fbshipit-source-id: e028dbc52b00947097833f9f3619189226247e1d
Summary:
As events get bigger, this change includes the following:
- Dedicated event inspector
- Stacktrace viewer for events with stacktrace attribution
- Stacktrace viewer is displayed within a new BottomPanel. BottomPanel can display any React component and can be reused in the future in different use cases.
Reviewed By: LukeDefeo
Differential Revision: D44628768
fbshipit-source-id: 71a9ef87e71c9a17f58c2544a1aa356eed14ed27
Summary: Requested by antonk52 and MSYS team
Reviewed By: passy
Differential Revision: D44662243
fbshipit-source-id: 2bace476c4e79b6a05bfb89ddc3e6acb437c6c3b
Summary: This way plugins get something meaningful when they call `getFlipperLib()` in their tests
Reviewed By: LukeDefeo
Differential Revision: D44662821
fbshipit-source-id: c13800f9d8e905ae4a89955f2186adb816730b77
Summary: It makes little sense to hide this info from developers. It was also requested by antonk52
Reviewed By: LukeDefeo
Differential Revision: D44631235
fbshipit-source-id: 1756c5ca2a95b2f815f8c4336621d3c057b704f2
Summary: It no longer makes sense since we are going to export "isLoggedIn" atom that always stays up-to-date in subsequent diffs
Reviewed By: LukeDefeo
Differential Revision: D44631234
fbshipit-source-id: 3e3b29b77d250eef430e81eef80098afe38a1538
Summary:
When a marker is selected, it was difficult to notice any style differences.
This changes makes it more obvious when a marker is selected.
Reviewed By: antonk52, aigoncharov
Differential Revision: D44628828
fbshipit-source-id: c4634338e04969f3d973137ad861cb999b28c139
Summary:
`onClick` was not getting called if it wasn't paired with `canSetCurrent`.
Ultimately, we can benefit from propagating this event in all cases as to give indication of whenever a marker has been selected.
Reviewed By: antonk52, aigoncharov
Differential Revision: D44628819
fbshipit-source-id: bee910b48ad065d7479e247fbacdcd738f281b26
Summary:
Make it more specific as to keep it consistent with the other types.
Do not export JSON.
Reviewed By: antonk52
Differential Revision: D44625218
fbshipit-source-id: 9cab52ee7e7be21d13f85102597a60c9be967fd0
Summary: Leverage the properties prop of `TimelineDataDescription`. Whenever an event is selected, the event payload is shown as the event properties.
Reviewed By: antonk52
Differential Revision: D44497058
fbshipit-source-id: 09782d583957a0df8c3efd3f5a62af6b321a26e3
Summary: Because Tabs now depend on the selected node (i.e. some nodes have events, some don't) they need to use a key.
Reviewed By: antonk52
Differential Revision: D44624658
fbshipit-source-id: 693983f6a82c090adae3a2e009873d903626ab75
Summary:
On foldable devices, there's an issue whereas the topmost root view is of type `OverlayHandlerView`.
This doesn't seem to be related in any way to the running app's UI. Or at least is not something of interest when debugging the running app's UI (for example, ig4a).
This change effectively ignores the `OverlayHandlerView` instance as active child and instead returns the next to last root view.
Reviewed By: LukeDefeo
Differential Revision: D44579223
fbshipit-source-id: cea52289c5ba1e6a96817232ac54725b8d2f48d9
Summary:
Based on the stack trace in T145744183, `activeChildIdx` could point to a non-existent array element.
Previously, we used to:
1) Find the index of the activeChild in the non-filtered array of children
2) Filter the array
As a result, it could lead to some of the elements in the child array to be filtered and shifting activeChildIdx, making it invalid.
Now, we search activeChild in the already filtered array.
Reviewed By: LukeDefeo
Differential Revision: D44575170
fbshipit-source-id: 2cb9a0b24badc8509a859011694f77b048d93316
Summary: DataInspector can use `any` value to inspect. Lift the constraint from TimelineDataDescription as ultimately is not necessary i.e. the right inspector will be used based on the type of properties.
Reviewed By: antonk52
Differential Revision: D44572963
fbshipit-source-id: ad8a257020c90e18468e905f2beda44c2ee06368
Summary: On downloading the new flipper update some of the older plugins which are on a different release cycle may try to call getUser which was removed in this stack in favour of getCached user and fetchUser, adding this back temporarily so those calls dont fail. This can be removed down the road once those plugins have soaked into the user base
Reviewed By: ivanmisuno, aigoncharov
Differential Revision: D44541277
fbshipit-source-id: 95e67d5ba11bbc26590d2789127cbf6a68c54f16
Summary: This is an edge case where if we make a intern call to fetch user with an invalid token we would imply that the token may have expired. Since we already have a error message in the sign in sheet we dont show the notification
Reviewed By: aigoncharov
Differential Revision: D44502480
fbshipit-source-id: 531df6db28bc2a6f36ffcf0a3903ee0e8e40be0f
Summary:
This command is never actually dispatched so removing to avoid future confusion.
When new plugins are downloaded a check is done here https://fburl.com/code/e3zedljb to see if pluginIsDisabledForAllConnectedClients, if so, load command is queued, which internally calls update (which resets state)
If the plugin is not disabled then a message appears asking user to manually reload.
Reviewed By: aigoncharov
Differential Revision: D44502476
fbshipit-source-id: b796b77f843218c07ee612d9f45cacba073362d3
Summary: The source of truth for logging in is the atom, the userprofile is a side effect and is cached so calling these actions login/logout is very confusing, especially considering those functions exist elsewhere that manage the atoms
Reviewed By: aigoncharov
Differential Revision: D44502481
fbshipit-source-id: 77080cc02134684a58f52fcad74041b4508a22f0
Summary:
This diff introduces a few changes:
The login sheet is no longer closable via the x or clicking outside the modal, the cancel button is removed
On startup we check if we have a toke and throw up the sheet
if logout occurs for any reason we throw up the sheet
renamed write_keychain to login, to be consstent with the logout method. It does more than write to key chain since it manages the logged in atom also
Reviewed By: aigoncharov
Differential Revision: D44502483
fbshipit-source-id: 1d91d4eaae65ca523a08e205d1ad730d4d4d090f
Summary: There were redundant places we were cleaning up and logging out, now all syncronisation between the atom world and everything else is done via the atom subscription.
Reviewed By: aigoncharov
Differential Revision: D44463888
fbshipit-source-id: 9fc2af64b1e0667dd852096557107a48f2fa924c
Summary: Indicate intern connection state via an icon, now that we are polling when offline this icon automatically goes away one we reconnect
Reviewed By: aigoncharov
Differential Revision: D44502479
fbshipit-source-id: fb411940f1e4cad50539fe08df6d6194b176404a
Summary:
Logged in state now means that we have a valid token. On startup we try to retrieve a token, if its there then we are logged in, if we remove the tokem, due to explicit logout, or if its expired we are logged out.
Connected is more dynamic, it means we can actually hit intern with a sucessful response. It implicitly requires a token / being logged in
Reviewed By: aigoncharov
Differential Revision: D44502482
fbshipit-source-id: e3077101766cba5128a61d62be3bbd1ca1f00b4f
Summary:
Previously the left rail state was decided by prescense of user profile but we are moving to logged in state being based on the atom.
As a result we need to cache the user profile so we have something to display when user not on vpn on startup
Reviewed By: aigoncharov
Differential Revision: D44502477
fbshipit-source-id: 11462d24c773d6d364e844b4f606e124e5278348
Summary:
Stacktrace component was not properly displaying on Light/Dark mode as it was using colours not from the theme.
This change addresses that.
Reviewed By: ivanmisuno
Differential Revision: D44537750
fbshipit-source-id: 1d95313bfc9b5ef386864fa230348b76dce6d648
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/4631
In React Native for VR we use `FlipperUtils.shouldEnableFlipper()` to determine whether Flipper should be enabled for the given app build.
The problem is that some of our apps are legitimately running as services (e.g. `com.oculus.explore:explore`), so the check added inside Flipper in D5126205 which only enables Flipper for "main application's process".
This diff adds an ability to relax this requirement (as we do want to do it for the RN VR applications)
Reviewed By: passy
Differential Revision: D44511667
fbshipit-source-id: 673912b204391799a9e8821b737681d1f44bd6a8
Summary: Since tsc strips comments when writing plugins the dx is lacking as the doumentated comments are not discoverable via hovers in text editors
Reviewed By: aigoncharov
Differential Revision: D44498403
fbshipit-source-id: 8fe262f2d815adfbe989ece5d783359c9af4d180
Summary:
The 14.3 toolchain includes `-Wstrict-prototypes` in `-Wall`. Add it to the default warning list to ensure the code is buildable with the 14.3 toolchain.
Please forward fix any build breakage introduced by this change.
Reviewed By: NSProgrammer
Differential Revision: D44371491
fbshipit-source-id: 257c7f7748b079a34ffd5c041339d518bef9d1e5
Summary:
Bumps [ws](https://github.com/websockets/ws) from 8.12.1 to 8.13.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/websockets/ws/releases">ws's releases</a>.</em></p>
<blockquote>
<h2>8.13.0</h2>
<h1>Features</h1>
<ul>
<li>Added the <code>finishRequest</code> option to support late addition of headers (<a href="https://redirect.github.com/websockets/ws/issues/2123">https://github.com/facebook/flipper/issues/2123</a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="45e17acea7"><code>45e17ac</code></a> [pkg] 8.13.0</li>
<li><a href="23acf8cfaf"><code>23acf8c</code></a> [test] Fix nits</li>
<li><a href="cd89e077f6"><code>cd89e07</code></a> [feature] Add option to support late addition of headers (<a href="https://redirect.github.com/websockets/ws/issues/2123">https://github.com/facebook/flipper/issues/2123</a>)</li>
<li><a href="b4b9d5a76e"><code>b4b9d5a</code></a> [test] Fix failing test when using the domain module (<a href="https://redirect.github.com/websockets/ws/issues/2126">https://github.com/facebook/flipper/issues/2126</a>)</li>
<li><a href="41dc56a4ba"><code>41dc56a</code></a> [doc] Remove misleading information</li>
<li>See full diff in <a href="https://github.com/websockets/ws/compare/8.12.1...8.13.0">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/4594
Reviewed By: ivanmisuno
Differential Revision: D44215121
Pulled By: mweststrate
fbshipit-source-id: e5c0b80ceb407655a0ad909c93dd89d271d79457
Summary: Buffer is not available in the browser
Reviewed By: lblasa
Differential Revision: D44416645
fbshipit-source-id: 9cca069b8b0111f96bb47628e5f2196a22c9812d