Commit Graph

349 Commits

Author SHA1 Message Date
generatedunixname89002005306973
b06272344b Flipper Release: v0.220.0
Summary: Releasing version 0.220.0

Reviewed By: lblasa

Differential Revision: D49375501

fbshipit-source-id: 5efe6e1c47d566f0c8b1409cf14fa302fc4178d8
2023-09-18 11:49:40 -07:00
Lorenzo Blasa
342ef42114 Break connection loop
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
2023-09-18 08:57:15 -07:00
Lorenzo Blasa
9e219b07d8 Fix Loading page
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
2023-09-15 05:29:40 -07:00
generatedunixname89002005306973
879c57fb34 Flipper Release: v0.217.0
Summary: Releasing version 0.217.0

Reviewed By: lblasa

Differential Revision: D49227620

fbshipit-source-id: ac587ecb7f4821d55d123f99c16336e74e276fd4
2023-09-13 06:56:59 -07:00
Lorenzo Blasa
a5a3e0494a Better installation wizard
Summary: A few improvements to the installation wizard.

Reviewed By: antonk52

Differential Revision: D49145069

fbshipit-source-id: 1aadd85e1d187bd61983a0b4201b530cbdbf509a
2023-09-11 07:12:20 -07:00
Lorenzo Blasa
d4065aba12 Loading timeout set to a second
Summary: Push the timeout to one second. Users are not going to mind if we try to load after a second but they can mind if they see their tab attempt to reload several times a second.

Reviewed By: ivanmisuno

Differential Revision: D49054898

fbshipit-source-id: 132168a1d6d381f76500bcc9c0a00e05ef0c541b
2023-09-07 06:28:23 -07:00
Lorenzo Blasa
aec376a09a Open an existing window if there is one
Summary:
Before this change, opening deep-links or importing files would open new windows.

Instead, just use an existing window if there is one.

Documentation: https://developer.chrome.com/docs/web-platform/launch-handler/

Reviewed By: lawrencelomax

Differential Revision: D48865950

fbshipit-source-id: 80c3fb58f1fcc3b8ace00fd9241bf1e374c8345e
2023-08-31 06:04:32 -07:00
generatedunixname89002005306973
43db3d561d Flipper Release: v0.214.0
Summary: Releasing version 0.214.0

Reviewed By: lblasa

Differential Revision: D48834386

fbshipit-source-id: 74c46a0b57ae6dbf1a17fd7b9d958709868ee13a
2023-08-30 13:29:50 -07:00
Lorenzo Blasa
2858259497 Launch early, even if not ready
Summary:
Flipper Launcher downloads, unpacks, launches Flipper, and closes itself.

This is fine except for the fact that Flipper may be initiating and thus there's a gap of a few seconds until engineers see the main Flipper UI.

This change improves this by launching earlier, even if just showing a loading page until Flipper is actually ready.

Reviewed By: passy, aigoncharov

Differential Revision: D48824479

fbshipit-source-id: aa6147a09f313d80592c9b08d089660ba73773a4
2023-08-30 05:08:26 -07:00
generatedunixname89002005306973
27ebbbb951 Flipper Release: v0.213.0
Summary: Releasing version 0.213.0

Reviewed By: lblasa

Differential Revision: D48685726

fbshipit-source-id: 7726ff795d5d3c6609c3dbcaccd38964c6edf4d7
2023-08-25 09:21:17 -07:00
Lorenzo Blasa
aa327b1a46 Deep-link scaffolding
Summary:
This change adds the necessary scaffolding to enable deep-link for PWA.

1. Registers the protocol/scheme in the manifest.json
2. Add a skeleton handler that parses the received arguments

Notes for reviewers:

PWA cannot reuse the 'flipper://' scheme as is not allowed. PWA schemes are limited. The only extension point is 'web+...' which is the one that is used.

Reviewed By: antonk52

Differential Revision: D48562301

fbshipit-source-id: e191fcb1a6604d20a55c1acdadf6a8eb0194895b
2023-08-24 07:25:01 -07:00
Pascal Hartig
160b05a5bd Bump deps
Summary:
This updates minor and patch level dependencies. Frustratingly, I had to revert a bunch
of changes in that version range that still caused incompatibilities and test failures.

