Summary: Let's keep it simple, do not reload. Just show/hide the right content.
Reviewed By: antonk52
Differential Revision: D49377316
fbshipit-source-id: 9b2a47374da3e72f17e2d55c9290960b703fd43e
Summary:
Whenever there was a connectivity error, we would show an error message and setup a retry mechanism as to refresh the page as to make it transparent for engineers to have a working workspace again.
The problem is that there are two different channels:
- HTTP server
- WS server
If the HTTP server is healthy but there is a WS error, it is not entirely correct to try to reload the page. If the error conditions for the WS remain, then we end up in a loop.
Reviewed By: passy, antonk52
Differential Revision: D49373335
fbshipit-source-id: 4e0a08fe2384860db0bf92a22edc87402d41651c
Summary:
Our development defaults should match the user defaults.
For anyone still wanting to test electron, use `yarn start-electron`.
Changelog: `yarn start` now launches the in-browser version of Flipper. Use `yarn start-electron` for the old behaviour.
Reviewed By: lblasa
Differential Revision: D49371369
fbshipit-source-id: a97ad1650ad851a4573fdfe52f606ac2f5a296ba
Summary: Make it more explicit. What has succeeded, failed, started.
Reviewed By: ivanmisuno
Differential Revision: D49227799
fbshipit-source-id: fe9e6baaff227cf1db0b3150a3ee8cf194d2b6e6
Summary:
There's no notion of restarting Flipper when running as a PWA.
In the meantime, update the advise message we give to engineers as to wait 30 seconds before attempting to relaunch (Flipper server keeps running in the background for 30 seconds after quitting)
Reviewed By: antonk52
Differential Revision: D49369707
fbshipit-source-id: 9451265f8941e457e734d1cb0ea74a0dea492b88
Summary:
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.105 to 1.0.106.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.106</h2>
<ul>
<li>Add <code>Value::as_number</code> accessor (<a href="https://redirect.github.com/serde-rs/json/issues/1069">https://github.com/facebook/flipper/issues/1069</a>, thanks <a href="https://github.com/chanced"><code>@chanced</code></a>)</li>
<li>Add <code>Number::as_str</code> accessor under "arbitrary_precision" feature (<a href="https://redirect.github.com/serde-rs/json/issues/1067">https://github.com/facebook/flipper/issues/1067</a>, thanks <a href="https://github.com/chanced"><code>@chanced</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="45f10ec816"><code>45f10ec</code></a> Release 1.0.106</li>
<li><a href="f346308cda"><code>f346308</code></a> Elaborate on documentation of Number::as_str</li>
<li><a href="f16cad635d"><code>f16cad6</code></a> Add cfg banner to documentation of Number::as_str</li>
<li><a href="fc8dd13aa2"><code>fc8dd13</code></a> Touch up PR 1067</li>
<li><a href="028b643930"><code>028b643</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/json/issues/1067">https://github.com/facebook/flipper/issues/1067</a> from chanced/add-as_str-to-number</li>
<li><a href="db75c22990"><code>db75c22</code></a> Fix unintended u8 link inferred by intra doc link</li>
<li><a href="11b603cf07"><code>11b603c</code></a> Resolve rustdoc::redundant_explicit_links lint</li>
<li><a href="95c5d6c8be"><code>95c5d6c</code></a> Fix documentation typo from PR 1069</li>
<li><a href="5a39516161"><code>5a39516</code></a> Reorder Value::as_number after is_number</li>
<li><a href="6a5fef9190"><code>6a5fef9</code></a> Wrap as_number documentation to 80 columns</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/json/compare/v1.0.105...v1.0.106">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 show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `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/5128
Reviewed By: antonk52
Differential Revision: D49313905
Pulled By: passy
fbshipit-source-id: 24eab521c3f0f0957db740854e614d94d0c13ef8
Summary:
The existing loading page was not behaving the way it was intended. The previous implementation triggered a page reload which made the whole retry mechanism useless.
Instead, a new endpoint was defined to expose whether the server is ready or not. Use this instead as a way of knowing whether we are good to reload the page.
Reviewed By: passy
Differential Revision: D49314749
fbshipit-source-id: eb67765d7deab8610fa5d31e710070da43a18c1c
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/5147
Reviewed By: lawrencelomax
Differential Revision: D49313900
Pulled By: passy
fbshipit-source-id: 95ca11cb6354502097fb7b831fbafc6011fd4a97
Summary: Bloks ios is serializing some ns dictionary without registering the metadata, this means the look up fails. That said regsitering metadata for dictionarys where the keyspace is unbounded doesnt make any sense so for this case we can just fall back to the key as the name. Since we can rely on the id lookup passing we iterarates the enties of the object
Reviewed By: passy, ivanmisuno
Differential Revision: D49314398
fbshipit-source-id: 65f7beb0d8402b08a68b9f00b7605e0b6c44766f
Summary:
There was a frustrating issue previously where the UI would jump everytime a new frame came in with bloks data. This would occur constantly as the client was generating new frames every 10 seconds. The issue was because the previous appraoch to speed up the augmentation was to display the raw client raw and then asynchronously process a new frame with the added derived components.
The issue was the raw client frame has less nodes so we would breifly display this, and because the reduciton trace was cache on the next tick we would show this causing a jump.
Now we have a new solution:
1. We use an event emitter to push frames / metadata into the interceptor
2. The interceptor should always produce 1 frame, this can be the same or augmented, for open source its just the same
3. We use react query to check if we already have the reduction trace cached, if so then we are able to quickly process the whole thing, if not its split into 2 parts.
React query is also nice since we can add a cache time for the reduciton traces which are very large and not useful one your screen is gone. This should help keep memory usage under control a bit.
one other benefit to this approach is i can remove the error handling stuff from the main plugin code, since the blok augmentation is not on the critical path and it can retry internally and push out a new frame whenever.
Reviewed By: antonk52
Differential Revision: D49272152
fbshipit-source-id: e5539d36231a32754e8612014195449b9faafdb1
Summary:
We had our stack traces broken for a long time. They always pointed at the bundle.js file. With this change the stack traces **in the console** will be pointing at the actual source files. This will save a lot of time for engineers instead of manually looking for the source of errors.
Why this didn't work before?
When we were calling `console.error(error.toString())` the browser was not applying sourcemaps to the stacktrace as it interpreted as a random string. However, when you pass an actual instance of Error constructor, the sourcemaps will be applied and we get correct stack traces to the source files.
I looked at the code of the Logger and it is already handles the Error instances, so I think this should be fine also for the logs that go to scuba. CC passy
Reviewed By: LukeDefeo, passy
Differential Revision: D49275025
fbshipit-source-id: 2addc601f45622e35890d7d0e1992f4bca41a338
Summary: Generate auth token on whenever we load the secure server config, and add more logs.
Reviewed By: antonk52
Differential Revision: D49272857
fbshipit-source-id: 1e549a8bfd7926e9a44b9480432e92ee3c0162b2