diff --git a/package.json b/package.json
index 0c31ecc..cc60123 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"name": "Valo Spectra",
"url": "https://www.valospectra.com"
},
- "version": "0.2.0-rc1",
+ "version": "0.2.0-rc2",
"description": "https://www.valospectra.com",
"private": true,
"main": "./app/main.js",
diff --git a/src/frontend/index.html b/src/frontend/index.html
index 3b1f420..8080025 100644
--- a/src/frontend/index.html
+++ b/src/frontend/index.html
@@ -15,6 +15,10 @@
+
+ Enter your Key:
+
+
Enter your Group Code:
diff --git a/src/frontend/renderer.js b/src/frontend/renderer.js
index 17635bc..be64720 100644
--- a/src/frontend/renderer.js
+++ b/src/frontend/renderer.js
@@ -1,5 +1,6 @@
document.querySelector("#ConnectButton").addEventListener("click", () => {
const obsName = document.getElementById("ValorantNameInput").value;
+ const key = document.getElementById("KeyInput").value ? document.getElementById("KeyInput").value : "NONE";
const groupCode = document.getElementById("GroupCodeInput").value;
const ingestIp = document.getElementById("IngestIpInput").value;
const teamLeftAttackerStart = document.getElementById(
@@ -24,7 +25,8 @@ document.querySelector("#ConnectButton").addEventListener("click", () => {
groupCode,
obsName,
leftTeam,
- rightTeam
+ rightTeam,
+ key
);
});
@@ -36,6 +38,7 @@ window.electronAPI.setPlayerName((value) => {
window.electronAPI.setInputAllowed((value) => {
const disableInput = !value;
+ document.getElementById("KeyInput").disabled = disableInput;
document.getElementById("GroupCodeInput").disabled = disableInput;
document.getElementById("IngestIpInput").disabled = disableInput;
@@ -52,7 +55,11 @@ window.electronAPI.setInputAllowed((value) => {
});
window.electronAPI.loadConfig((config) => {
- const { groupCode, ingestIp, leftTeam, rightTeam } = config;
+ const { key, groupCode, ingestIp, leftTeam, rightTeam } = config;
+
+ if (key != "skip") {
+ document.getElementById("KeyInput").value = key;
+ }
if (groupCode != "skip") {
document.getElementById("GroupCodeInput").value = groupCode;
diff --git a/src/main.ts b/src/main.ts
index 47ae9b7..4434530 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -1,6 +1,6 @@
require('dotenv').config()
-const VERSION = "v0.2.0-rc1";
+const VERSION = "v0.2.0-rc2";
const ALLOW_UPDATE_IGNORE = process.env.ALLOW_UPDATE_IGNORE ? process.env.ALLOW_UPDATE_IGNORE : false;
import path from "path"
@@ -26,7 +26,7 @@ log.initialize();
const createWindow = () => {
win = new BrowserWindow({
width: 450,
- height: 650,
+ height: 700,
backgroundColor: '#303338',
resizable: false,
webPreferences: {
@@ -80,7 +80,7 @@ app.on('window-all-closed', () => {
}
})
-function processInputs(event: any, ingestIp: string, groupCode: string, obsName: string, leftTeam: AuthTeam, rightTeam: AuthTeam) {
+function processInputs(event: any, ingestIp: string, groupCode: string, obsName: string, leftTeam: AuthTeam, rightTeam: AuthTeam, key: string) {
const webContents = event.sender;
const win = BrowserWindow.fromWebContents(webContents)!;
@@ -93,9 +93,9 @@ function processInputs(event: any, ingestIp: string, groupCode: string, obsName:
}
}
- log.info(`Received Observer Name ${obsName}, Group Code ${groupCode}, Left Tricode ${leftTeam.tricode}, Right Tricode ${rightTeam.tricode}`);
+ log.info(`Received Observer Name ${obsName}, Group Code ${groupCode}, Key ${key}, Left Tricode ${leftTeam.tricode}, Right Tricode ${rightTeam.tricode}`);
win!.setTitle(`Spectra Client | Attempting to connect...`);
- connService.handleAuthProcess(ingestIp, obsName, groupCode, leftTeam, rightTeam, win);
+ connService.handleAuthProcess(ingestIp, obsName, groupCode, leftTeam, rightTeam, key, win);
}
function processConfigDrop(event: any, filePath: string) {
@@ -152,7 +152,7 @@ export function setInputAllowed(allowed: boolean) {
win.webContents.send("set-input-allowed", allowed);
}
-enum messageBoxType {
+export enum messageBoxType {
ERROR = "error",
NONE = "none",
INFO = "info",
@@ -160,7 +160,7 @@ enum messageBoxType {
WARNING = "warning"
}
-function messageBox(title: string, message: string, type: messageBoxType, buttons: string[] = ["OK"]): number {
+export function messageBox(title: string, message: string, type: messageBoxType, buttons: string[] = ["OK"]): number {
return dialog.showMessageBoxSync(win, {
title: title,
message: message,
diff --git a/src/preload.js b/src/preload.js
index bd1b457..d7e00a8 100644
--- a/src/preload.js
+++ b/src/preload.js
@@ -1,7 +1,7 @@
const { contextBridge, ipcRenderer } = require('electron/renderer')
contextBridge.exposeInMainWorld('electronAPI', {
- processInputs: (ingestIp, groupId, obsName, leftTeam, rightTeam) => ipcRenderer.send('process-inputs', ingestIp, groupId, obsName, leftTeam, rightTeam),
+ processInputs: (ingestIp, groupId, obsName, leftTeam, rightTeam, key) => ipcRenderer.send('process-inputs', ingestIp, groupId, obsName, leftTeam, rightTeam, key),
processConfigDrop: (filePath) => ipcRenderer.send('config-drop', filePath),
replay: () => ipcRenderer.send('replay'),
diff --git a/src/services/connectorService.ts b/src/services/connectorService.ts
index 8764a98..b84bdd4 100644
--- a/src/services/connectorService.ts
+++ b/src/services/connectorService.ts
@@ -2,7 +2,7 @@ import { DataTypes, IFormattedData } from './formattingService';
import { dialog } from 'electron';
import log from 'electron-log';
import * as io from "socket.io-client";
-import { setInputAllowed } from '../main';
+import { messageBox, messageBoxType, setInputAllowed } from '../main';
export interface AuthTeam {
name: string,
@@ -42,7 +42,7 @@ export class ConnectorService {
return ConnectorService.instance;
}
- handleAuthProcess(ingestIp: string, obsName: string, groupCode: string, leftTeam: AuthTeam, rightTeam: AuthTeam, win: Electron.Main.BrowserWindow) {
+ handleAuthProcess(ingestIp: string, obsName: string, groupCode: string, leftTeam: AuthTeam, rightTeam: AuthTeam, key: string, win: Electron.Main.BrowserWindow) {
this.INGEST_SERVER_URL = `https://${ingestIp}:5100`;
this.OBS_NAME = obsName;
this.GROUP_CODE = groupCode.toUpperCase();
@@ -70,15 +70,10 @@ export class ConnectorService {
this.websocketSetup();
} else {
log.info('Authentication failed!');
- this.win.setTitle(`Spectra Client | Connection failed, invalid data`);
+ messageBox("Spectra Client - Error", `Connection failed, reason: ${json.reason}`, messageBoxType.ERROR);
+ this.win.setTitle(`Spectra Client | Connection failed`);
this.setDisconnected();
this.ws?.disconnect();
-
- dialog.showMessageBoxSync(win, {
- title: "Spectra Client - Error",
- message: "Inputted data was invalid!",
- type: "error"
- });
}
}
});
@@ -88,11 +83,7 @@ export class ConnectorService {
if (this.unreachable === true) {
this.win.setTitle(`Spectra Client | Connection failed, server not reachable`);
- dialog.showMessageBoxSync(win, {
- title: "Spectra Client - Error",
- message: "Spectra server not reachable!",
- type: "error"
- });
+ messageBox("Spectra Client - Error", "Spectra server not reachable!", messageBoxType.ERROR);
} else {
this.win.setTitle(`Spectra Client | Connection closed`);
}
@@ -111,7 +102,7 @@ export class ConnectorService {
log.error(e);
});
- this.ws.emit('obs_logon', JSON.stringify({ type: DataTypes.AUTH, obsName: this.OBS_NAME, groupCode: this.GROUP_CODE, leftTeam: this.LEFT_TEAM, rightTeam: this.RIGHT_TEAM}));
+ this.ws.emit('obs_logon', JSON.stringify({ type: DataTypes.AUTH, obsName: this.OBS_NAME, groupCode: this.GROUP_CODE, leftTeam: this.LEFT_TEAM, rightTeam: this.RIGHT_TEAM, key: key}));
}