Summary:
Show internal instructions for Flipper setup by default on "Getting Started" page. This is a follow up to https://fb.workplace.com/groups/flippersupport/permalink/955763464904312/.
I used tabs component to show both internal and external content in tabs. By default, internal content is shown, but it is possible to also switch to external.
Reviewed By: jknoxville
Differential Revision: D23649955
fbshipit-source-id: c4f956e0ee9fec69cf861d96a447f934f746dd7f
Summary:
This is an automated PR to update the Podfile.lock.
- Make sure that the Podfile.lock contains latest FlipperKit and Flipper pod versions.
- Also make sure that all the dependencies are updated to the latest one.
- This is auto-generated by [create-pull-request](https://github.com/peter-evans/create-pull-request)
Pull Request resolved: https://github.com/facebook/flipper/pull/1522
Reviewed By: mweststrate
Differential Revision: D23600088
Pulled By: passy
fbshipit-source-id: 4634b682d50d448b2f31b6bddee4d0022c6da890
Summary:
we used to send plugins list with connect command, now we can respond to getPlugins request with new api.
we still support old clients
Reviewed By: jknoxville
Differential Revision: D23625139
fbshipit-source-id: 37a24d0c83cd879d93287dd3a3d4d5d2f9477b34
Summary:
couple of bug fixes:
1) we don't want to init plugins on connect - let's wait for init command from flipper
2) on disonnect - "this" didn;t work well with .map() so i switched to old school loop
Reviewed By: jknoxville
Differential Revision: D23623946
fbshipit-source-id: cb3f579a8ee14fedfbe19895f31f77f9e08775d2
Summary:
This diff tries to address T74467181, where Flipper (Electron) crash hard with a segfault. Although I failed to find the root issue, I noticed that this typically happened when switching to the network plugin after a long time.
Switching the network plugin causes all rows to be rebuild, and during the process all request and response bodies are deserialized which can take very long and fully blocks Flipper making it totally unresponsive.
This diff fixes that issue, by making sure the lately added lazy evaluation of copyText is used, and that requests aren't deserialized during row generation, which is only needed for full body search purposes, by making that lazily as well.
While at it fixed D21929666 (which I never finished) as well, which is a Sandy prerequisite, since it coupled the generic search table to hardcoded networking concepts like request and response. "body" search, has now been rebranded "contents" search. That is generic and makes sense in both the network and qpl plugin. Probably will make these labelings better customisable when revisiting the grids in Sandy
N.B. I thought the issue might maybe that during the blocking process the garbage collector can't run, and the process would OOM. But that doesn't seem the case (or at least not without some other factor contribution as well), as in a quick test I can trivally allocate 30 GB of memory (making the system swap), but still the process runs stably. So even with this diff I can't satisfactory explain the crash, but at least it avoids a common circumstance in which they happen, and it significantly improves the user experience.
changelog: [Network] Fixed issue where Flipper would hang for seconds or even crash when opening the Network plugin
Reviewed By: jknoxville
Differential Revision: D23599338
fbshipit-source-id: 52164fe6997b879c91907e0afe42e08ca3f315b4
Summary: When using TableRow, you can define both backgroudColor & zebraBackgroudColor to get a cusomized zebra look to your table.
Reviewed By: jknoxville
Differential Revision: D23623221
fbshipit-source-id: df68fa015c0cd99b5f44baedb56e952c20b2dd68
Summary:
With the new design from vpileggi, this diff separated a new app UI to the current one.
This diffs show the toggle switch to enable Sandy UI for devs who are in `flipper_sandy` GK. When toggled, it will bring Sandy UI up.
Reviewed By: mweststrate
Differential Revision: D23599398
fbshipit-source-id: d85c707e0fe7726a418b3551cedb36e455fb7d14
Summary:
This allow websocket client to receive and reply messages from desktop client.
## Changelog
Implement requestResponse for websocket connection, allowing websocket client to receive and reply messages from desktop client
Pull Request resolved: https://github.com/facebook/flipper/pull/1510
Test Plan:
Tested with custom websocket client, allow communicating getPlugins, init, deinit, etc.
But I think it's better to have dedicated unit tests for this (currently there's none?), let me know what you think.
Reviewed By: passy
Differential Revision: D23499396
Pulled By: jknoxville
fbshipit-source-id: fb445c0634afd46a525fc52da33b487da4e591fe
Summary:
This change will allow to use various SQLiteDatabase implementations: standard Android implementation, [requery/sqlite-android](https://github.com/requery/sqlite-android) and so on. See issue https://github.com/facebook/flipper/issues/1183
## Changelog
Android Databases Plugin: `SqliteDatabaseConnectionProvider` returns `SupportSQLiteDatabase` instead of `SQLiteDatabase`.
Pull Request resolved: https://github.com/facebook/flipper/pull/1196
Test Plan: Check that Databases Plugin shows correct data on the sample Android application.
Reviewed By: mweststrate
Differential Revision: D23294272
Pulled By: passy
fbshipit-source-id: c07ebeb869ab01d41281f75541cbb3411f0ebae0
Summary:
Generated by formatting with rustfmt 2.0.0-rc.2 and then a second time with fbsource's current rustfmt (1.4.14).
This results in formatting for which rustfmt 1.4 is idempotent but is closer to the style of rustfmt 2.0, reducing the amount of code that will need to change atomically in that upgrade.
---
*Why now?* **:** The 1.x branch is no longer being developed and fixes like https://github.com/rust-lang/rustfmt/issues/4159 (which we need in fbcode) only land to the 2.0 branch.
---
Reviewed By: zertosh
Differential Revision: D23568784
fbshipit-source-id: 7401066bfc99390686eb3fd9dc6f9888ccef9487
Summary: Referencing these from the wiki should be better than copy-pasting so we know they are up-to-date
Reviewed By: passy
Differential Revision: D23564251
fbshipit-source-id: ad90fcaa88c3c638212a277ce49a5faa41cd07df
Summary:
This adds a new npm package "internaldocs-fb-helpers", and shows example usage in the flipper package.
This will stop everyone from having to inline the function definitions everywhere as is currently the case.
(It's using the old internaldocs name, to match the existing docusaurus-plugin-internaldocs-fb package - I don't think that's a big deal.)
It currently exports two methods:
* `fbContent(internalContent, publicContent)`
* Allows you to return internal or external content based on build variant.
* Has named args so you don't accidentally put internal stuff in the external arg.
* `isInternal(): boolean`
* Not strictly necessary, but helps if you want to write your docs using an boolean variable rather than a switching function every time.
* `fbInternalOnly(internalContent)`
* Convenience method for when you want internal content, or nothing.
I could have put these inside the existing docusaurus plugin, but that has docu v2 as a peer dependency, and I want these helpers to work on v1 as well, so made it a standalone package.
Reviewed By: passy
Differential Revision: D23474462
fbshipit-source-id: 22e5be6de2f3233deb298f1542a06e3575b6555a
Summary:
The function `setLayoutParams` expects the values to be set to be at array position 0+, and they were on position 1+ instead.
This effectively prevented users from setting LayoutParameters.
Reviewed By: muraziz
Differential Revision: D23538531
fbshipit-source-id: cc828363ee8d7408d1df29d98c37b09893826bb1
Summary: This diff uses the new picker defined in EnumMapping for regular Android View properties.
Reviewed By: muraziz
Differential Revision: D23538532
fbshipit-source-id: be5b776453e7322fb13a5f9e6a66a1f8d1243e79
Summary: This diff makes EnumMapping compatible with the new Layout widget "picker"
Reviewed By: muraziz
Differential Revision: D23538548
fbshipit-source-id: 7bdb01648c1ad5e2d0d7594c98df5ed89d893702
Summary: Detect if resolved path is properly computed and accordingly display a success or error notification within InAppErrorReporter.
Reviewed By: arpitratan
Differential Revision: D23425001
fbshipit-source-id: 4ca903a8b9e83dc0e11bb823537f56678dd85b76
Summary: This change removes the dependency of FlipperEditor from AndroidX, which prevents it from moving to the Litho repository
Reviewed By: Andrey-Mishanin
Differential Revision: D23475867
fbshipit-source-id: a330c676859ed9ce9a0ab186dd206310d2eccca5
Summary:
Bumps [react-native-flipper](https://github.com/facebook/flipper) from 0.53.0 to 0.54.0.
<details>
<summary>Commits</summary>
<ul>
<li><a href="36825675d1"><code>3682567</code></a> Flipper Release: v0.54.0</li>
<li><a href="96803821ec"><code>9680382</code></a> Bump babel/core from 7.10.4 to 7.11.4 in /react-native/ReactNativeFlipperExa...</li>
<li><a href="8309ebcdcf"><code>8309ebc</code></a> Bump metro-react-native-babel-preset from 0.58.0 to 0.63.0 in /react-native/R...</li>
<li><a href="b109fc4d3e"><code>b109fc4</code></a> FQN Cleanup</li>
<li><a href="47d3dd6413"><code>47d3dd6</code></a> Load routes to device during init (<a href="https://github-redirect.dependabot.com/facebook/flipper/issues/1491">https://github.com/facebook/flipper/issues/1491</a>)</li>
<li><a href="3e95645f45"><code>3e95645</code></a> Fix release builds on Android, take 2 (<a href="https://github-redirect.dependabot.com/facebook/flipper/issues/1329">https://github.com/facebook/flipper/issues/1329</a>)</li>
<li><a href="79b1f8a1c1"><code>79b1f8a</code></a> Tell FB employees to use MSC instead of downloading</li>
<li><a href="0b528f19ce"><code>0b528f1</code></a> Escape table names and keys</li>
<li><a href="39a465b8b8"><code>39a465b</code></a> Use idb to poll for devices, if it is installed</li>
<li><a href="573bf8a940"><code>573bf8a</code></a> Fix scoped symlink module resolution (<a href="https://github-redirect.dependabot.com/facebook/flipper/issues/1482">https://github.com/facebook/flipper/issues/1482</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/facebook/flipper/compare/v0.53.0...v0.54.0">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/configuring-github-dependabot-security-updates)
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/1507
Reviewed By: mweststrate
Differential Revision: D23473019
Pulled By: nikoant
fbshipit-source-id: d0ec59dfc2aa7ae0d041cd77132cf8c16be68060
Summary:
This is an automated PR to update the Podfile.lock.
- Make sure that the Podfile.lock contains latest FlipperKit and Flipper pod versions.
- Also make sure that all the dependencies are updated to the latest one.
- This is auto-generated by [create-pull-request](https://github.com/peter-evans/create-pull-request)
Pull Request resolved: https://github.com/facebook/flipper/pull/1511
Reviewed By: priteshrnandgaonkar
Differential Revision: D23473025
Pulled By: nikoant
fbshipit-source-id: 16b36f2d952f47186b261b27b0bf2cabaab6a0c7
Summary:
`this` is not defined for `connectPlugin` and `disconnectPlugin` because `Array.prototype.map` [replace `this` to `undefined` if not specified](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map):
> If a thisArg parameter is provided, it will be used as callback's this value. Otherwise, the value undefined will be used as its this value. The this value ultimately observable by callback is determined according to the usual rules for determining the this seen by a function.

## Changelog
flipper-js-client-sdk: Fix undefined this due to array map
Pull Request resolved: https://github.com/facebook/flipper/pull/1506
Test Plan: Tried creating custom client and connecting to websocket server
Reviewed By: mweststrate
Differential Revision: D23473033
Pulled By: nikoant
fbshipit-source-id: bbfd9117da8aa8c7b491e219f98d17ccea48c0fd
Summary:
This is a first stab at documenting the new core distribution mechanism.
There are definitely areas I just brush over that should be expanded further,
but hopefully the release process and testing steps at the end help to clarify
some of the issues we've seen recently.
Reviewed By: mweststrate
Differential Revision: D23453713
fbshipit-source-id: 9efcfca1fbdbf5606080510c3e80bd19b49caf10
Summary:
The default max body size for the OkHttpInterceptor that is reported to Flipper seems unreasonably small, as most images, graphql responses etc are bigger. Increased it to 1MB
Since the network plugin doesn't do any work if it is not explicitly enabled in Flipper, this should not lead to further performance regression / starvation.
Reviewed By: jknoxville
Differential Revision: D23375720
fbshipit-source-id: e901105209aec7108d61fc20295a149c5582f22d
Summary: In the attached task an IPv6 address ended up in the URL send from IG. Since that URL couldn't be parsed, it crashed the network plugin. This change makes sure the plugin doesn't crash on invalid urls.
Reviewed By: cekkaewnumchai
Differential Revision: D23344503
fbshipit-source-id: c7ac2068e407a764d59e632bef1be7c4239c8c8a
Summary:
Images in the network plugin are rarely displayed in the network plugin, as it tries to use the public url to preview it. However, that won't if the endpoint is behind authentication, idempotent, etc. This diff changes the behavior to instead send the network body to flipper and use that to preview.
Changelog: [Network] Fixed image preview
Reviewed By: jknoxville, passy
Differential Revision: D23370743
fbshipit-source-id: 0070e9e38c10a5761b9f7190467e26f01a7b2471
See D23051239
Since the crash reporter endpoint does not exist anymore, and no data was reported there, removing the corresponding code from Flipper as well.
This also fixes the last remaining startup warning as well :)
Reviewed By: priteshrnandgaonkar
Differential Revision: D23472612
fbshipit-source-id: 7ce9f6a0261cdfe197a7da9b28a86407299effec
Summary:
Related diff [CK]: D23243009
This diff adds support for a protocol for layout messages where the type is recursively encoded as:
```
{
kind: "type",
data: ???
}
```
The meat of the diff is on FlipperEditor.java, SetDataOperations.java and InspectorFlipperPlugin.java. The others are there just for a change on an interface.
We check if the message adheres to the new encoding, otherwise we fall back to the old behavior. If it's the new encoding, the message is traversed recursively flattening the types to EditorValue using the type hints provided.
Reviewed By: muraziz
Differential Revision: D23243009
fbshipit-source-id: 0f313455885930f3beaaadb66f3bf394f109ea23
Summary: Adds support in Flipper for the picker widget. The way it reaches Flipper is a bit nasty, using `toString` to produce a JSON value.
Reviewed By: passy
Differential Revision: D23294091
fbshipit-source-id: e3398e6fb474e46bdaac1960aeaf57e201946413
Summary: This diff adds analytics for events like uploading certs, zipping certs.Also logs the payload data received in trusted and untrusted request handlers. It will be helpful to debug the issues through this events.
Reviewed By: jknoxville
Differential Revision: D23374024
fbshipit-source-id: 6fa709bbf05e1b99ed1882be953abbd968eefc6e
Summary:
The first launch of Myles might produce a lag connected with the fact that Myles daemon needs to start (mainly, set up a Watchman subscription and depending on what state Watchman is in, it could take ~10 secs to initialise).
Therefore, trying to invoke Myles as soon as the Layout Plugin is enabled.
Reviewed By: mweststrate
Differential Revision: D23371702
fbshipit-source-id: 59ee3fb20b2df1330ff4048462f342ce2e12210a
Summary: This diff adds a new PoC widget for the Layout Editor to select a string from a picker. It takes a Set of values and uses them as representation. One of them is considered selected.
Reviewed By: muraziz
Differential Revision: D23374681
fbshipit-source-id: 324a3dd74a6b16edb77b862345d5288dd714fea1
Summary:
This fixes two issues. One issue where the recent change of cdn to lookaside hostname broke our build download process. More about this can be found [here](https://fb.workplace.com/groups/flipperfyi/permalink/772986153467682/).
It also fixes a bug which occurred on a retry when an error happened. Recently I made changes where, if the build is downloaded then retrying shouldn't redownload it. But we used to remove the downloaded builds after install phase, so this diff just removes the build when the download is successfull.
Reviewed By: nikoant
Differential Revision: D23372251
fbshipit-source-id: b57e69f65a20fc123191962d60165a62859d4ef7
Summary:
Related diff [Litho]: D23243009
This diff adds support for a protocol for layout messages where the type is recursively encoded as:
```
{
kind: "type",
data: ???
}
```
We check if the message adheres to the new encoding, otherwise we fall back to the old behavior. If it's the new encoding, the message is traversed recursively flattening the types to EditorValue using the type hints provided.
Reviewed By: Andrey-Mishanin
Differential Revision: D23319619
fbshipit-source-id: 79e8886f8f5a0aea4ec32938f1d5cd2fd645a297
Summary:
Just released a new version.
Pull Request resolved: https://github.com/facebook/flipper/pull/1428
Test Plan:
`./gradlew :android:installDebug`
However, I'm tethering right now and this is taking ages so I haven't
been able to complete this.
Reviewed By: mweststrate
Differential Revision: D23295098
Pulled By: passy
fbshipit-source-id: aa53fa1c47f0b02d2c8b9f12d66b1c600a37075b
Summary:
Adding a copy button next to search box. Copy nt or bloks raw bundle.
Before that we had a contxt menu on left side bar, which didn;t look good when we have only one active bundles (check appden comments in diff bellow)
Reviewed By: mweststrate
Differential Revision: D23345480
fbshipit-source-id: 919e7fec1d1884f5e8980c3b6cc5a94eb3d69be1
Summary:
This is an automated PR to update the Podfile.lock.
- Make sure that the Podfile.lock contains latest FlipperKit and Flipper pod versions.
- Also make sure that all the dependencies are updated to the latest one.
- This is auto-generated by [create-pull-request](https://github.com/peter-evans/create-pull-request)
Pull Request resolved: https://github.com/facebook/flipper/pull/1500
Reviewed By: jknoxville
Differential Revision: D23343573
Pulled By: mweststrate
fbshipit-source-id: 2193996ad1cb9983a64ce41851ee9ff4e49404d3