diff --git a/src/renderer/component/splash/view.jsx b/src/renderer/component/splash/view.jsx index 6fb1be0c8..708dc731a 100644 --- a/src/renderer/component/splash/view.jsx +++ b/src/renderer/component/splash/view.jsx @@ -12,6 +12,7 @@ type Props = { notifyUnlockWallet: () => Promise, daemonVersionMatched: boolean, onReadyToLaunch: () => void, + authenticate: () => void, notification: ?{ id: string, }, @@ -34,6 +35,8 @@ export class SplashScreen extends React.PureComponent { isRunning: false, launchedModal: false, }; + + this.hasRecordedUser = false; } componentDidMount() { @@ -61,8 +64,14 @@ export class SplashScreen extends React.PureComponent { } updateStatusCallback(status) { - const { notifyUnlockWallet } = this.props; + const { notifyUnlockWallet, authenticate } = this.props; const { launchedModal } = this.state; + + if (!this.hasRecordedUser && status) { + authenticate(); + this.hasRecordedUser = true; + } + if (status.wallet && status.wallet.is_locked) { this.setState({ isRunning: true, @@ -113,6 +122,8 @@ export class SplashScreen extends React.PureComponent { }, 500); } + hasRecordedUser: boolean; + render() { const { notification } = this.props; const { message, details, isRunning } = this.state; diff --git a/src/renderer/index.js b/src/renderer/index.js index 0458f7564..d4b979091 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -11,7 +11,7 @@ import { doConditionalAuthNavigate, doDaemonReady, doAutoUpdate } from 'redux/ac import { doNotify, doBlackListedOutpointsSubscribe, isURIValid } from 'lbry-redux'; import { doNavigate } from 'redux/actions/navigation'; import { doDownloadLanguages, doUpdateIsNightAsync } from 'redux/actions/settings'; -import { doUserEmailVerify } from 'redux/actions/user'; +import { doUserEmailVerify, doAuthenticate } from 'redux/actions/user'; import 'scss/all.scss'; import store from 'store'; import app from './app'; @@ -155,7 +155,10 @@ const init = () => { } else { ReactDOM.render( - + app.store.dispatch(doAuthenticate())} + onReadyToLaunch={onDaemonReady} + /> , document.getElementById('app') ); diff --git a/src/renderer/redux/actions/app.js b/src/renderer/redux/actions/app.js index d3d5a56f7..4ae364a1c 100644 --- a/src/renderer/redux/actions/app.js +++ b/src/renderer/redux/actions/app.js @@ -16,7 +16,6 @@ import Native from 'native'; import { doFetchRewardedContent } from 'redux/actions/content'; import { doFetchDaemonSettings } from 'redux/actions/settings'; import { doAuthNavigate } from 'redux/actions/navigation'; -import { doAuthenticate } from 'redux/actions/user'; import { doPause } from 'redux/actions/media'; import { doCheckSubscriptions } from 'redux/actions/subscriptions'; import { @@ -337,7 +336,6 @@ export function doDaemonReady() { return (dispatch, getState) => { const state = getState(); - dispatch(doAuthenticate()); dispatch({ type: ACTIONS.DAEMON_READY }); dispatch(doFetchDaemonSettings()); dispatch(doBalanceSubscribe());