If I find time, I'll dig a bit deeper.

Reviewed By: ivanmisuno

Differential Revision: D48433210

fbshipit-source-id: 9ab12e774c1992d4f22cc1428d34f102ce820b75
2023-08-21 03:03:30 -07:00
generatedunixname89002005306973
cc9c26d214 Flipper Release: v0.212.0
Summary: Releasing version 0.212.0

Reviewed By: lblasa

Differential Revision: D48473694

fbshipit-source-id: 751e563523881120795bbfef83616d89dcaa5f45
2023-08-19 03:47:16 -07:00
Lorenzo Blasa
4ff9279a0b Offline troubleshoot when server disconnects
Summary:
If there server disconnects, we used to show a red box message on the lower left section of the screen. It didn't say much other than the server had disconnected.
If you are aware of what the server is, then you may try to manually restart it.

Instead of doing that, a much better experience is to show the no connection troubleshoot with the button to start the server or with instructions on how to achieve this.

Reviewed By: antonk52

Differential Revision: D48467308

fbshipit-source-id: 0ffded95789c7548d9f1e1a9127409e02e72ab8c
2023-08-18 07:59:51 -07:00
Lorenzo Blasa
ce13ee426f Open file import
Summary: This change only adds the PWA as capable of handling files with the ".flipper" extension.

Reviewed By: aigoncharov

Differential Revision: D48353437

fbshipit-source-id: fd78942ac4dffb7d26d5ca5be826290018465b93
2023-08-17 13:46:08 -07:00
generatedunixname89002005306973
f81eb544fa Flipper Release: v0.210.0
Summary: Releasing version 0.210.0

Reviewed By: lblasa

Differential Revision: D47994316

fbshipit-source-id: 24559a57d58a769f6e578cf344135522e4e7c9be
2023-08-02 09:48:04 -07:00
generatedunixname89002005306973
6962289ad9 Flipper Release: v0.208.0
Summary: Releasing version 0.208.0

Reviewed By: aigoncharov

Differential Revision: D47791662

fbshipit-source-id: 9a93f9d49c0fa9a3e1598e3f00f988a94cc1eea0
2023-07-26 04:32:34 -07:00
Luke De Feo
0e15dce033 New Tree design
Summary:
1. Add indent guidess to all tree depths
2. Monospaced font
3. cleaned up alignment of icons
4. Gave everything a bit more space to breathe

Changelog: UI Debugger Tree UI refresh, added indent guides and fixed alignment

Reviewed By: mweststrate

Differential Revision: D47626869

fbshipit-source-id: e4509621cda6c254f7dd5a7ec9b99c13efb577f4
2023-07-26 03:22:38 -07:00
generatedunixname89002005306973
503abd6d22 Flipper Release: v0.207.0
Summary: Releasing version 0.207.0

Reviewed By: lblasa

Differential Revision: D47629967

fbshipit-source-id: 625011003adde117d024754aab65327dc44e147a
2023-07-20 06:41:58 -07:00
Luke De Feo
2111067d01 Add icon for litho mountables
Summary:
Requested by litho team

Changelog: UIDebugger Add seperate icon for litho mountables

Changelog: UIDebugger Serialize all props using java.lang.toString

Changelog: UIDebugger show drawables mounted by litho

Reviewed By: lblasa

Differential Revision: D47295799

fbshipit-source-id: ce5b9384e4796a5c58080a289709ed9f7afdf329
2023-07-17 09:33:42 -07:00
generatedunixname89002005306973
64db93136c Flipper Release: v0.205.0
Summary: Releasing version 0.205.0

Reviewed By: lblasa

Differential Revision: D47439005

fbshipit-source-id: 85b299368111d48cee7be184a2745146e19bd835
2023-07-13 09:49:18 -07:00
Lorenzo Blasa
a165d37ab3 Grey icon for PWA
Summary:
Right now, both Launcher and PWA share the same icon.

