diff --git a/gui/main.js b/gui/main.js index 362330ff..9feafaa4 100644 --- a/gui/main.js +++ b/gui/main.js @@ -622,6 +622,12 @@ ipcMain.on('request-show-arq-toast-datachannel-opening',(event,data)=>{ win.webContents.send('action-show-arq-toast-datachannel-opening', data); }); +// ARQ DATA CHANNEL WAITING +ipcMain.on('request-show-arq-toast-datachannel-waiting',(event,data)=>{ + win.webContents.send('action-show-arq-toast-datachannel-waiting', data); +}); + + // ARQ DATA CHANNEL OPEN ipcMain.on('request-show-arq-toast-datachannel-opened',(event,data)=>{ win.webContents.send('action-show-arq-toast-datachannel-opened', data); @@ -813,12 +819,24 @@ ipcMain.on('request-start-rigctld',(event, data)=>{ try{ - spawn(data.path, data.parameters); + let rigctld_proc = spawn(data.path, data.parameters); } catch (e) { console.log(e); } + rigctld_proc.on('exit', function (code) { + console.log('rigctld process exited with code ' + code); + + // if rigctld crashes, error code is -2 + // then we are going to restart rigctld + // this "fixes" a problem with latest rigctld on raspberry pi + //if (code == -2){ + // setTimeout(ipcRenderer.send('request-start-rigctld', data), 500); + //} + //let rigctld_proc = spawn(data.path, data.parameters); + }); + /* const rigctld = exec(data.path, data.parameters); diff --git a/gui/preload-chat.js b/gui/preload-chat.js index ec2a6b5e..b0591d7d 100644 --- a/gui/preload-chat.js +++ b/gui/preload-chat.js @@ -62,6 +62,25 @@ try{ PouchDB.plugin(require('pouchdb-find')); var db = new PouchDB(chatDB); +var remoteDB = new PouchDB('http://192.168.178.79:5984/chatDB') + +db.sync(remoteDB, { + live: true, + retry: true +}).on('change', function (change) { + // yo, something changed! + console.log(change) +}).on('paused', function (info) { + // replication was paused, usually because of a lost connection + console.log(info) +}).on('active', function (info) { + // replication was resumed + console.log(info) +}).on('error', function (err) { + // totally unhandled error (shouldn't happen) + console.log(error) +}); + var dxcallsigns = new Set(); db.createIndex({ index: { @@ -73,6 +92,7 @@ db.createIndex({ }).catch(function(err) { console.log(err); }); + db.find({ selector: { timestamp: { diff --git a/gui/preload-main.js b/gui/preload-main.js index 9a42d130..9fef1e41 100644 --- a/gui/preload-main.js +++ b/gui/preload-main.js @@ -12,7 +12,7 @@ const { } = require('qth-locator'); const os = require('os'); -// split character used for appending addiotional data to files +// split character used for appending additional data to files const split_char = '\0;'; @@ -2172,6 +2172,14 @@ ipcRenderer.on('action-show-arq-toast-datachannel-opening', (event, data) => { toast.show(); }); +// DATA CHANNEL WAITING TOAST +ipcRenderer.on('action-show-arq-toast-datachannel-waiting', (event, data) => { + var toastDATACHANNELwaiting = document.getElementById('toastDATACHANNELwaiting'); + var toast = bootstrap.Toast.getOrCreateInstance(toastDATACHANNELwaiting); // Returns a Bootstrap toast instance + toast.show(); +}); + + // DATA CHANNEL OPEN TOAST ipcRenderer.on('action-show-arq-toast-datachannel-open', (event, data) => { var toastDATACHANNELopen = document.getElementById('toastDATACHANNELopen'); @@ -2351,6 +2359,5 @@ function checkRigctld(){ } ipcRenderer.on('action-check-rigctld', (event, data) => { - console.log(data) document.getElementById("hamlib_rigctld_status").value = data["state"]; }); diff --git a/gui/sock.js b/gui/sock.js index ad2d5819..3268849f 100644 --- a/gui/sock.js +++ b/gui/sock.js @@ -326,6 +326,10 @@ client.on('data', function(socketdata) { } else if (data['status'] == 'opening') { ipcRenderer.send('request-show-arq-toast-datachannel-opening', {data: [data]}); + // ARQ WAITING + } else if (data['status'] == 'waiting') { + ipcRenderer.send('request-show-arq-toast-datachannel-waiting', {data: [data]}); + // ARQ TRANSMISSION FAILED } else if (data['status'] == 'failed') { diff --git a/gui/src/index.html b/gui/src/index.html index ceae1a50..5ddcbd26 100644 --- a/gui/src/index.html +++ b/gui/src/index.html @@ -136,6 +136,15 @@ + + + +