Summary:
THis is useful for bloks where fliper needs to be open before hand,
We might also be able to replace some of the annoying notification bubles with these sleeker inline warnings
Reviewed By: lblasa
Differential Revision: D49454977
fbshipit-source-id: fca4fbd3258a68d93c75655cfff247adfa3e6bb2
Summary: Make non-interactive elements non-focusable and disable hover styles for them
Reviewed By: LukeDefeo
Differential Revision: D49455532
fbshipit-source-id: a047e1a149ab4131feef70b80a4995b455441701
Summary: Each search term renderer handles its "editing" state internally now. As a result, we can simplify switch-case
Reviewed By: antonk52
Differential Revision: D49454252
fbshipit-source-id: 297ce73f53772b0112ed338c6aac0583f3807ec8
Summary: For the purposes of the demo I added power search config for a float field to the summary field
Reviewed By: lblasa
Differential Revision: D49452844
fbshipit-source-id: 26aaadd07a1a8a67dfcf3cb9d8e487f8f4ee2214
Summary: For the purposes of the demo I added power search config for an integer field to the summary field
Reviewed By: lblasa
Differential Revision: D49452729
fbshipit-source-id: 78b8fdccfd799a0f71f652d90d10e11db237cbae
Summary:
At the end of the stack we are going to unify two branches of the switch-case in PowerSearchTerm.tsx.
Each search term is going to handle the finalized and "editing" mode internally
Reviewed By: lblasa
Differential Revision: D49451975
fbshipit-source-id: 587ba332d1fbfbaefb368e37965543575e64062f
Summary: Used last year to GK server usage. This is obsolete so is safe to remove.
Reviewed By: ivanmisuno
Differential Revision: D49414625
fbshipit-source-id: 9eeff932c59c90dff829e4c6c83bad43a0fd74e3
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:
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:
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: 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