Flipper as PWA

Summary:
^

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

Reviewed By: passy

Differential Revision: D45693382

fbshipit-source-id: 5a2e6c213a7e7e2cf9cd5f3033cff3e5291a2a92
This commit is contained in:
Lorenzo Blasa
2023-05-16 04:32:47 -07:00
committed by Facebook GitHub Bot
parent 47a4c10c67
commit c6d5eb3334
13 changed files with 556 additions and 70 deletions

View File

@@ -11,7 +11,10 @@ import {getLogger, Logger, setLoggerInstance} from 'flipper-common';
import {initializeRenderHost} from './initializeRenderHost';
import {createFlipperServer, FlipperServerState} from 'flipper-server-client';
document.getElementById('root')!.innerText = 'flipper-ui-browser started';
const loadingContainer = document.getElementById('loading');
if (loadingContainer) {
loadingContainer.innerText = 'Loading...';
}
async function start() {
// @ts-ignore
@@ -27,20 +30,30 @@ async function start() {
const logger = createDelegatedLogger();
setLoggerInstance(logger);
const params = new URL(location.href).searchParams;
let token = params.get('token');
if (!token) {
const manifestResponse = await fetch('manifest.json');
const manifest = await manifestResponse.json();
token = manifest.token;
}
const searchParams = new URLSearchParams({token: token ?? ''});
const flipperServer = await createFlipperServer(
location.hostname,
parseInt(location.port, 10),
location.search,
searchParams,
(state: FlipperServerState) => {
switch (state) {
case FlipperServerState.CONNECTING:
window.flipperShowError?.('Connecting to flipper-server...');
window.flipperShowError?.('Connecting to server...');
break;
case FlipperServerState.CONNECTED:
window?.flipperHideError?.();
break;
case FlipperServerState.DISCONNECTED:
window?.flipperShowError?.('Lost connection to flipper-server');
window?.flipperShowError?.('Lost connection to server');
break;
}
},