@@ -6,6 +6,8 @@ const template = require('./electron-menu');
66const Watcher = require ( './src/app/watcher' ) ;
77const registerRendererEventHandlers = require ( './src/ipc/collection' ) ;
88const registerSettingsEventHandlers = require ( './src/ipc/settings' ) ;
9+ const packageJson = require ( './package.json' ) ; // app's package.json
10+ const https = require ( 'https' ) ;
911
1012let mainWindow ;
1113let watcher ;
@@ -20,6 +22,41 @@ if (process.env.NODE_ENV === 'production') {
2022 console . trace = noop ;
2123}
2224
25+ const version = {
26+ current : packageJson . version ,
27+ latest : packageJson . version ,
28+ } ;
29+
30+ function checkForUpdates ( ) {
31+ const url = `https://raw.githubusercontent.com/FlowTestAI/FlowTest/main/packages/flowtest-electron/package.json` ;
32+
33+ https
34+ . get ( url , ( res ) => {
35+ let data = '' ;
36+
37+ res . on ( 'data' , ( chunk ) => {
38+ data += chunk ;
39+ } ) ;
40+
41+ res . on ( 'end' , ( ) => {
42+ try {
43+ const remotePackageJson = JSON . parse ( data ) ;
44+ const latestVersion = remotePackageJson . version ;
45+
46+ if ( latestVersion !== version . current ) {
47+ version . latest = latestVersion ;
48+ //shell.openExternal(`https://github.com/${username}/${repo}/releases`);
49+ }
50+ } catch ( error ) {
51+ console . error ( 'Error parsing JSON:' , error ) ;
52+ }
53+ } ) ;
54+ } )
55+ . on ( 'error' , ( err ) => {
56+ console . error ( 'Error fetching package.json:' , err ) ;
57+ } ) ;
58+ }
59+
2360app . on ( 'ready' , async ( ) => {
2461 const menu = Menu . buildFromTemplate ( template ) ;
2562 Menu . setApplicationMenu ( menu ) ;
@@ -59,6 +96,12 @@ app.on('ready', async () => {
5996
6097 watcher = new Watcher ( ) ;
6198
99+ checkForUpdates ( ) ;
100+ mainWindow . webContents . on ( 'did-finish-load' , ( ) => {
101+ // Send a message to the renderer process
102+ mainWindow . webContents . send ( 'main:app-version' , version ) ;
103+ } ) ;
104+
62105 registerRendererEventHandlers ( mainWindow , watcher ) ;
63106 registerSettingsEventHandlers ( mainWindow ) ;
64107} ) ;
0 commit comments