refactor: Remove electron-store to be ready for electron 14+ (#668)
Release this ~3 months after 2.9.0 was released (21 Sep 2021) so that users had 3 months to migrate to local storage Signed-off-by: Christoph Settgast <csett86@web.de>
This commit is contained in:
parent
e5a93e89e4
commit
94f39ce107
|
@ -1,37 +1,14 @@
|
||||||
// @flow
|
// @flow
|
||||||
|
|
||||||
import { createStore } from 'redux';
|
import { createStore } from 'redux';
|
||||||
import { persistReducer, getStoredState } from 'redux-persist';
|
import { persistReducer } from 'redux-persist';
|
||||||
import storage from 'redux-persist/lib/storage'; // uses localStorage
|
import storage from 'redux-persist/lib/storage'; // uses localStorage
|
||||||
|
|
||||||
import middleware from './middleware';
|
import middleware from './middleware';
|
||||||
import reducers from './reducers';
|
import reducers from './reducers';
|
||||||
|
|
||||||
const migrateFromElectronStore = async state => {
|
|
||||||
// migrate to local storage by checking if state is undefined
|
|
||||||
// (first launch or first launch after switch to local storage)
|
|
||||||
// and previous electron-store config.json exists.
|
|
||||||
if (state === undefined && window.jitsiNodeAPI.electronStoreExists) {
|
|
||||||
const electronStoreState = await getStoredState({
|
|
||||||
key: 'root',
|
|
||||||
storage: window.jitsiNodeAPI.createElectronStorage(),
|
|
||||||
debug: true
|
|
||||||
});
|
|
||||||
|
|
||||||
if ('onboarding' in electronStoreState) {
|
|
||||||
return electronStoreState;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return state;
|
|
||||||
};
|
|
||||||
|
|
||||||
const persistConfig = {
|
const persistConfig = {
|
||||||
key: 'root',
|
key: 'root',
|
||||||
|
|
||||||
// remove this and all electron-store-related dependencies end of 2021
|
|
||||||
// (3 months migration period from electron-store to local storage)
|
|
||||||
migrate: migrateFromElectronStore,
|
|
||||||
storage,
|
storage,
|
||||||
whitelist: [
|
whitelist: [
|
||||||
'onboarding',
|
'onboarding',
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
/* global process */
|
/* global process */
|
||||||
|
|
||||||
const createElectronStorage = require('redux-persist-electron-storage');
|
|
||||||
const { ipcRenderer } = require('electron');
|
const { ipcRenderer } = require('electron');
|
||||||
const os = require('os');
|
const os = require('os');
|
||||||
const jitsiMeetElectronUtils = require('@jitsi/electron-sdk');
|
const jitsiMeetElectronUtils = require('@jitsi/electron-sdk');
|
||||||
|
@ -10,12 +9,10 @@ const { openExternalLink } = require('../features/utils/openExternalLink');
|
||||||
const whitelistedIpcChannels = [ 'protocol-data-msg', 'renderer-ready' ];
|
const whitelistedIpcChannels = [ 'protocol-data-msg', 'renderer-ready' ];
|
||||||
|
|
||||||
window.jitsiNodeAPI = {
|
window.jitsiNodeAPI = {
|
||||||
createElectronStorage,
|
|
||||||
osUserInfo: os.userInfo,
|
osUserInfo: os.userInfo,
|
||||||
openExternalLink,
|
openExternalLink,
|
||||||
platform: process.platform,
|
platform: process.platform,
|
||||||
jitsiMeetElectronUtils,
|
jitsiMeetElectronUtils,
|
||||||
electronStoreExists: ipcRenderer.sendSync('electron-store-exists'),
|
|
||||||
ipc: {
|
ipc: {
|
||||||
on: (channel, listener) => {
|
on: (channel, listener) => {
|
||||||
if (!whitelistedIpcChannels.includes(channel)) {
|
if (!whitelistedIpcChannels.includes(channel)) {
|
||||||
|
|
4
main.js
4
main.js
|
@ -399,7 +399,3 @@ ipcMain.on('renderer-ready', () => {
|
||||||
.send('protocol-data-msg', protocolDataForFrontApp);
|
.send('protocol-data-msg', protocolDataForFrontApp);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
ipcMain.on('electron-store-exists', event => {
|
|
||||||
event.returnValue = existsSync(path.join(app.getPath('userData'), 'config.json'));
|
|
||||||
});
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -167,7 +167,6 @@
|
||||||
"electron-log": "^4.3.2",
|
"electron-log": "^4.3.2",
|
||||||
"electron-notarize": "1.1.1",
|
"electron-notarize": "1.1.1",
|
||||||
"electron-react-devtools": "0.5.3",
|
"electron-react-devtools": "0.5.3",
|
||||||
"electron-store": "^5.2.0",
|
|
||||||
"electron-updater": "^4.3.9",
|
"electron-updater": "^4.3.9",
|
||||||
"electron-window-state": "^5.0.3",
|
"electron-window-state": "^5.0.3",
|
||||||
"eslint": "6.5.1",
|
"eslint": "6.5.1",
|
||||||
|
@ -192,7 +191,6 @@
|
||||||
"redux": "^4.0.5",
|
"redux": "^4.0.5",
|
||||||
"redux-logger": "^3.0.6",
|
"redux-logger": "^3.0.6",
|
||||||
"redux-persist": "^5.10.0",
|
"redux-persist": "^5.10.0",
|
||||||
"redux-persist-electron-storage": "^2.1.0",
|
|
||||||
"source-map-support": "^0.5.19",
|
"source-map-support": "^0.5.19",
|
||||||
"style-loader": "1.1.3",
|
"style-loader": "1.1.3",
|
||||||
"styled-components": "^3.4.10",
|
"styled-components": "^3.4.10",
|
||||||
|
|
Loading…
Reference in New Issue