Summary: Load either installed or bundled version of plugin depending on which is newer.
Reviewed By: mweststrate
Differential Revision: D21858965
fbshipit-source-id: aa46eafe0b5137134fadad827749672441f2c9e5
Summary:
See previous diff.
Achieves the same optimization as in the mentioned diff, but this time by only debouncing the messages as they arrive over the socket, and not the state updates caused by Redux directly. This means that plugin rendering won't be debounced anymore until we address this more fundamentally.
With this change there is a double level buffering:
1. A buffer that stores all incoming messages (that are not replies to requests)
2. A buffer that stores messages we are interested in in the plugin queue, unless the plugin is active (this we already had).
This still fixes the issue that too chatty plugins cause to many updates foreground plugin (the problem we tried to fix originally), without debouncing plugin rendering if it is needed to update for any other reason.
Another nice benefit is that previously every received message would trigger a store update in Redux which would cause all connected components to evaluate their subscriptions (and then bail out in the typical case). Now we will only update the redux store every 200 ms.
Changelog: Foreground plugins will burn less CPU when they're very chatty
Reviewed By: jknoxville
Differential Revision: D21858849
fbshipit-source-id: c72352e569a8a803bbedffb71b17b11fcefee043
Summary:
This change kinda reverts D21690494, which broke the layout plugin.
The layout plugin broken because it's implementation assumes that if `this.props.setPersisted` state is called, those changes are immediately reflected in `this.props.persistedState`. For that to work it means that a render needs to be triggered immediately and synchronously by React.
That is a troublesome assumption (React doesn't actually guarantee this) and very likely to break in the future if implementation details change in React or Redux. However, since this is an assumption here, probably more plugins rely on that behavior, so this diff reverts that change. I'll add it the the component library plan to fundamentally address this.
The next diff will re-introduce debouncing, just at a different code point.
Reviewed By: jknoxville
Differential Revision: D21840282
fbshipit-source-id: af69dbded80aa73dfd6558d7cb0268ea0b1c504a
Summary:
Bumps [mkdirp](https://github.com/isaacs/node-mkdirp) from 1.0.3 to 1.0.4.
<details>
<summary>Commits</summary>
<ul>
<li><a href="b694079b54"><code>b694079</code></a> 1.0.4</li>
<li><a href="2d42170b9f"><code>2d42170</code></a> Remove unnecessary process.umask()</li>
<li><a href="4d59b810ed"><code>4d59b81</code></a> update tap</li>
<li><a href="117328b713"><code>117328b</code></a> remove outdated example</li>
<li><a href="7cd4e9eb9a"><code>7cd4e9e</code></a> correct gitignore</li>
<li>See full diff in <a href="https://github.com/isaacs/node-mkdirp/compare/v1.0.3...v1.0.4">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=mkdirp&package-manager=npm_and_yarn&previous-version=1.0.3&new-version=1.0.4)
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)
---
**Note:** This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit.
You can always request more updates by clicking `Bump now` in your [Dependabot dashboard](https://app.dependabot.com).
<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)
- `dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in the `.dependabot/config.yml` file in this repo:
- Update frequency
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
</details>
Pull Request resolved: https://github.com/facebook/flipper/pull/1210
Reviewed By: passy
Differential Revision: D21838219
Pulled By: mweststrate
fbshipit-source-id: c9fe6920a65a1fcede07579899a50620f459b949
Summary:
Bumps [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks) from 4.0.2 to 4.0.4.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/facebook/react/blob/master/packages/eslint-plugin-react-hooks/CHANGELOG.md">eslint-plugin-react-hooks's changelog</a>.</em></p>
<blockquote>
<h2>4.0.3</h2>
<ul>
<li>Remove the heuristic that checks all Hooks ending with <code>Effect</code> due to too many false positives. (<a href="https://github.com/gaearon">gaearon</a> in <a href="https://github-redirect.dependabot.com/facebook/react/pull/19004">#19004</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/facebook/react/commits/HEAD/packages/eslint-plugin-react-hooks">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=eslint-plugin-react-hooks&package-manager=npm_and_yarn&previous-version=4.0.2&new-version=4.0.4)
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)
---
**Note:** This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit.
You can always request more updates by clicking `Bump now` in your [Dependabot dashboard](https://app.dependabot.com).
<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)
- `dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in the `.dependabot/config.yml` file in this repo:
- Update frequency
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
</details>
Pull Request resolved: https://github.com/facebook/flipper/pull/1211
Reviewed By: passy
Differential Revision: D21838130
Pulled By: mweststrate
fbshipit-source-id: 624154b78f5bbb773529ac4779aaa97c85b4a146
Summary:
per title
Also, edit file to match tests
Reviewed By: mweststrate
Differential Revision: D21819748
fbshipit-source-id: b697ae9915c53162624ba90fc867676c9ca8733b
Summary:
Bumps [eslint-plugin-flowtype](https://github.com/gajus/eslint-plugin-flowtype) from 4.6.0 to 4.7.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/gajus/eslint-plugin-flowtype/releases">eslint-plugin-flowtype's releases</a>.</em></p>
<blockquote>
<h2>v4.7.0</h2>
<h1><a href="https://github.com/gajus/eslint-plugin-flowtype/compare/v4.6.0...v4.7.0">4.7.0</a> (2020-03-24)</h1>
<h3>Features</h3>
<ul>
<li>require-exact-type detects nested objects (<a href="https://github-redirect.dependabot.com/gajus/eslint-plugin-flowtype/issues/441">https://github.com/facebook/flipper/issues/441</a>) (<a href="463b74e40b">463b74e</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="463b74e40b"><code>463b74e</code></a> feat: require-exact-type detects nested objects (<a href="https://github-redirect.dependabot.com/gajus/eslint-plugin-flowtype/issues/441">https://github.com/facebook/flipper/issues/441</a>)</li>
<li>See full diff in <a href="https://github.com/gajus/eslint-plugin-flowtype/compare/v4.6.0...v4.7.0">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=eslint-plugin-flowtype&package-manager=npm_and_yarn&previous-version=4.6.0&new-version=4.7.0)
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)
---
**Note:** This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit.
You can always request more updates by clicking `Bump now` in your [Dependabot dashboard](https://app.dependabot.com).
<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)
- `dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in the `.dependabot/config.yml` file in this repo:
- Update frequency
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
</details>
Pull Request resolved: https://github.com/facebook/flipper/pull/1194
Reviewed By: passy
Differential Revision: D21838073
Pulled By: mweststrate
fbshipit-source-id: 276cd5a3959322dd5980d4a89c890d20cf3ab4f0
Summary:
I just noticed that the deeplink of the support form didn't select the right group. It got broken after the recent design change of the support form. This diff fixes that issue.
I have also added unit tests.
Reviewed By: passy
Differential Revision: D21817153
fbshipit-source-id: 06298b3b60cfc1bd77bea6c1f902b983474808dc
Summary:
Scuba doesn't work when running on laptops, so developers often run a canary just to see that their logging works. This attempts to give a Scuba-like view (Scuba UI does a lot, I'm just showing a simple samples-like view) of the data you report in real time.
## Unity
* `ScubaFlipperPlugin` - very similar to our Pigeon/Logview plugins.
* `ScubaLogger` - notice that I'm ignoring the sample rate (weight) to give as much signal as possible since a local Unity usually doesn't have a lot of traffic/logs.
## Flipper
* `index.tsx`
* Aggregates incoming data from Unity:
* `messages` - all messages, keyed by the scribe category.
* `columns` - keeps track of all the columns per table. This can grow over time (different messages can have different columns; Scuba does the same - using the union of all columns from all rows). I'm doing this here (and not while rendering a specific table) since this allows me to run the aggregation only once when a message arrives instead of every render (which React can do many of).
* Chooses between one of the two following components.
* `ScubaTables.tsx` - shows all known tables so far, with a count of rows (just so I'll have something to show in table...). Each row has a button to view this table.
* `ScubaTable.tsx` - probably the only interesting part is not using explicit widths in the table (since I don't know what data I'll have). Instead, I just use `horizontallyScrollable` on the table and let it decide. It will squeeze everything in the window's width, but let's you expand/scroll as needed.
Differential Revision: D21715926
fbshipit-source-id: 6f1c4f7f77c3b047dcb35a4e9b8173a7378af198
Summary: To be able to edit correct cell, identifiers are needed. Assume that the primary key is unique, this should be safe to allow the query to find exactly one row to edit
Reviewed By: jknoxville
Differential Revision: D21788239
fbshipit-source-id: b09d1b6da1b46cbc961f08010467e973546acbef
Summary: This diff adds edit button to detail sidebar to allow user to edit column he/she wants to
Reviewed By: jknoxville
Differential Revision: D21788243
fbshipit-source-id: 4bdcef62114d5a6282ba85bc2bd1b5d039322e50
Summary:
This logic relies on the logic on client side, specifically `SqliteDatabaseDriver.java` in specifying some keys to retrieve useful data in `currentStructure`. This will be error-prone if developer writes their own data driver which doesn't follow the same naming as the data driver used as model.
Also, this diff adds util file to deal with query for updating database on client side.
I decided to construct query clause on server side so that the client side change is not needed.
Reviewed By: jknoxville
Differential Revision: D21788241
fbshipit-source-id: cf9a920c3e5b7b29f619bc3f00e68616b3445cab
Summary: The different is small after the change from storing pre-rendered data to raw data. Hence, the diff changes it to match `currentPage` to ease the assignment (used in next diffs)
Reviewed By: jknoxville
Differential Revision: D21788245
fbshipit-source-id: 87bdbce33f0615bf31878797a74fce5d5969db7b
Summary: `'Execute'` action was previously used only for execute tab which assumed the input will come from the state. This changes so that it can take any input attached to parameters (more explanation about the design in <insert diff number>)
Reviewed By: jknoxville
Differential Revision: D21788244
fbshipit-source-id: 8fb8ecb8f8df84f4854f70432e7a1fdb531403e9
Summary:
- Add value for null type to use `.value` easier
- Add value to string by directly converting to string if possible; otherwise null
Reviewed By: jknoxville
Differential Revision: D21788242
fbshipit-source-id: f3a9f995de6b4cb1b304981c8adaaba70105c988
Summary: This diff helps obtaining metadata for using to edit row
Reviewed By: jknoxville
Differential Revision: D21788246
fbshipit-source-id: bf01eff8866c82f001575d59cc2886b6cdd39dc5
Summary:
Upgrade docusaurus version. This one opens all external links in new tabs so you don't need to remember to do that yourself.
In static docs, all external links must do this, so this makes it no longer error prone.
Reviewed By: nikoant
Differential Revision: D21815718
fbshipit-source-id: c89a17daeb2bace3e14e0997e7442abc032aef89
Summary:
Using this diff as baseline for fblite composer.
Demo in this post https://fb.workplace.com/groups/503571760094149/permalink/934762916975029/
## Next
* UI
* Add binary buffer (clone/re-send)
* Support multiple messages as flow
* Persistance
* More feedbacks from post
{F238376954}
Reviewed By: timur-valiev
Differential Revision: D21701994
fbshipit-source-id: 020733034968acb5c02a1f79bfc256a1a13d6ef8
Summary:
This strips another 8MB from our node_modules.
Checked out the largest individual files in with Disk Inventory X.
{F238464588}
Reviewed By: nikoant
Differential Revision: D21765847
fbshipit-source-id: d74b0eae270b86f0518d7e73288fd773b24535da
Summary: cekkaewnumchai asked about this and I didn't just want to type this out in a chat.
Reviewed By: cekkaewnumchai
Differential Revision: D21766920
fbshipit-source-id: e476d9d39461032d82bdd1bdf2b284d47a55af21
Summary:
Based on the issue here https://github.com/facebook/flipper/issues/967, I'm adding the flipper diagram to a documentation.
It should help explain briefly how does all parts communicate together and visualise key terms.
## Changelog
- Add Flipper architecture diagram to documentation
Pull Request resolved: https://github.com/facebook/flipper/pull/1073
Reviewed By: jknoxville
Differential Revision: D21278322
Pulled By: passy
fbshipit-source-id: 3cd8c71b2595b86911f5c9061bc2e8119da1d315
Summary:
I've outlined the tasks required to get iOS device support working for open source users [here](https://github.com/facebook/flipper/issues/262).
This is the first step. It publishes the same code we use internally to GitHub, but in a state where it is only "available" for non-public builds. This will not change any behavior, but means that together with the community, we can start adapting it to suit everyone, and then eventually flip "available" to true for everyone.
Reviewed By: passy
Differential Revision: D21740193
fbshipit-source-id: 586c79ad850f67da330c10a007605ff25a187544
Summary:
Update the UX of the mobilebuild download. When one clicks download one can see the the installation in progress in the main screen. Once its downloaded, you can open the finder pointed to the folder of download.
I didn't write the test for InstallSection as I was not able to test it through react-testing library. Seems like the data gets added to the document little late and not instantly.
Next work:
- Search in sidebar
- Persist downloaded app data for a session
- Show download data in the form of progress bar.
Reviewed By: mweststrate
Differential Revision: D21709229
fbshipit-source-id: e67db68ff16155230becf86c913dc6b1ec9d482c
Summary: This diff enables the babel transformer for emotion. It is supposed to be a bit faster, but the most interesting thing is that it will show component names inside the dom tree, which, at least for me, will be a huge performance booster is it will make it much easier to find out to which component style changes need to be applied
Reviewed By: nikoant
Differential Revision: D21722021
fbshipit-source-id: cab1278046b1aa7f8b875c016d43dfafdbaa0a2d
Summary:
Enabled linting rules that help to signal making errors with effect dependencies and such.
Fixed all errors, left any warnings generated by the hooks untouched
Reviewed By: nikoant
Differential Revision: D21721497
fbshipit-source-id: 9548453443fa7b663dc4d4289132f388c6697283
Summary:
Following some advice to add debugging steps from here: https://github.com/skx/github-action-publish-binaries/issues/19
Also adding an alternative upload action as the issue clearly stems from
something specific to the cURL version on the Action host. This uses
a completely different tool (ghr) for uploading.
Pull Request resolved: https://github.com/facebook/flipper/pull/1199
Test Plan: testinprod
Reviewed By: jknoxville
Differential Revision: D21723887
Pulled By: passy
fbshipit-source-id: cbbc9555283a89e3152c602b87d64976e8dbf4f9
Summary: Some dependency updates, mostly to prepare for next diff and update the podfile with the newest RN template
Reviewed By: passy
Differential Revision: D21749214
fbshipit-source-id: 0af10e404901a7522253136dc8c03020e7c813f8
Summary: Allows passing the version part to be bumped as part of the release process.
Reviewed By: nikoant
Differential Revision: D21722939
fbshipit-source-id: 94d3ddeb78722dae5dfbc5822f9e70873f565a81
Summary:
This refactor has the following changes:
- Change way to store data: raw data instead of rendered data
- Move render function to separated function component file
- Remove repetitive pattern
Reviewed By: jknoxville
Differential Revision: D21739468
fbshipit-source-id: 1f7e7ae902c3b55f3863300aaed26c2adda898ac
Summary: Upgrade docusaurus plugin to fix a bug with the redirect links
Reviewed By: passy
Differential Revision: D21739692
fbshipit-source-id: cf6dfcb58aad58c88346efd3620c2747947f2542
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/1198
Normalize paths so snapshots look the same on mac and win
Reviewed By: passy
Differential Revision: D21722773
fbshipit-source-id: 4a12117d3ec0fb57cdfc7c5bb06a5c0835412a5f
Summary: To make testing easier, I've implemented dry-run for version bumping and npm publishing scripts
Reviewed By: mweststrate
Differential Revision: D21721142
fbshipit-source-id: 72fc5a78bfc102a8fca9087decfbed6ebbda5e51