Commit Graph

8586 Commits

Author SHA1 Message Date
Luke De Feo
1cf0527a51 Double click to expand or collapse in tree
Reviewed By: aigoncharov

Differential Revision: D47949838

fbshipit-source-id: be7208633cee13579eaa20d3b0bfaa4380a4e399
2023-08-01 10:32:29 -07:00
Luke De Feo
795d1de10d Dont auto expand nodes
Summary:
Rather than automatically collapsing siblings when using the visualiser instead we take a different approach:
1. The tree starts out fully collapsed
2. Every time you click on the visualiser we expand it and its ancestory chain to expanded nodes.

This is exactly how the Dom inspector works. The previous approach of constantly collapsing all siblings when uinsg the visualiser felt too intrusive and taking control from the user. The option is still there but only in the context menu

Some ultilities around autocollapsing nodes were removed as they dont make sense anymore that we now send complete frames

Changelog: UIDebugger Tree starts collapsed and expands as you click from the visualiser

Reviewed By: aigoncharov

Differential Revision: D47949843

fbshipit-source-id: 4381d22b12874dde5a89267572bee95f084380e3
2023-08-01 10:32:29 -07:00
Luke De Feo
ce1fdfdf19 Added context menu items for collapsing and expanding nodes
Summary:
Added 3 context menu items:
- expand recursive
- collapse recursive

These are self explanatory.

I also collapse non ancestors. This collapses everything except your direct ancestor path to the root. Quite useful to refocus the tree on a node

Changelog: UIDebugger - added  context menu items for exanding and collapsing the tree.

Reviewed By: aigoncharov

Differential Revision: D47949840

fbshipit-source-id: 6eebba182fe2092fbf5f0db0ec5ff728c3900424
2023-08-01 10:32:29 -07:00
Luke De Feo
129c848b78 Fixed bug where target mode would contain parents of hit nodes
Summary: The idea of the hit test is to return the deepest children that hit an element and not their parents. Due to this bug we were actually returning every other node all the way up to the root resulting in way to many hit nodes for target mode

Reviewed By: lblasa

Differential Revision: D47949837

fbshipit-source-id: d3391b4a700ab0be4c3b21dde5f13452f90c887b
2023-08-01 10:32:29 -07:00
Luke De Feo
fb503a0a2f Add wireframe mode control
Summary:
This allows you to control how the wire frames are drawn, useful when there are lots of overalpping wireframes

Changelog: UIDebugger - Added wireframe mode control, useful when lots of overlapping wireframes

Reviewed By: aigoncharov

Differential Revision: D47949841

fbshipit-source-id: 72de7d085ca433557107ab0cc6e4399220836d9f
2023-08-01 10:32:29 -07:00
Lorenzo Blasa
fb469faa1d Details styling
Summary: STDOUT and STDERR can overflow the panel. This change creates a container for these two panels which should keep content within their boundaries.

Reviewed By: antonk52

Differential Revision: D47952711

fbshipit-source-id: 394390ae6b6a12329fe0eea1fc9948a7261b11bf
2023-08-01 06:59:08 -07:00
Lorenzo Blasa
2b56289490 Sidebar only visible when necessary
Summary: Sidebar should only show if the entry requires one. In this case, only shell commands have details to be displayed in the sidebar.

Reviewed By: antonk52

Differential Revision: D47952535

fbshipit-source-id: ae657032504dbb80900a534d2d357c9316b67cd9
2023-08-01 06:59:08 -07:00
Luke De Feo
1394a41599 Fix subtile bug with keyboard controls
Summary:
The code used the hovered node and selected node somewhere inconsistently for keyboard controls, this led to subitle bugs where if you moused over the next keybaord jump point would be the hovered node sometimes. This straightens it all out

Changelog: [UIDebugger] Fixed bug with keyboard tree controls

Reviewed By: aigoncharov

Differential Revision: D47832249

fbshipit-source-id: 7697c97a817ed5b70250c0c4f12fc1c59bdb96b9
2023-08-01 06:41:14 -07:00
Luke De Feo
21483986c3 Fix bug in tree when search term is set
Summary: Previously we would run the effect even if search term hadnt changed causing us to scorll to a search term rather than the selected node when selecting in the visualiser

Reviewed By: antonk52

Differential Revision: D47831188

