Summary:
Bumps [adobe/node-fetch-retry](https://github.com/adobe/node-fetch-retry) from 2.0.0 to 2.1.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/adobe/node-fetch-retry/releases"><code>@adobe/node-fetch-retry</code>'s releases</a>.</em></p>
<blockquote>
<h2>v2.1.0</h2>
<h1><a href="https://github.com/adobe/node-fetch-retry/compare/v2.0.0...v2.1.0">2.1.0</a> (2022-01-24)</h1>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="aaf1b7195d"><code>aaf1b71</code></a> [ci skip] no-release: version number update</li>
<li><a href="24d20a624b"><code>24d20a6</code></a> FEATURE-RELEASE: Add Typescript declarations (<a href="https://github-redirect.dependabot.com/adobe/node-fetch-retry/issues/42">https://github.com/facebook/flipper/issues/42</a>)</li>
<li>See full diff in <a href="https://github.com/adobe/node-fetch-retry/compare/v2.0.0...v2.1.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/3384
Reviewed By: passy
Differential Revision: D33892201
Pulled By: cekkaewnumchai
fbshipit-source-id: e318850d9bcad6908a92e41080fb64d8efafb183
Summary:
Bumps [typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.10.0 to 5.10.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases"><code>@typescript-eslint/eslint-plugin</code>'s releases</a>.</em></p>
<blockquote>
<h2>v5.10.1</h2>
<h2><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v5.10.0...v5.10.1">5.10.1</a> (2022-01-24)</h2>
<p><strong>Note:</strong> Version bump only for package <code>@typescript-eslint/typescript-eslint</code></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md"><code>@typescript-eslint/eslint-plugin</code>'s changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v5.10.0...v5.10.1">5.10.1</a> (2022-01-24)</h2>
<p><strong>Note:</strong> Version bump only for package <code>@typescript-eslint/eslint-plugin</code></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="3e1ebcad55"><code>3e1ebca</code></a> chore: publish v5.10.1</li>
<li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v5.10.1/packages/eslint-plugin">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/3382
Reviewed By: nikoant
Differential Revision: D33892140
Pulled By: cekkaewnumchai
fbshipit-source-id: 5185d0dbb9ad2b3db44b3cc8e32fa07e8192fa6a
Summary: Idb and adb sholuld not really be accessed out side of Adnroid and iOS device managers
Reviewed By: lawrencelomax
Differential Revision: D33915162
fbshipit-source-id: 0d1bb028b9a53254cf5b0ce6289ae76339c5a254
Summary: Remove hidden async initialization of adb and idb. Make it explicit. Remove nullable fields in Android and iOS device managers.
Reviewed By: lawrencelomax
Differential Revision: D33915177
fbshipit-source-id: 882f79310410e0dfde6169abf343ab808644e4a2
Summary: Extract WWW certificate provider from the iOS certificate provider. Hide its implementation from OSS since it is not relevant for OSS folks.
Reviewed By: mweststrate
Differential Revision: D33895378
fbshipit-source-id: 376afda3b5fa3857c0eb280b92555314eb1a0d1f
Summary:
Currently, certificateSetup is called in two places:
- processCertificateSigningRequest
- loadSecureServerConfig
`loadSecureServerConfig` is a mandatory step of Flipper server initialization ([ServerController.init](https://www.internalfb.com/code/flipper/[24785758018a2ffbd4751ad2b9093b5ef97c611d]/src/fbsource/xplat/sonar/desktop/flipper-server-core/src/comms/ServerController.tsx?lines=118)). Flipper cannot start without executing it.
As a result, calling `certificateSetup` in `processCertificateSigningRequest` always results in the early return.
This diff removes executing `certificateSetup` from `processCertificateSigningRequest`. Since it's called only during server setup (so only once), it no longer makes sense to use `didCertificateSetup`.
Next steps:
- Extract Android and iOS certificate utils. Remove the dependency on accessing adb/idb dynamically. See D33711652 (da618fd3f3).
Reviewed By: jknoxville
Differential Revision: D33817119
fbshipit-source-id: 675d1e2fe468782da458832c2e88259c92951fdb
Summary:
`idb` has supported video recording on devices for quite some time now. We even have the implementation in `iOSDevice`, but it's currently unused.
As a result, we just need to remove the check within `iOSDevice` that the target is an "emulator" and it will use the `idb` implementation. Removing this check means that the button is now selectable within the UI.
Reviewed By: passy
Differential Revision: D33913383
fbshipit-source-id: b3d6b4c480c79b54f0d2c206c68092ab62bf71ed
Summary: This should in theory never happen since the state of the recording is also managed within the UI. However, it's better to ensure that if `startRecording` is called twice, without calling `stopRecording` first it will error rather than leak a recording (the first process will still run but the object representing it is oprhaned)
Reviewed By: passy
Differential Revision: D33913298
fbshipit-source-id: f8fa6b0e4fdbdf4282633fa29a736d3e7dedf3bb
Summary:
The state of the destination and the process are coupled together. As a result it makes sense to move these to an object type.
This prevents destination and process being independently settable. No change in behaviour, just a removal of invariants that need to be checked
Reviewed By: passy
Differential Revision: D33913213
fbshipit-source-id: ed18650cac4f72d40e82d20254674f7fa12cbb48
Summary: This is public but never read, no need for it to exist
Reviewed By: passy
Differential Revision: D33893097
fbshipit-source-id: aa423464f9cc0c35768a549fd5cb481784d8bcd6
Summary:
There's no need for us to have a property that can be undefined, since we can use the magic of *passing arguments* to achieve the same end result.
The unit test a bit more precarious, but it's left here for posterity or until we decide to kill it otherwise.
Reviewed By: passy
Differential Revision: D33892407
fbshipit-source-id: 3b499511189862e2265d8d6d29f849a7b813050e
Summary:
Bulding on the work from prior diffs we can use the created bridge directly. No need to have if statements calling out to sub-functions, just use the base type itself which will use the appropriate implementation.
There's no behavioural change here. Either idb was queried for sims/devices or simctl was queried for just sims, they were always mutually exclusive.
Reviewed By: passy
Differential Revision: D33842604
fbshipit-source-id: 0bf63ffc34368c70df31c105ea0ba5df941e72cc
Summary:
We perform this *repeatedly* (every 2s!!!). Which is clearly excessive.
Let's perform this check once to avoid noise and a waste of system resources
Reviewed By: passy
Differential Revision: D33844194
fbshipit-source-id: 226dc9d67bb83b167afa8e28ade8e1911470ef8a
Summary:
This runs in a very hot loop (which I will change shortly)
However, there's also some simplification that we can do here:
- Only look for `Simulator.app` processes instead of all the processes. This limits the amount of string comparison to do. If there's a `Simulator.app` running, then we know a sim is running for that Xcode.
- Use piping to extract the launch path of the process, instead of then regex'ing this out.
- Use a simpler substring match to determine if paths have a different start.
Reviewed By: passy
Differential Revision: D33891296
fbshipit-source-id: e37d5f260fc6c6113be9c5268b7c8cffb4057b9a
Summary:
Again this is just a code move for now.
However, we now have a common method between simctl and idb cases. This means that the next diff can call an `IOSBridge` with polymorpism taking over. This is still delegated out, but there's an argument to be made to move `iosUtil` functionality back so that this all lives in the same place.
Reviewed By: passy
Differential Revision: D33843093
fbshipit-source-id: 5cd884140817df851cccf63e5780582b16d4231c
Summary:
Extracts `getSimulator` interrnals to `SimctlBridge`. This allows this functionality to be used independently of things like the the flipper server.
For now this just moves the functionality, but future diffs will build on top of this.
Reviewed By: passy
Differential Revision: D33842986
fbshipit-source-id: bae26a9bd5c21c9813f8a2b10c3b3e3efc1c5929
Summary:
This is related to `simctl` functionality, so can be extracted there.
This will aid in future changes whereby we can hide `getDeviceSetPath` in the IOSBridge module
Reviewed By: passy
Differential Revision: D33842987
fbshipit-source-id: de292ce5afba3e7d79d8ba27c2b8852909d7e6f3
Summary: remove statically analysable life from typescript guidelines and let eslint handle it
Reviewed By: passy
Differential Revision: D33819891
fbshipit-source-id: 3cc3cb512607c3651cd3a9e48228d83bab5bb64a
Summary:
We pass the `idbPath` to only the log listener function, when in reality it should be used by all of these functions that call out to idb.
This could result in some bizzare inconsistencies where some idb functions to fail as they are not using the supplied path
Reviewed By: passy
Differential Revision: D33818298
fbshipit-source-id: f0fb7f26579c646a0d5265364d539dfded711c2e
Summary: This allows us to change the way that the command is itself exec'd (for instance to change the idb exec'ing in D33818298)
Reviewed By: passy
Differential Revision: D33818822
fbshipit-source-id: c90b7e58c7476f5db08da0e74e9791230ff97f6f
Summary: Similar to D33818267, but for simctl. Brings logical ordering of methods as well as consistency
Reviewed By: passy
Differential Revision: D33818687
fbshipit-source-id: 3fbcea128d06c900b49b83ad583ec8a7a07cae2c
Summary:
This isn't that important right now, but will help as the `IOSBridge` is expanded in the future. There's also an argument for logical ordering of functions within a container (a class!), but that's not the real motivation here.
The existence of `bind` shows that this free function is effectively closing over this argument anyway.
Reviewed By: passy, lblasa
Differential Revision: D33818267
fbshipit-source-id: e7b83f013121cedbd31cb28746b69c1fa76a0803
Summary:
Bumps [socket.io-client](https://github.com/socketio/socket.io-client) from 4.4.0 to 4.4.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/socketio/socket.io-client/releases">socket.io-client's releases</a>.</em></p>
<blockquote>
<h2>4.4.1</h2>
<p>This release only contains minor changes. Please see the diff for more details.</p>
<h4>Links:</h4>
<ul>
<li>Diff: <a href="https://github.com/socketio/socket.io-client/compare/4.4.0...4.4.1">https://github.com/socketio/socket.io-client/compare/4.4.0...4.4.1</a></li>
<li>Server release: <a href="https://github.com/socketio/socket.io/releases/tag/4.4.1">4.4.1</a></li>
<li>engine.io-client version: <code>~6.1.1</code></li>
<li>ws version: <code>~8.2.3</code></li>
</ul>
<p>Size of the bundles:</p>
<table>
<thead>
<tr>
<th></th>
<th>min</th>
<th>min+gzip</th>
</tr>
</thead>
<tbody>
<tr>
<td>socket.io.min.js</td>
<td>40.4 KB (-)</td>
<td>13.1 KB (-)</td>
</tr>
<tr>
<td>socket.io.msgpack.min.js</td>
<td>45.6 KB (-)</td>
<td>14.2 KB (-)</td>
</tr>
<tr>
<td>socket.io.esm.min.js</td>
<td>33.1 KB (-)</td>
<td>11.3 KB (-)</td>
</tr>
</tbody>
</table>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/socketio/socket.io-client/blob/master/CHANGELOG.md">socket.io-client's changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/socketio/socket.io-client/compare/4.4.0...4.4.1">4.4.1</a> (2022-01-06)</h2>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="359d1e25e7"><code>359d1e2</code></a> chore(release): 4.4.1</li>
<li><a href="f56fdd0f09"><code>f56fdd0</code></a> chore: remove duplicate package.json file</li>
<li><a href="19836d9abf"><code>19836d9</code></a> chore: add types to exports field to be compatible with nodenext module resol...</li>
<li>See full diff in <a href="https://github.com/socketio/socket.io-client/compare/4.4.0...4.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/3347
Reviewed By: mweststrate
Differential Revision: D33741779
Pulled By: lblasa
fbshipit-source-id: ab87f191dab7d1835005f07ea89ded7890f6f649
Summary:
Bumps [react-debounce-render](https://github.com/podefr/react-debounce-render) from 7.0.0 to 7.0.1.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/podefr/react-debounce-render/commits">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/3351
Reviewed By: mweststrate
Differential Revision: D33741785
Pulled By: lblasa
fbshipit-source-id: 4ceee9922dd80ec2ec47b9826fd8da09cd551122
Summary:
Currently the design of `LeftRail` varies a bit between light and dark modes. Additionally washed background color is hard to differentiate from the main background color in comparison to the light theme (See `LeftRail` sidebars toggle buttons background for example). This lead to few contrast related issues, for example the hover effect on the WelcomeScreen elements is not visible in dark mode.
The PR tweaks the dark mode theme colors and fixes the unnecessary background of Settings icon in dark mode.
I have also spotted that icon `hover` effect is not working when icon has a badge (pure dot or count), I might have an idea how to fix this and I will push another PR for that. 🙂
## Changelog
* tweak dark mode theme colors, improve LeftRail UI
Pull Request resolved: https://github.com/facebook/flipper/pull/3335
Test Plan:
The change has been testes by running the desktop Flipper app locally from source.
## Preview (before & after)
<img width="390" alt="Screenshot 2022-01-24 at 13 37 20" align="left" src="https://user-images.githubusercontent.com/719641/150784627-36e222a8-e53e-4409-ab72-783d4a594f8e.png">
<img width="390" alt="Screenshot 2022-01-24 at 13 46 08" src="https://user-images.githubusercontent.com/719641/150785438-bb496adf-83ab-4b1c-928d-07f4b0098f1a.png">
Reviewed By: antonk52
Differential Revision: D33741513
Pulled By: lblasa
fbshipit-source-id: ef187db0725ac2b04c09b7f06823e713b50be88f