As to make it easier to identify which one is which, PWA will have a greyed icon instead.

Reviewed By: antonk52

Differential Revision: D47436998

fbshipit-source-id: 69d4d273c35e327263fbbf02d4ac7a005013f1d9
2023-07-13 07:41:44 -07:00
Lorenzo Blasa
dac8c5b213 Usage track now internal to tracking
Summary:
Usage tracking comes from Electron's `main.tsx`. There's a timer that dispatches an IPC event every 60 seconds.

This is all good for Electron builds.

For non-electron builds, there's no such thing as IPC.

So, react to the IPC event whenever necessary but also handle the interval internally such that usage is tracked independently of explicit callers.

Reviewed By: antonk52

Differential Revision: D47053404

fbshipit-source-id: f17694e65eed18678b45a2e815813bafab69c3f1
2023-06-27 07:17:06 -07:00
Steven Chaitoff
1cbeaf4ebb Add link to Flipper GraphQL plugin
Summary:
This just adds a link next to each request in the Flipper GraphQL plugin to take you to the mobile GraphQL efficiency tool. We want this to be a kind of hub for mobile devs using GraphQL, alongside GraphiQL.

This was a suggestion from a product dev who attended our demo. Later we could also pull down actually efficiency info and show it directly in Flipper.

Reviewed By: ginfung

Differential Revision: D47029548

fbshipit-source-id: 05185e57bfbfaab9169a6b154822ede82d50fd4d
2023-06-26 13:41:54 -07:00
generatedunixname89002005306973
ad9d77ee8c Flipper Release: v0.201.0
Summary: Releasing version 0.201.0

Reviewed By: lblasa

Differential Revision: D46892243

fbshipit-source-id: 47e2389e5e5fa276ae4e1738b9691b9f9dfc4bea
2023-06-21 06:40:48 -07:00
generatedunixname89002005306973
2ea745010a Flipper Release: v0.200.0
Summary: Releasing version 0.200.0

Reviewed By: lblasa

Differential Revision: D46839331

fbshipit-source-id: 1f578200c45444757165e41c9c6bc96bd66cc476
2023-06-19 08:18:51 -07:00
Lorenzo Blasa
7fcaf52c71 Show error in box if one is available
Summary: Add a check to prevent the odd error when the box is no longer available to display an error.

Reviewed By: antonk52

Differential Revision: D46763634

fbshipit-source-id: 6ac2c404c842ff989b037c991b5f085baacd2f9a
2023-06-15 08:53:16 -07:00
generatedunixname89002005306973
a60f5aa049 Flipper Release: v0.197.0
Summary: Releasing version 0.197.0

Reviewed By: lblasa

Differential Revision: D46722287

fbshipit-source-id: 365052d289415dd3cc47326753c124427c6c7e67
2023-06-14 07:31:01 -07:00
Lorenzo Blasa
c431969dde Improved offline page
Summary:
This change improves our offline page. Mainly:

- Remove Oops! wording as it may imply some error took place.
- Remove the reload button. Automatic reload takes place at 2.5s intervals so this is unnecessary.

Changelog: Improved offline page (reload button removal)

Reviewed By: antonk52

Differential Revision: D46720650

fbshipit-source-id: 522f86d1a4d3d4b091672077cba1a26f898d19e8
2023-06-14 04:44:51 -07:00
Pascal Hartig
4ed40506bf Make PWA menu bar the Flipper color
Summary:
{F1026310422}

I think it's quite nice having a matching title bar and buttons?

Changelog: The Flipper PWA now uses the Flipper purple as theme color

Reviewed By: lblasa

Differential Revision: D46646266

fbshipit-source-id: 1bc6573c3cd863678ceed5b9358a78d19606ee8a
2023-06-12 09:22:54 -07:00
Lorenzo Blasa
353e51e2ea Better error message format
Summary:
The existing error message was not in the centre and didn't give any possible remediation steps.

{F1015240268}

Reviewed By: passy

Differential Revision: D46394149

