@@ -11,12 +11,11 @@ import { notEmpty } from '../../utils/objectUtils';
1111import { useLocalStorageState } from '../../hooks/useLocalStorageState' ;
1212import { useAppUpdatesContext } from '../../contexts/AppUpdatesContext' ;
1313import { useSnackbar } from 'notistack' ;
14- import semverGte from 'semver/functions/gte' ;
1514
1615interface AppUpdatesManagerProps { }
1716
1817const AppUpdatesManager : FunctionComponent < AppUpdatesManagerProps > = ( ) => {
19- const { autoUpdateSupported, autoUpdateEnabled , newVersionDownloaded, newVersionInfo } = useAppUpdatesContext ( ) ;
18+ const { autoUpdateSupported, newVersionDownloaded, newVersionInfo } = useAppUpdatesContext ( ) ;
2019
2120 const [ newVersionDetailsShown , setNewVersionDetailsShown ] = useState < string | undefined > ( undefined ) ;
2221 const [ newVersionDetailsSkipVersion , setNewVersionDetailsSkipVersion ] = useLocalStorageState < string | undefined > (
@@ -26,51 +25,41 @@ const AppUpdatesManager: FunctionComponent<AppUpdatesManagerProps> = () => {
2625 const [ newVersionDownloadedShown , setNewVersionDownloadedShown ] = useState < string | undefined > ( undefined ) ;
2726
2827 useEffect ( ( ) => {
29- ( async ( ) => {
30- if ( ! newVersionInfo ) {
31- return ;
32- }
33- const appVersion = await window . ui . getAppVersion ( ) ;
34- if ( semverGte ( appVersion , newVersionInfo . version ) ) {
35- return ;
36- }
37- if ( newVersionDetailsShown === newVersionInfo . version ) {
38- return ;
39- }
40- if ( newVersionDetailsSkipVersion === newVersionInfo . version ) {
41- return ;
42- }
43- if ( autoUpdateSupported && ( autoUpdateEnabled || newVersionDownloaded ) ) {
44- return ;
45- }
46- setNewVersionDetailsShown ( newVersionInfo . version ) ;
47- NiceModal . show < undefined , AppUpdateDetailsDialogProps > ( AppUpdateDetailsDialog , {
48- updateInfo : newVersionInfo ,
49- onSkipVersion : setNewVersionDetailsSkipVersion ,
50- } ) ;
51- } ) ( ) ;
28+ if ( ! newVersionInfo ) {
29+ return ;
30+ }
31+ if ( newVersionDetailsShown === newVersionInfo . version ) {
32+ return ;
33+ }
34+ if ( newVersionDetailsSkipVersion === newVersionInfo . version ) {
35+ return ;
36+ }
37+ if ( autoUpdateSupported && newVersionDownloaded ) {
38+ return ;
39+ }
40+
41+ setNewVersionDetailsShown ( newVersionInfo . version ) ;
42+ NiceModal . show < undefined , AppUpdateDetailsDialogProps > ( AppUpdateDetailsDialog , {
43+ updateInfo : newVersionInfo ,
44+ onSkipVersion : setNewVersionDetailsSkipVersion ,
45+ } ) ;
5246 } , [ newVersionInfo ] ) ;
5347
5448 useEffect ( ( ) => {
55- ( async ( ) => {
56- if ( ! newVersionDownloaded ) {
57- return ;
58- }
59- const appVersion = await window . ui . getAppVersion ( ) ;
60- if ( semverGte ( appVersion , newVersionDownloaded . version ) ) {
61- return ;
62- }
63- if ( newVersionDownloadedShown === newVersionDownloaded . version ) {
64- return ;
65- }
66- if ( ! autoUpdateSupported ) {
67- return ;
68- }
69- setNewVersionDownloadedShown ( newVersionDownloaded . version ) ;
70- NiceModal . show < undefined , AppUpdateDownloadedDialogProps > ( AppUpdateDownloadedDialog , {
71- updateInfo : newVersionDownloaded ,
72- } ) ;
73- } ) ( ) ;
49+ if ( ! newVersionDownloaded ) {
50+ return ;
51+ }
52+ if ( newVersionDownloadedShown === newVersionDownloaded . version ) {
53+ return ;
54+ }
55+ if ( ! autoUpdateSupported ) {
56+ return ;
57+ }
58+
59+ setNewVersionDownloadedShown ( newVersionDownloaded . version ) ;
60+ NiceModal . show < undefined , AppUpdateDownloadedDialogProps > ( AppUpdateDownloadedDialog , {
61+ updateInfo : newVersionDownloaded ,
62+ } ) ;
7463 } , [ newVersionDownloaded ] ) ;
7564
7665 return null ;
@@ -87,7 +76,7 @@ const AppUpdateDetailsDialog: FunctionComponent<AppUpdateDetailsDialogProps> = N
8776 ( { updateInfo, onSkipVersion } ) => {
8877 const modal = useModal ( ) ;
8978 const { track } = useAnalyticsContext ( ) ;
90- const { downloadUpdate } = useAppUpdatesContext ( ) ;
79+ const { autoUpdateSupported , downloadUpdate } = useAppUpdatesContext ( ) ;
9180 const { enqueueSnackbar } = useSnackbar ( ) ;
9281
9382 const closeHandler = useCallback ( ( ) : void => {
@@ -116,13 +105,14 @@ const AppUpdateDetailsDialog: FunctionComponent<AppUpdateDetailsDialogProps> = N
116105 const downloadHandler = useCallback ( ( ) : void => {
117106 track ( { name : 'app_update_details_dialog_download' } ) ;
118107
119- const downloadType = downloadUpdate ( ) ;
120- if ( downloadType === 'internal' ) {
108+ downloadUpdate ( ) ;
109+
110+ if ( autoUpdateSupported ) {
121111 enqueueSnackbar ( < FormattedMessage id = "downloadStarted" /> , { variant : 'info' } ) ;
122112 }
123113
124114 closeHandler ( ) ;
125- } , [ downloadUpdate , closeHandler ] ) ;
115+ } , [ autoUpdateSupported , downloadUpdate , closeHandler ] ) ;
126116
127117 const laterHandler = useCallback ( ( ) : void => {
128118 track ( { name : 'app_update_details_dialog_later' } ) ;
0 commit comments