fbshipit-source-id: 5700d49aea219a1229bcc8df462e55d8508c6c1a
2023-08-01 06:41:14 -07:00
dependabot[bot]
382ee6de35 Bump com.android.tools.build:gradle from 8.0.2 to 8.1.0 (#4979)
Summary:
Bumps com.android.tools.build:gradle from 8.0.2 to 8.1.0.

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.android.tools.build:gradle&package-manager=gradle&previous-version=8.0.2&new-version=8.1.0)](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/4979

Reviewed By: lblasa

Differential Revision: D47916703

Pulled By: passy

fbshipit-source-id: bbc4daedbe1382a34d94cf367e2884c54fca05e4
2023-08-01 06:32:22 -07:00
dependabot[bot]
a15c331ab0 Bump org.jetbrains.kotlinx:kotlinx-coroutines-android from 1.7.2 to 1.7.3 (#4980)
Summary:
Bumps [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) from 1.7.2 to 1.7.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/Kotlin/kotlinx.coroutines/releases">org.jetbrains.kotlinx:kotlinx-coroutines-android's releases</a>.</em></p>
<blockquote>
<h2>1.7.3</h2>
<ul>
<li>Disabled the publication of the multiplatform library metadata for the old (1.6 and earlier) KMP Gradle plugin (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3809">https://github.com/facebook/flipper/issues/3809</a>).</li>
<li>Fixed a bug introduced in 1.7.2 that disabled the coroutine debugger in IDEA (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3822">https://github.com/facebook/flipper/issues/3822</a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md">org.jetbrains.kotlinx:kotlinx-coroutines-android's changelog</a>.</em></p>
<blockquote>
<h2>Version 1.7.3</h2>
<ul>
<li>Disabled the publication of the multiplatform library metadata for the old (1.6 and earlier) KMP Gradle plugin (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3809">https://github.com/facebook/flipper/issues/3809</a>).</li>
<li>Fixed a bug introduced in 1.7.2 that disabled the coroutine debugger in IDEA (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3822">https://github.com/facebook/flipper/issues/3822</a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="35d88f1ba5"><code>35d88f1</code></a> Version 1.7.3</li>
<li><a href="74d2aeb1c6"><code>74d2aeb</code></a> Merge remote-tracking branch 'origin/master' into develop</li>
<li><a href="47f0a46d4b"><code>47f0a46</code></a> Fix the IDEA debugger (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3822">https://github.com/facebook/flipper/issues/3822</a>)</li>
<li><a href="387628bc77"><code>387628b</code></a> Merge pull request <a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3815">https://github.com/facebook/flipper/issues/3815</a> from Kotlin/roman.efremov/MR/expect-annotations</li>
<li><a href="99f0804455"><code>99f0804</code></a> fix: errors in runnable snippet in doc (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3818">https://github.com/facebook/flipper/issues/3818</a>)</li>
<li><a href="3c9e8564a9"><code>3c9e856</code></a> Make annotations on expect declarations comply with new compiler restriction</li>
<li><a href="c675e3fbe8"><code>c675e3f</code></a> 3789: Update flow.timeout example to re-throw (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3801">https://github.com/facebook/flipper/issues/3801</a>)</li>
<li><a href="9b06a6907d"><code>9b06a69</code></a> Clarify documentation of Mutex.lock() behavior (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3816">https://github.com/facebook/flipper/issues/3816</a>)</li>
<li><a href="ef623b8491"><code>ef623b8</code></a> Revert &quot;Remove <code>PublishedApi</code> from <code>unwrap</code> to comply with new compiler rest...</li>
<li><a href="5c4a252aad"><code>5c4a252</code></a> Stop building and publishing compatibility MPP metadata variant (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3809">https://github.com/facebook/flipper/issues/3809</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/Kotlin/kotlinx.coroutines/compare/1.7.2...1.7.3">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.jetbrains.kotlinx:kotlinx-coroutines-android&package-manager=gradle&previous-version=1.7.2&new-version=1.7.3)](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/4980

Reviewed By: lblasa

Differential Revision: D47916701

Pulled By: passy

fbshipit-source-id: a362354a8dccc4a1ac3e57ce0acfccf35b0cb15a
2023-08-01 06:23:16 -07:00
github-actions[bot]
a0e91484c9 Automated: Update Podfile.lock (#4973)
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/4973

Reviewed By: lblasa

Differential Revision: D47916691

Pulled By: passy

fbshipit-source-id: c9f752b8c452b6b4dab0b550b5d12de31db106c0
2023-08-01 04:38:10 -07:00
Lorenzo Blasa
430a42ec7a Send connectivity logs to scuba
Summary:
^

A dashboard to display the logs from a user session will be built next.

Reviewed By: antonk52

Differential Revision: D47944634

fbshipit-source-id: fb9e53981de5abb401c93c47cdec68f72c944b94
2023-08-01 03:45:05 -07:00
Lorenzo Blasa
830ac6eac9 All logs to be emitted
Summary: Error logs were missing, they're now reported.

Reviewed By: antonk52

Differential Revision: D47944591

fbshipit-source-id: a1f5515dded7c2e8955522e12554cd5f520d4c88
2023-08-01 03:45:05 -07:00
Lorenzo Blasa
7e9228985b Show command details
Summary: This is the most basic visualiser for command details.

Reviewed By: antonk52

Differential Revision: D47917006

fbshipit-source-id: 7654a3c6e416346548b45dbc72ca4a1838bea787
2023-08-01 03:45:05 -07:00
Lorenzo Blasa
f63c749e0e Panel for Raw Details
Summary: ^

Reviewed By: antonk52

Differential Revision: D47915946

fbshipit-source-id: 3455da38d8862d6a2faff34fa7324da44c5acc08
2023-08-01 03:45:05 -07:00
Luke De Feo
1de033c157 Add bounds to fragment
Summary: Previously the bounds was 0, the trick is to steel the offset from the view and then use offsetchild zero so it doesnt get applied twice

Reviewed By: lblasa

Differential Revision: D47915115

fbshipit-source-id: ff771470dcf1720ca265fc9017ff0ea3b0bc1ca1
2023-07-31 10:53:03 -07:00
Luke De Feo
6b74f66ab4 Add parent id to decor view
Summary: This whole nested observer approach can be simplified massively, but for now we are just threading the parent id through so its set for observer roots too

Reviewed By: lblasa

Differential Revision: D47915504

fbshipit-source-id: 924f722f38bb202b42ea9ef6da15e685f6c75e02
2023-07-31 10:53:03 -07:00
Luke De Feo
413f85964b Send invisible as hidden attribute
Summary: This allows UIDebugger to draw them differently in tree and visualiser

Reviewed By: lblasa

Differential Revision: D47915505

fbshipit-source-id: a4d2ef9d653233e3ff24bc26cfe8017f9b51dd2b
2023-07-31 10:53:03 -07:00
dependabot[bot]
0aa6d7832c Bump sha2 from 0.10.6 to 0.10.7 in /packer (#4843)
Summary:
Bumps [sha2](https://github.com/RustCrypto/hashes) from 0.10.6 to 0.10.7.
<details>
<summary>Commits</summary>
<ul>
<li><a href="d8b088aece"><code>d8b088a</code></a> Release sha2 v0.10.7 (<a href="https://redirect.github.com/RustCrypto/hashes/issues/491">https://github.com/facebook/flipper/issues/491</a>)</li>
<li><a href="3fa561ed2e"><code>3fa561e</code></a> sha2: Add aarch64 backends (<a href="https://redirect.github.com/RustCrypto/hashes/issues/490">https://github.com/facebook/flipper/issues/490</a>)</li>
<li><a href="a16cb4c753"><code>a16cb4c</code></a> jh: fix license</li>
<li><a href="1affb24f1a"><code>1affb24</code></a> JH hash implementation (<a href="https://redirect.github.com/RustCrypto/hashes/issues/484">https://github.com/facebook/flipper/issues/484</a>)</li>
<li><a href="cf5f1d2dfe"><code>cf5f1d2</code></a> k12: fix typo in README.md (<a href="https://redirect.github.com/RustCrypto/hashes/issues/489">https://github.com/facebook/flipper/issues/489</a>)</li>
<li><a href="df9b8a2cce"><code>df9b8a2</code></a> k12 v0.3.0 (<a href="https://redirect.github.com/RustCrypto/hashes/issues/488">https://github.com/facebook/flipper/issues/488</a>)</li>
<li><a href="c24e4b8264"><code>c24e4b8</code></a> k12: 2021 edition upgrade; MSRV 1.56 (<a href="https://redirect.github.com/RustCrypto/hashes/issues/487">https://github.com/facebook/flipper/issues/487</a>)</li>
<li><a href="ca07d232e8"><code>ca07d23</code></a> Use cargo-hack in CI jobs (<a href="https://redirect.github.com/RustCrypto/hashes/issues/485">https://github.com/facebook/flipper/issues/485</a>)</li>
<li><a href="d174ad743c"><code>d174ad7</code></a> Skein hash implementation (<a href="https://redirect.github.com/RustCrypto/hashes/issues/483">https://github.com/facebook/flipper/issues/483</a>)</li>
<li><a href="9df20e865c"><code>9df20e8</code></a> build(deps): bump digest from 0.10.6 to 0.10.7 (<a href="https://redirect.github.com/RustCrypto/hashes/issues/481">https://github.com/facebook/flipper/issues/481</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/RustCrypto/hashes/compare/sha2-v0.10.6...sha2-v0.10.7">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sha2&package-manager=cargo&previous-version=0.10.6&new-version=0.10.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR 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>
> **Note**
> Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

Pull Request resolved: https://github.com/facebook/flipper/pull/4843

Reviewed By: lblasa

Differential Revision: D47916706

Pulled By: passy

fbshipit-source-id: 40742c77fedb4d83bda6ca698b10b04d75681864
2023-07-31 08:40:43 -07:00
dependabot[bot]
e6e973e505 Bump org.jetbrains.kotlinx:kotlinx-serialization-json from 1.4.1 to 1.5.1 (#4739)
Summary:
Bumps [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) from 1.4.1 to 1.5.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/Kotlin/kotlinx.serialization/releases">org.jetbrains.kotlinx:kotlinx-serialization-json's releases</a>.</em></p>
<blockquote>
<h2>1.5.1</h2>
<p>This release contains an important Native targets overhaul, as well as numerous enhancements and bugfixes.
Kotlin 1.8.21 is used by default.</p>
<h3>New set of Native targets</h3>
<p>The official <a href="https://kotlinlang.org/docs/native-target-support.html">Kotlin target support policy</a> has recently been published describing new target policy: each target belongs to a certain <em>tier</em>, and different tiers have different stability guarantees. The official recommendation for library authors is to support targets up to Tier 3, and kotlinx.serialization now follows it. It means that in this release, there are a lot of new targets added from this tier, such as <code>androidNativeX86</code> or <code>watchosDeviceArm64</code>. Note that since they belong to Tier 3, they're not auto-tested on CI.</p>
<p>kotlinx.serialization also ships some deprecated Kotlin/Native targets that do not belong to any tier (e.g. <code>iosArm32</code>, <code>mingwX86</code>).
We'll continue to release them, but we do not provide support for them, nor do we plan to add new targets from the deprecated list.</p>
<h3>Improvements in Json elements</h3>
<p>There are two new function sets that should make creating raw Json elements easier.
<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/pull/2160">First one</a> contains overloads for <code>JsonPrimitive</code> constructor-like function that accept unsigned types: <code>JsonPrimitive(1u)</code>.
<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/pull/2156">Second one</a> adds new <code>addAll</code> functions to <code>JsonArrayBuilder</code> to be used with collections of numbers, booleans or strings: <code>buildJsonArray { addAll(listOf(1, 2, 3)) }</code>.
Both were contributed to us by <a href="https://github.com/aSemy">aSemy</a>.</p>
<h3>Other enhancements</h3>
<ul>
<li><strong>Potential source-breaking change</strong>: Rename json-okio <code>target</code> variables to <code>sink</code> (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2226">https://github.com/facebook/flipper/issues/2226</a>)</li>
<li>Function to retrieve KSerializer by KClass and type arguments serializers (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2291">https://github.com/facebook/flipper/issues/2291</a>)</li>
<li>Added FormatLanguage annotation to Json methods (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2234">https://github.com/facebook/flipper/issues/2234</a>)</li>
<li>Properties Format: Support sealed/polymorphic classes as class properties (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2255">https://github.com/facebook/flipper/issues/2255</a>)</li>
</ul>
<h3>Bugfixes</h3>
<ul>
<li>KeyValueSerializer: Fix missing call to endStructure() (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2272">https://github.com/facebook/flipper/issues/2272</a>)</li>
<li>ObjectSerializer: Respect sequential decoding (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2273">https://github.com/facebook/flipper/issues/2273</a>)</li>
<li>Fix value class encoding in various corner cases (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2242">https://github.com/facebook/flipper/issues/2242</a>)</li>
<li>Fix incorrect json decoding iterator's .hasNext() behavior on array-wrapped inputs (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2268">https://github.com/facebook/flipper/issues/2268</a>)</li>
<li>Fix memory leak caused by invalid KTypeWrapper's equals method (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2274">https://github.com/facebook/flipper/issues/2274</a>)</li>
<li>Fixed NoSuchMethodError when parsing a JSON stream on Java 8 (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2219">https://github.com/facebook/flipper/issues/2219</a>)</li>
<li>Fix MissingFieldException duplication (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2213">https://github.com/facebook/flipper/issues/2213</a>)</li>
</ul>
<h2>1.5.0</h2>
<p>This release contains all features and bugfixes from 1.5.0-RC plus some experimental features and bugfixes on its own (see below).
Kotlin 1.8.10 is used as a default.</p>
<h3>HoconEncoder and HoconDecoder interfaces and HOCON-specific serializers</h3>
<p>These interfaces work in a way similar to <code>JsonEncoder</code> and <code>JsonDecoder</code>: they allow intercepting (de)serialization process,
making writing if custom HOCON-specific serializers easier. New <code>ConfigMemorySizeSerializer</code> and <code>JavaDurationSerializer</code> already make use of them.
See more details in the <a href="https://redirect.github.com/Kotlin/kotlinx.serialization/pull/2094">PR</a>.
Big thanks to <a href="https://github.com/alexmihailov">Alexander Mikhailov</a> for contributing this!</p>
<h3>Ability to read buffered huge strings in custom Json deserializers</h3>
<p>New interface <code>ChunkedDecoder</code> allows you to read huge strings that may not fit in memory by chunks.
Currently, this interface is only implemented by Json decoder that works with strings and streams,</p>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md">org.jetbrains.kotlinx:kotlinx-serialization-json's changelog</a>.</em></p>
<blockquote>
<h1>1.5.1 / 2023-05-11</h1>
<p>This release contains an important Native targets overhaul, as well as numerous enhancements and bugfixes.
Kotlin 1.8.21 is used by default.</p>
<h3>New set of Native targets</h3>
<p>The official <a href="https://kotlinlang.org/docs/native-target-support.html">Kotlin target support policy</a> has recently been published
describing new target policy: each target belongs to a certain <em>tier</em>, and different tiers have different stability guarantees.
The official recommendation for library authors is to support targets up to Tier 3,
and kotlinx.serialization now follows it.
It means that in this release, there are a lot of new targets added from this tier,
such as <code>androidNativeX86</code> or <code>watchosDeviceArm64</code>.
Note that since they belong to Tier 3, they're not auto-tested on CI.</p>
<p>kotlinx.serialization also ships some deprecated Kotlin/Native targets that do not belong to any tier (e.g. <code>iosArm32</code>, <code>mingwX86</code>).
We'll continue to release them, but we do not provide support for them, nor do we plan to add new targets from the deprecated list.</p>
<h3>Improvements in Json elements</h3>
<p>There are two new function sets that should make creating raw Json elements easier.
<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/pull/2160">First one</a> contains overloads for <code>JsonPrimitive</code> constructor-like function
that accept unsigned types: <code>JsonPrimitive(1u)</code>.
<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/pull/2156">Second one</a> adds new <code>addAll</code> functions to <code>JsonArrayBuilder</code> to be used with collections
of numbers, booleans or strings: <code>buildJsonArray { addAll(listOf(1, 2, 3)) }</code>
Both were contributed to us by <a href="https://github.com/aSemy">aSemy</a>.</p>
<h3>Other enhancements</h3>
<ul>
<li><strong>Potential source-breaking change</strong>: Rename json-okio <code>target</code> variables to <code>sink</code> (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2226">https://github.com/facebook/flipper/issues/2226</a>)</li>
<li>Function to retrieve KSerializer by KClass and type arguments serializers (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2291">https://github.com/facebook/flipper/issues/2291</a>)</li>
<li>Added FormatLanguage annotation to Json methods (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2234">https://github.com/facebook/flipper/issues/2234</a>)</li>
<li>Properties Format: Support sealed/polymorphic classes as class properties (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2255">https://github.com/facebook/flipper/issues/2255</a>)</li>
</ul>
<h3>Bugfixes</h3>
<ul>
<li>KeyValueSerializer: Fix missing call to endStructure() (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2272">https://github.com/facebook/flipper/issues/2272</a>)</li>
<li>ObjectSerializer: Respect sequential decoding (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2273">https://github.com/facebook/flipper/issues/2273</a>)</li>
<li>Fix value class encoding in various corner cases (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2242">https://github.com/facebook/flipper/issues/2242</a>)</li>
<li>Fix incorrect json decoding iterator's .hasNext() behavior on array-wrapped inputs (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2268">https://github.com/facebook/flipper/issues/2268</a>)</li>
<li>Fix memory leak caused by invalid KTypeWrapper's equals method (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2274">https://github.com/facebook/flipper/issues/2274</a>)</li>
<li>Fixed NoSuchMethodError when parsing a JSON stream on Java 8 (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2219">https://github.com/facebook/flipper/issues/2219</a>)</li>
<li>Fix MissingFieldException duplication (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2213">https://github.com/facebook/flipper/issues/2213</a>)</li>
</ul>
<h1>1.5.0 / 2023-02-27</h1>
<p>This release contains all features and bugfixes from 1.5.0-RC plus some experimental features and bugfixes on its own (see below).
Kotlin 1.8.10 is used as a default.</p>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="f83385276c"><code>f833852</code></a> Prepare 1.5.1 release (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2297">https://github.com/facebook/flipper/issues/2297</a>)</li>
<li><a href="a27e86f7aa"><code>a27e86f</code></a> Function to retrieve KSerializer by KClass and type arguments serializers (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2">https://github.com/facebook/flipper/issues/2</a>...</li>
<li><a href="5a8795a9c6"><code>5a8795a</code></a> Added FormatLanguage annotation to JSON (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2234">https://github.com/facebook/flipper/issues/2234</a>)</li>
<li><a href="40eb27758b"><code>40eb277</code></a> Merge remote-tracking branch 'origin/master' into dev</li>
<li><a href="9157bf8128"><code>9157bf8</code></a> Implement addAll functions for JsonArrayBuilder (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2156">https://github.com/facebook/flipper/issues/2156</a>)</li>
<li><a href="ef67bcef0e"><code>ef67bce</code></a> KeyValueSerializer: Fix missing call to endStructure() (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2272">https://github.com/facebook/flipper/issues/2272</a>)</li>
<li><a href="8007574913"><code>8007574</code></a> ObjectSerializer: Respect sequential decoding (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2273">https://github.com/facebook/flipper/issues/2273</a>)</li>
<li><a href="0a6eb817c5"><code>0a6eb81</code></a> Fix incorrect function name in PrimitiveSerialDescriptor doc comment (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2289">https://github.com/facebook/flipper/issues/2289</a>)</li>
<li><a href="cfce5d8bf4"><code>cfce5d8</code></a> Properties Format: Support sealed/polymorphic classes as class properties (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2">https://github.com/facebook/flipper/issues/2</a>...</li>
<li><a href="961e87d492"><code>961e87d</code></a> Adapt tests for K2 and upcoming deprecations in K1 (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2230">https://github.com/facebook/flipper/issues/2230</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/Kotlin/kotlinx.serialization/compare/v1.4.1...v1.5.1">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.jetbrains.kotlinx:kotlinx-serialization-json&package-manager=gradle&previous-version=1.4.1&new-version=1.5.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR 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>
> **Note**
> Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

Pull Request resolved: https://github.com/facebook/flipper/pull/4739

Reviewed By: lblasa

Differential Revision: D47916722

Pulled By: passy

fbshipit-source-id: dccb596e30493e8c8dd4583596eb8970571f6bb7
2023-07-31 08:32:59 -07:00
Lorenzo Blasa
9ba93ad26b Connectivity Logs moved outside from TroubleshootingHub
Summary: Move it to its own space.

Reviewed By: antonk52

Differential Revision: D47914495

fbshipit-source-id: 8d655a8f0fc9ed87adbb4c31dfb04e72aa6f5770
2023-07-31 07:02:16 -07:00
Lorenzo Blasa
778eaf2038 Overdue refactor for TroubleshootingHub
Summary: It's troubleshooting in general, not only connectivity. So rename and refactor accordingly.

Reviewed By: antonk52

Differential Revision: D47914411

fbshipit-source-id: 658563bfd33427f11fe9f7660b0985fc3f013866
2023-07-31 07:02:16 -07:00
Lorenzo Blasa
d83f3fddb2 Fix active tab
Summary: ^

Reviewed By: antonk52

Differential Revision: D47914264

fbshipit-source-id: 36a6615092d799f925e74cb3422d8daa80b4fc33
2023-07-31 07:02:16 -07:00
Pranav Yadav
cb4352abea js/react-flipper-example Switch to React 18.2.0 & bump deps (#4901)
Summary:
This diff refactors `js/react-flipper-example` to React & ReactDOM `18.2.0` and bumps all deps to the `latest`.
- Also, specifies the `js-flipper` dep version as `*` which is taken care of by the `relative-deps` script.
- Deletes `logo.svg` from `src/`

### Scope: `js/react-flipper-example`

## Changelog

[General][Changed] - [Refactor] `js/react-flipper-example` Switch to React `18.2.0` & bump deps.

Pull Request resolved: https://github.com/facebook/flipper/pull/4901

Test Plan: - Should pass `js-flipper / build-react-example (pull_request)` workflow.

Reviewed By: antonk52

Differential Revision: D47868448

Pulled By: passy

fbshipit-source-id: edc67ebe3f205d32ec6198b7130ded287997fe50
2023-07-31 05:40:55 -07:00
Lorenzo Blasa
143fe0e719 Cmd failures should be displayed as errors too
Summary:
Styles are applied depending on entry type. This was an issue when we had 'cmd' as a type too.

So, let's simplify and keep type to denote info, warning, or errors.

Later on we can add a different tag if we want to differentiate between logs, command, others.

Reviewed By: passy

Differential Revision: D47912857

fbshipit-source-id: 213a0768a95f63cbd692ba96f6745ab740346a58
2023-07-31 05:16:54 -07:00
Lorenzo Blasa
f301de64f3 iOSDeviceManager queryDevicesForever converted to async
Summary: ^

Reviewed By: lawrencelomax

Differential Revision: D47912037

fbshipit-source-id: ac7a9650c82219a21577e6bca7e08d075ae5da15
2023-07-31 03:55:58 -07:00
Lorenzo Blasa
e9bae419a7 iOSDeviceManager getSimulators converted to async
Summary: ^

Reviewed By: lawrencelomax

Differential Revision: D47911997

fbshipit-source-id: df2cab1986d5ddc7f2bc4e857c76cd178f6a7ccb
2023-07-31 03:55:58 -07:00
Lorenzo Blasa
1f63a25027 idb kill
Summary: Introduce a new command to allow killing idb

Reviewed By: lawrencelomax

Differential Revision: D47911709

fbshipit-source-id: 970f1147a177bbcca0bdfa9e9ba970cdc8a914a3
2023-07-31 03:55:58 -07:00
Lorenzo Blasa
bf96cc2f15 Server notifications using connection troubleshoot notification
Summary: Migrate to new server event which allows troubleshoot

Reviewed By: passy

Differential Revision: D47875977

fbshipit-source-id: 2549bef6ebb26660176747d44e3f535ad9f1d213
2023-07-28 13:04:46 -07:00
Lorenzo Blasa
aaa0a01c6b Notification refactor for consistency
Summary: ^

Reviewed By: aigoncharov

Differential Revision: D47873882

fbshipit-source-id: 9bfb17b1ecadc3489645b456d6760fc217af7759
2023-07-28 12:06:11 -07:00
Pranav Yadav
ea50f19655 iOS-dependent-pod-lint - Bump actions/checkout@v3.5.3 (#4876)
Summary:
This diff bumps `actions/checkout@v3.5.3`

### Ref.:
- `actions/checkout@v3.5.3` changelog: https://github.com/actions/checkout/releases/tag/v3.5.3

## Changelog:

[GENERAL] [SECURITY] - [Actions] `iOS-dependent-pod-lint` - Bump `actions/checkout@v3.5.3`

Pull Request resolved: https://github.com/facebook/flipper/pull/4876

Test Plan: - Workflow should run and work as usual.

Reviewed By: antonk52

Differential Revision: D47868449

Pulled By: passy

fbshipit-source-id: 31eae8adbc0e169e9f154618c20f1b2478483a51
2023-07-28 11:26:34 -07:00
Pranav Yadav
d95b4dc112 iOS-Sample - Bump actions/checkout@v3.5.3 (#4875)
Summary:
This diff bumps `actions/checkout@v3.5.3`

### Ref.:
- `actions/checkout@v3.5.3` changelog: https://github.com/actions/checkout/releases/tag/v3.5.3

## Changelog:

[GENERAL] [SECURITY] - [Actions] `iOS-Sample` - Bump `actions/checkout@v3.5.3`

Pull Request resolved: https://github.com/facebook/flipper/pull/4875

Test Plan: - Workflow should run and work as usual.

Reviewed By: antonk52

Differential Revision: D47868450

Pulled By: passy

fbshipit-source-id: 8d1a12c8ec2344355d0f091606b4db13c5187263
2023-07-28 11:09:00 -07:00
Lorenzo Blasa
df374d4de2 Display connection troubleshoot notification
Summary: Reuse the function that was refactored on previous diff.

Reviewed By: antonk52

Differential Revision: D47873752

fbshipit-source-id: 71e12cd34d1826080487297e308450cb2a2a5c26
2023-07-28 10:25:17 -07:00
Lorenzo Blasa
9dea1266a7 Refactor connection notification
Summary:
Extract notification creation from inside the existing function.

This will be reused to display connection notifications from the server event.

Reviewed By: antonk52

Differential Revision: D47873728

fbshipit-source-id: c01dc93dfef28135ecf7e77e92d4d517af082125
2023-07-28 10:25:17 -07:00
Lorenzo Blasa
1f53c167ab Dedicated connectivity troubleshoot notification
Summary:
There's a generic notification server event.

This change introduces a new notification server event dedicated for connection troubleshoot.

The difference is, this notification will have a button to troubleshoot the issue. Additionally, in the future, we may even be able to add a payload so that we can troubleshoot the exact problem.

Reviewed By: antonk52

Differential Revision: D47873697

fbshipit-source-id: 28843a08836d0054909f6b9ab7a88b14b8a1b868
2023-07-28 10:25:17 -07:00
Lorenzo Blasa
3bef18ff81 Server state error notification key
Summary: ^

Reviewed By: antonk52

Differential Revision: D47869306

fbshipit-source-id: 38a8170a87f1774b8cb421d1ca4145a8e86d4067
2023-07-28 07:22:21 -07:00
Lorenzo Blasa
4dc63261ff EADDRINUSE notification key
Summary: ^

Reviewed By: antonk52

Differential Revision: D47869281

fbshipit-source-id: 35982dbfd674762d2fcd8bd74b99c538307c23b1
2023-07-28 07:22:21 -07:00
Lorenzo Blasa
d64af25eac Server error notification key
Summary: Add key for server error notifications as to prevent duplicates.

Reviewed By: antonk52

Differential Revision: D47869240

fbshipit-source-id: 7c826ab07a8f92bd053200786ed990ad78bbfa67
2023-07-28 07:22:21 -07:00
Lorenzo Blasa
176301979a Open connectivity troubleshoot if unable to find device
Summary: If the notification is shown, allow engineers to switch to the connectivity troubleshooting view as it may highlight where the problem is.

Reviewed By: antonk52

Differential Revision: D47869154

fbshipit-source-id: f4154bb230d891dc4ac108b5acbe7e6541ffed1a
2023-07-28 07:22:21 -07:00
Lorenzo Blasa
7cb91807d3 Set tab active keys and active tab
Summary: ^

Reviewed By: antonk52

Differential Revision: D47868895

fbshipit-source-id: 381e704a7d1d2d1d67c1b4cf2bf482996927b783
2023-07-28 05:34:45 -07:00
Lorenzo Blasa
1b5b4e94f2 Remove GK
Summary:
The intention was to fine tune everything, internally, before making it available.

Because we can immediately benefit from having it, for troubleshooting, then remove the GK

Reviewed By: LukeDefeo, antonk52

Differential Revision: D47868827

fbshipit-source-id: 4d6356081a4abeea8912f20aad065523e7183da8
2023-07-28 05:34:45 -07:00
Lorenzo Blasa
2c310690d1 Remove sidebar title
Summary: ^

Reviewed By: antonk52

Differential Revision: D47868788

fbshipit-source-id: 0e8c4a224140d9c8f1ff91ce282112919ad650bd
2023-07-28 05:34:45 -07:00
Lorenzo Blasa
b1b056485c Top level selection moved to reducer
Summary:
Intention of this change is to simplify and standardise the way top level selection is done.

Top level selection is now part of the state, and thus setting it is done in the reducer instead.

Reviewed By: antonk52

Differential Revision: D47844742

fbshipit-source-id: 8e5aad8975f0046b85098b988cca40228316c249
2023-07-28 04:40:45 -07:00
Lorenzo Blasa
63ed9d7324 Unable to find device notification key
Summary: Add a key such that the same notification does not appear again for the same device/app.

Reviewed By: antonk52

Differential Revision: D47835045

fbshipit-source-id: 78237b4102aa199ebea23b7c5726b567fc4de91e
2023-07-28 04:40:45 -07:00
generatedunixname89002005306973
4d81bc01f0 Flipper Snapshot Bump: v0.209.1-SNAPSHOT
Summary: Releasing snapshot version 0.209.1-SNAPSHOT

Reviewed By: lblasa

Differential Revision: D47836466

fbshipit-source-id: fd5cc4e5de3f65426182ba2765bf378b3c45c08b
2023-07-28 01:54:03 -07:00
generatedunixname89002005306973
27d98663c5 Flipper Release: v0.209.0
Summary: Releasing version 0.209.0

Reviewed By: lblasa

Differential Revision: D47836467

fbshipit-source-id: 4bf76e428a505a5182bb8d5a8608cae9c12e426e
2023-07-28 01:54:03 -07:00
Lorenzo Blasa
dc0fd0a9e7 Windows server packaging
Summary: ^

Reviewed By: passy

Differential Revision: D47833317

fbshipit-source-id: b500f58b4ef0e201d8a711f3a83774fa82a7199b
2023-07-27 07:58:22 -07:00
Lorenzo Blasa
566125af3f spawn to set shell option
Summary: This is needed on Windows, otherwise it just throws an error when using spawn.

Reviewed By: passy

Differential Revision: D47832379

fbshipit-source-id: c1a5094c2e72683a695949cd99b2a1054f01aced
2023-07-27 07:06:58 -07:00
Lorenzo Blasa
5b2d20e0e0 Scaffolding for windows bundle
Summary: Just adds a function stub that will add the necessary run script for windows.

Reviewed By: passy

Differential Revision: D47627532

fbshipit-source-id: 09b6a203c2a5def20e586b5753d95ca58797852a
2023-07-27 07:06:58 -07:00