Files
flipper/desktop
Andrey Goncharov f4a286d9c7 Override intern graph calls in flipper-ui-core
Summary:
> "Hi, kids, do you like violence?"

Alrighty, in flipper-frontend-core we have the **base** implmenetation of flipperLib (the thing exposed to the plugins). This base implementation is never used directly by the plugins, rather it is shared code used by the  real consumers - flipper-ui-core (regular Flipper with UI) and flipper-server-companion (the thing that allows hosting plugins on the server).
These real consumers actually run the plugins and expose flipperLib to the plugins.
In flipper-ui-core we have a more sophisticated logic of calling the intern graph - we check for VPN connection and authn. Therefore, to expose the same way of handling intern graph requests we **override** intern graph calls provided by flipper-frontend-core.
*Ideally*, we should move checking for VPN connection and authn to flipper-frontend-core, but currently it is a lot of effort for very little gains:
1. flipper-frontend-core does not have a notion of a user
2. Even if we move the authn-related logic there the only real consumer of that effort if flipper-server-companion that is used only by UIQR (which in its turn is barely used in the headless mode and do not require authn-related logic).

Thus, we just override intern graph request on the flipper-ui-core side since it is the simplest and the most impactful thing to do at the moment.

Reviewed By: LukeDefeo

Differential Revision: D49494922

fbshipit-source-id: 6f1d521af7ca5bd50549b7bc328d6b8fcab98389
2023-09-21 03:15:10 -07:00
..
2023-09-20 04:10:39 -07:00
2023-09-05 07:17:06 -07:00
2023-08-21 03:03:30 -07:00
2023-08-21 03:03:30 -07:00
2023-08-21 03:03:30 -07:00
2023-09-20 05:39:33 -07:00
2023-08-29 05:06:18 -07:00
2023-09-14 07:04:59 -07:00
2023-08-30 07:26:35 -07:00
2023-09-05 07:17:06 -07:00
2023-09-05 07:17:06 -07:00
2023-09-05 07:17:06 -07:00
2023-09-18 03:19:44 -07:00
2023-08-30 07:26:35 -07:00
2023-05-23 08:58:24 -07:00
2021-09-27 08:25:20 -07:00
2023-05-31 14:19:29 -07:00
2023-09-18 11:49:40 -07:00
2023-09-12 03:55:37 -07:00
2023-08-29 05:06:18 -07:00
2023-08-29 05:06:18 -07:00
2023-09-05 07:17:06 -07:00

Flipper Desktop

This folder contains everything to run the Flipper 'Desktop', that is, the UI which you use to interact with the device / app under debug.

Packages provided here:

  • flipper-common: utilities & types shared between client, server, and plugins
  • flipper-server-core: all device & client management goes in here. Basically flipper's backend
  • flipper-ui-core: all UI goes in here, as far as it doesn't depend on Electron
  • app: the Electron app, will load flipper-server-core and flipper-ui-core, and glue them together, providing implementations for some electron specific stuff like dialogs
  • flipper-server: A node process hosting flipper-server-core that can be connected to over websockets. Also, it can serve a browser version of the UI as well.
  • flipper-ui-browser: thin wrapper around flipper-ui-core, providing some browser specific behavior / stubs.
  • flipper-dump: (might remove later) as an alternative way to test flipper-server-core.
  • flipper-plugin: The flipper SDK used by plugins. Exposes all API's that can be used by plugins
  • pkg: CLI tool to manage building flipper plugins
  • pkg-lib
  • plugin-lib
  • babel-transformer
  • doctor
  • eslint-plugin-flipper

Packages overview

app:
   - flipper-server-core (directly embedded)
   - flipper-ui-core
       - plugins (prebundled)
   - plugins (installable)
       - flipper-plugin

flipper-server
   - flipper-server-core
   - flipper-ui-browser (served by webserver)
       - flipper-ui-core (communicates using web sockets with server-core)
           - plugins (prebundled)
   - plugins (installable)?

flipper-dump
   - flipper-server-core