fbshipit-source-id: 09d450bef9df83c5b3af3ba49c7e0fafb81bfdce
2023-06-02 09:35:32 -07:00
Olivier Chalouhi
f44b168013 Add settings icon to flipper
Summary: Added a new icon to flipper

Differential Revision: D46243405

fbshipit-source-id: a6cde805a0ef2b006eb88ec5e4e79b6c4925facd
2023-05-31 15:49:24 -07:00
Lorenzo Blasa
eaaac54bc4 Manifest as template
Summary:
The file manifest.json is injected with the auth token and it happens with every launch.

Because the file is tracked, these changes will always get picked no matter what the .gitignore file specifies, because is a tracked file.

So, the solution is to have a template with a different name, that gets copied into the right location during build time.

Reviewed By: LukeDefeo

Differential Revision: D46184772

fbshipit-source-id: 938b9433045485d9846a6a50c1c955ebe7925581
2023-05-25 08:21:41 -07:00
generatedunixname89002005306973
55271bcfa4 Flipper Release: v0.191.0
Summary: Releasing version 0.191.0

Reviewed By: lblasa

Differential Revision: D45986192

fbshipit-source-id: 15f544da6c3904647ffd4c9b165042ab66fef933
2023-05-18 09:12:47 -07:00
Lorenzo Blasa
e272705af3 Add button to attempt start Flipper server
Summary: If Flipper server is not running, the offline landing site will offer an option to start it by trying to open 'start-server' under the `flipper-launcher://` scheme.

Reviewed By: mweststrate

Differential Revision: D45950872

fbshipit-source-id: 0d4e22c8474413e914c3c7b4fc9154ae628a8b42
2023-05-17 11:01:37 -07:00
Lorenzo Blasa
c6d5eb3334 Flipper as PWA
Summary:
^

Reference: https://docs.google.com/document/d/1flQJUzTe4AuQz3QCpvbloQycenHsu7ZxbKScov7K7ao

Reviewed By: passy

Differential Revision: D45693382

fbshipit-source-id: 5a2e6c213a7e7e2cf9cd5f3033cff3e5291a2a92
2023-05-16 04:32:47 -07:00
Lorenzo Blasa
238f40f55d Mandate auth token to connect over TCP
Summary:
Until now, launching flipper-server with TCP would accept any incoming connection as long as it comes from the same origin (localhost) using web socket host origin verification.

This is not entirely secure as origin can be spoofed with tools like curl.

Our team created a security review and a proposal was written:
https://docs.google.com/document/d/16iXypCQibPiner061SoaQUFUY9tLVAEpkKfV_hUXI7c/

Effectively, Flipper can generate a token which is then used by the client to authenticate.

This diff contains the changes required to generate, obtain, and validate authentication tokens from clients connecting to flipper over TCP connections.

The token itself is a JWT token. JWT was chosen because it is a simple industry standard which offers three features which can immediately benefit us:

- Expiration handling. No need for Flipper to store this information anywhere.
- Payload. Payload can be used to push any data we deem relevant i.e. unix username.
- Signing. Signed and verified using the same server key pair which is already in place for certificate exchange.

Additionally, the token is stored in the Flipper static folder. This ensures that the browser and PWA clients have access to it.

Reviewed By: mweststrate

Differential Revision: D45179654

fbshipit-source-id: 6761bcb24f4ba30b67d1511cde8fe875158d78af
2023-05-05 07:52:13 -07:00
Ivan Misuno
23ba461ab3 Scaffolding FlipperKitBloksDebuggerPlugin
Summary:
Add scaffolding for the bloks-debugger plugin (Flipper, iOS).
On iOS side, integrate with fbios, igios, msgios & FBBloksShell playground apps.

Reviewed By: aigoncharov

Differential Revision: D43306472

fbshipit-source-id: ffc6348d6e0810d4ddeebe3b192b7bf06049a2d1
2023-03-09 13:05:36 -08:00
Sash Zats
11f5330d7c Basic flipper plugin to record intents
Summary:
The plugin is inteded to record intents being dispatched and handled
Current version is pretty simple and just records the intents correctly handled by IG app only (for now, integration is simple enough to add to FB, too)
Plugin prints the data associated with the target

