Changeset View
Changeset View
Standalone View
Standalone View
web/root.js
// @flow | // @flow | ||||
import * as React from 'react'; | import * as React from 'react'; | ||||
import { Provider } from 'react-redux'; | import { Provider } from 'react-redux'; | ||||
import { Router, Route } from 'react-router'; | import { Router, Route } from 'react-router'; | ||||
import { createStore, applyMiddleware, type Store } from 'redux'; | import { createStore, applyMiddleware, type Store } from 'redux'; | ||||
import { composeWithDevTools } from 'redux-devtools-extension/logOnlyInProduction.js'; | import { composeWithDevTools } from 'redux-devtools-extension/logOnlyInProduction.js'; | ||||
import { persistReducer, persistStore } from 'redux-persist'; | import { persistReducer, persistStore } from 'redux-persist'; | ||||
import { PersistGate } from 'redux-persist/es/integration/react.js'; | import { PersistGate } from 'redux-persist/es/integration/react.js'; | ||||
import storage from 'redux-persist/es/storage/index.js'; | |||||
import thunk from 'redux-thunk'; | import thunk from 'redux-thunk'; | ||||
import { reduxLoggerMiddleware } from 'lib/utils/action-logger.js'; | import { reduxLoggerMiddleware } from 'lib/utils/action-logger.js'; | ||||
import { isDev } from 'lib/utils/dev-utils.js'; | import { isDev } from 'lib/utils/dev-utils.js'; | ||||
import App from './app.react.js'; | import App from './app.react.js'; | ||||
import { databaseModule } from './database/database-module-provider.js'; | import { databaseModule } from './database/database-module-provider.js'; | ||||
import { SQLiteDataHandler } from './database/sqlite-data-handler.js'; | import { SQLiteDataHandler } from './database/sqlite-data-handler.js'; | ||||
import { isSQLiteSupported } from './database/utils/db-utils.js'; | import { isSQLiteSupported } from './database/utils/db-utils.js'; | ||||
import ErrorBoundary from './error-boundary.react.js'; | import ErrorBoundary from './error-boundary.react.js'; | ||||
import Loading from './loading.react.js'; | import Loading from './loading.react.js'; | ||||
import commReduxStorageEngine from './redux/comm-redux-storage-engine.js'; | |||||
import { createAsyncMigrate } from './redux/create-async-migrate.js'; | import { createAsyncMigrate } from './redux/create-async-migrate.js'; | ||||
import { reducer } from './redux/redux-setup.js'; | import { reducer } from './redux/redux-setup.js'; | ||||
import type { AppState, Action } from './redux/redux-setup.js'; | import type { AppState, Action } from './redux/redux-setup.js'; | ||||
import history from './router-history.js'; | import history from './router-history.js'; | ||||
import Socket from './socket.react.js'; | import Socket from './socket.react.js'; | ||||
import { workerRequestMessageTypes } from './types/worker-types.js'; | import { workerRequestMessageTypes } from './types/worker-types.js'; | ||||
const initiallyLoggedInUserID = preloadedState.currentUserInfo?.anonymous | const initiallyLoggedInUserID = preloadedState.currentUserInfo?.anonymous | ||||
▲ Show 20 Lines • Show All 45 Lines • ▼ Show 20 Lines | const persistWhitelist = [ | ||||
'deviceID', | 'deviceID', | ||||
'cryptoStore', | 'cryptoStore', | ||||
'notifPermissionAlertInfo', | 'notifPermissionAlertInfo', | ||||
'commServicesAccessToken', | 'commServicesAccessToken', | ||||
]; | ]; | ||||
const persistConfig = { | const persistConfig = { | ||||
key: 'root', | key: 'root', | ||||
storage, | storage: commReduxStorageEngine, | ||||
whitelist: isDatabaseSupported | whitelist: isDatabaseSupported | ||||
? persistWhitelist | ? persistWhitelist | ||||
: [...persistWhitelist, 'draftStore'], | : [...persistWhitelist, 'draftStore'], | ||||
migrate: (createAsyncMigrate(migrations, { debug: isDev }): any), | migrate: (createAsyncMigrate(migrations, { debug: isDev }): any), | ||||
version: 2, | version: 2, | ||||
}; | }; | ||||
declare var preloadedState: AppState; | declare var preloadedState: AppState; | ||||
Show All 23 Lines |