diff --git a/UI/package-lock.json b/UI/package-lock.json
index 5cabd8dc..cf20bd13 100644
--- a/UI/package-lock.json
+++ b/UI/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "tallyarbiter-ui",
- "version": "3.0.6",
+ "version": "3.1.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "tallyarbiter-ui",
- "version": "3.0.6",
+ "version": "3.1.0",
"dependencies": {
"@angular/animations": "~17.0.7",
"@angular/common": "~17.0.7",
diff --git a/UI/src/app/_components/about/about.component.html b/UI/src/app/_components/about/about.component.html
index 87550e46..cd7c90b9 100644
--- a/UI/src/app/_components/about/about.component.html
+++ b/UI/src/app/_components/about/about.component.html
@@ -3,8 +3,10 @@
-
Version
+ Server Version
{{socketService.version}}
+ UI Version
+ {{socketService.uiVersion}}
diff --git a/UI/src/app/_services/socket.service.ts b/UI/src/app/_services/socket.service.ts
index 0630dfb5..8cf11b46 100644
--- a/UI/src/app/_services/socket.service.ts
+++ b/UI/src/app/_services/socket.service.ts
@@ -46,6 +46,7 @@ export class SocketService {
public remoteErrorOpt: boolean = true;
public initialDataLoaded = false;
public version?: string;
+ public uiVersion?: string;
public externalAddress?: string;
public interfaces: any[] = [];
public logs: LogItem[] = [];
@@ -156,6 +157,9 @@ export class SocketService {
this.socket.on("version", (version: string) => {
this.version = version;
});
+ this.socket.on('uiVersion', (uiVersion: string) => {
+ this.uiVersion = uiVersion;
+ });
this.socket.on("externalAddress", (externalAddress: string) => {
this.externalAddress = externalAddress;
@@ -359,6 +363,7 @@ export class SocketService {
this.socket.emit('get_error_reports');
this.socket.emit('version');
+ this.socket.emit('uiVersion');
this.socket.emit('externalAddress');
this.socket.emit('interfaces');
this.socket.emit('get_error_reports');
diff --git a/package-lock.json b/package-lock.json
index 6a7d250f..4ddeca32 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "tallyarbiter",
- "version": "3.0.10",
+ "version": "3.1.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "tallyarbiter",
- "version": "3.0.10",
+ "version": "3.1.0",
"license": "MIT",
"dependencies": {
"@sentry/node": "^6.19.7",
diff --git a/readme.md b/readme.md
index 2d062cc9..f7f0b794 100644
--- a/readme.md
+++ b/readme.md
@@ -28,7 +28,7 @@ If you want to make changes to the UI, you need to do the following:
When you make changes to the source code, the page in your browser will automatically reload.
-The socket.io / REST API requests the UI makes are automatically proxied to `http://localhost:4455`. That's the reason why the main server (see above) needs to be running.
+The socket.io requests the UI makes are automatically proxied to `http://localhost:4455`. That's the reason why the main server (see above) needs to be running.
Running `npm install` in the project's root folder (not in the UI directory) the UI is built automatically. As the UI's bundled dist files are excluded from the git repository in the `.gitignore` file, this is needed to ensure users which install TallyArbiter from source also have bundled UI dist. This dist is also served by the main server using `express.static()`.
diff --git a/src/index.ts b/src/index.ts
index b344c42e..0369cd8c 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -67,6 +67,7 @@ import { Config } from './_models/Config';
import { bonjour } from './_helpers/mdns';
const version = findPackageJson(__dirname).next()?.value?.version || "unknown";
+const uiVersion = findPackageJson(path.join(__dirname, '..', 'ui')).next()?.value?.version || "unknown";
const devmode = process.argv.includes('--dev') || process.env.NODE_ENV === 'development';
if(devmode) logger('TallyArbiter running in Development Mode.', 'info');
@@ -285,6 +286,10 @@ function initialSetup() {
socket.emit('version', version);
});
+ socket.on('uiVersion', () => {
+ socket.emit('uiVersion', uiVersion);
+ });
+
socket.on('externalAddress', () => {
socket.emit('externalAddress', currentConfig.externalAddress);
});
@@ -1383,8 +1388,6 @@ function initializeSource(source: Source): TallyInput {
function processSourceTallyData(sourceId: string, tallyData: SourceTallyData)
{
- //console.log('got source tally data', tallyData);
-
writeTallyDataFile(tallyData);
for (const [address, busses] of Object.entries(tallyData)) {
@@ -1392,16 +1395,10 @@ function processSourceTallyData(sourceId: string, tallyData: SourceTallyData)
io.to('settings').emit('tally_data', sourceId, address, busses);
}
- //console.log('currentSourceTallyData', currentSourceTallyData);
-
-
currentSourceTallyData = {
...currentSourceTallyData,
...tallyData,
};
-
-
- console.log('currentSourceTallyData2', currentSourceTallyData);
for (const device of devices) {
UpdateDeviceState(device.id);