Differential Revision: D43494264

fbshipit-source-id: 3e3cd41ade1d083990d15b3c2eb815db157c7163
2023-02-23 01:27:49 -08:00
generatedunixname89002005306973
690a8df436 Flipper Release: v0.181.0
Summary: Releasing version 0.181.0

Reviewed By: lblasa

Differential Revision: D43351298

fbshipit-source-id: ac2196a1780ef58c04c20f56ea46bf9700cababb
2023-02-16 07:04:28 -08:00
generatedunixname89002005306973
44451a3749 Flipper Release: v0.178.0
Summary: Releasing version 0.178.0

Reviewed By: lblasa

Differential Revision: D42918309

fbshipit-source-id: c1b7c9fa6088e71109cb998a460d472664d2c191
2023-02-02 04:46:35 -08:00
Pascal Hartig
18b6ce6f24 Dep bump
Summary: Combining a bunch of individual tasks for dep upgrades into one diff.

Reviewed By: ivanmisuno

Differential Revision: D42706074

fbshipit-source-id: 054b2545ad1295699f47f4c6eb5065b7b9a1d6a0
2023-01-25 04:35:09 -08:00
Raahul Natarrajan
ec8d34d556 Create VR Call Hub Flipper plugin
Summary: As part of BE, this diff creates the initial Flipper plugin for VR Call Hub using `scarf flipper-plugin` from the tutorial https://www.internalfb.com/intern/staticdocs/flipper/docs/tutorial/intro/

Differential Revision: D42146201

fbshipit-source-id: 8bc52184b21b2e47304f694068d11fd962b07b9d
2022-12-19 14:06:03 -08:00
Lorenzo Blasa
d66b513298 Add CK and iOS tags
Summary: ^

Reviewed By: LukeDefeo

Differential Revision: D41876581

fbshipit-source-id: 79b98a06abb503f4cd39a61a2ed90e7899b8fd68
2022-12-13 10:02:05 -08:00
Lorenzo Blasa
4bd5314b0c Better Open In IDE design
Summary: ^

Reviewed By: LukeDefeo

Differential Revision: D41584984

fbshipit-source-id: db8bd28854ed963d3370cf061a56aa63bfbf4f54
2022-11-29 10:26:24 -08:00
Lorenzo Blasa
1adcf2bc68 No data available
Summary: If there are no attributes for a given section, display a 'No data available' message rather than having an empty panel.

Reviewed By: antonk52

Differential Revision: D41400252

fbshipit-source-id: 0337702f638b9b917e6b3be5962838d2eb15c20d
2022-11-18 05:21:56 -08:00
generatedunixname89002005306973
1923ad0142 Flipper Release: v0.172.0
Summary: Releasing version 0.172.0

Reviewed By: aigoncharov

Differential Revision: D40720215

fbshipit-source-id: 24b3c7a82d285ee6bfc1819a38aaa7243350ea0a
2022-10-26 08:55:46 -07:00
Lorenzo Blasa
c46ddf7912 Foundations for inspector
Summary:
^

This laids the foundation for the inspector. It just reorganises a few bits.

Reviewed By: LukeDefeo

Differential Revision: D40319611

fbshipit-source-id: 8cf9b151c631faa1f26a7a6dfaa86b01abc42fe5
2022-10-25 03:09:00 -07:00
generatedunixname89002005306973
71d0bbb90a Flipper Release: v0.171.0
Summary: Releasing version 0.171.0

Reviewed By: aigoncharov

Differential Revision: D40436300

fbshipit-source-id: 700b21b8025f32a6d81d19aa64ab0fb38e31d3c2
2022-10-17 11:48:51 -07:00
generatedunixname89002005306973
dd99fc8e79 Flipper Release: v0.169.0
Summary: Releasing version 0.169.0

Reviewed By: lblasa

Differential Revision: D40173740

fbshipit-source-id: 6009a2621d98a706a94c5bca1121946b9604b7ab
2022-10-07 04:57:44 -07:00