Version 5.2.5

This commit is contained in:
Chrystian Huot 2021-08-20 08:54:57 -04:00
parent fa6d85318a
commit 7e7c48c855
19 changed files with 24 additions and 37 deletions

View file

@ -28,6 +28,13 @@ _v5.2.4_
- New update prompt for clients when server is updated.
- Fix unaligned back arrow on the search panel.
_v5.2.5_
- STS command removed from the server.
- Minor fixes here and there.
- README.md updated.
- Documentation images resized.
# Version 5.1
This one is a big one... **Be sure to backup your config.json and your database.sqlite before updating.**

View file

@ -51,7 +51,14 @@ The server side of [Rdio Scanner](https://github.com/chuot/rdio-scanner) can mon
You can ask your questions or post your comments on the [Gitter Rdio Scanner Lobby](https://gitter.im/rdio-scanner/Lobby) where the community continues to grow.
## Commercial support
## Native app
[Rdio Scanner](https://github.com/chuot/rdio-scanner) is now the perfect software-defined radio companion. Go get the native client here:
[![Available on the App Store](./docs/images/app_store.png?raw=true "Available on the App Store")](https://apps.apple.com/us/app/rdio-scanner/id1563065667#?platform=iphone)
[![Get it on Google Play](./docs/images/google_play.png?raw=true "Get It on Google Play")](https://play.google.com/store/apps/details?id=solutions.saubeo.rdioScanner)
# Commercial support
Commercial support is available at https://saubeo.solutions/.

View file

@ -37,5 +37,5 @@
"build": "ng build --base-href ./ --configuration production",
"start": "ng serve"
},
"version": "5.2.4"
"version": "5.2.5"
}

BIN
docs/images/app_store.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7 KiB

BIN
docs/images/google_play.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 200 KiB

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 KiB

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 KiB

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 425 KiB

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 241 KiB

After

Width:  |  Height:  |  Size: 128 KiB

View file

@ -14,5 +14,5 @@
"update": "node update"
},
"type": "module",
"version": "5.2.4"
"version": "5.2.5"
}

View file

@ -38,7 +38,6 @@ const wsCommand = {
livefeedMap: 'LFM',
max: 'MAX',
pin: 'PIN',
status: 'STS',
ver: 'VER',
};
@ -90,7 +89,7 @@ export class Controller extends EventEmitter {
broadcastConfig() {
if (this.websocket) {
this.websocket.getSockets().forEach(async (socket) => {
if ((this.isAccessRestricted && !socket.access) || socket.justStatus) {
if (this.isAccessRestricted && !socket.access) {
return;
}
@ -810,30 +809,7 @@ export class Controller extends EventEmitter {
socket.scope = this.getAccessScope();
}
if (message[0] === wsCommand.status) {
if (typeof socket.status !== 'function') {
socket.status = (call) => {
if (socket.readyState !== 3) {
socket.send(JSON.stringify([
wsCommand.status,
`${call.system},${call.talkgroup},${call.id}`,
]));
} else {
this.removeListener('call', socket.status);
socket.status = undefined;
}
};
this.addListener('call', socket.status);
socket.send(JSON.stringify([wsCommand.status, true]));
} else {
this.removeListener('call', socket.status);
socket.status = undefined;
socket.send(JSON.stringify([wsCommand.status, false]));
}
} else if (message[0] === wsCommand.ver) {
if (message[0] === wsCommand.ver) {
socket.send(JSON.stringify([wsCommand.ver, this.version]));
} else if (this.isAccessRestricted && !socket.access && message[0] !== wsCommand.pin) {
@ -878,10 +854,7 @@ export class Controller extends EventEmitter {
socket.livefeed = (call) => {
if (socket.readyState !== 3) {
if (socket.justStatus) {
socket.send(JSON.stringify([wsCommand.status], `${call.system},${call.talkgroup},${call.id}`));
} else if (call.system in socket.scope && call.system in message[1]) {
if (call.system in socket.scope && call.system in message[1]) {
if (socket.scope[call.system].includes(call.talkgroup)) {
if (message[1][call.system] && message[1][call.system][call.talkgroup]) {
socket.send(JSON.stringify([wsCommand.call, call]));
@ -942,7 +915,7 @@ export class Controller extends EventEmitter {
if (typeof socket.access.limit === 'number') {
const count = Array.from(this.websocket.getSockets())
.reduce((c, s) => (!s.justStatus && s.access?.code === token) ? ++c : c, 0);
.reduce((c, s) => s.access?.code === token ? ++c : c, 0);
if (count > socket.access.limit) {
socket.send(JSON.stringify([wsCommand.max]));

View file

@ -19,6 +19,6 @@
'use strict';
export const version = '5.2.4';
export const version = '5.2.5';
export default version;

View file

@ -86,7 +86,7 @@ export class WebSocket {
}
logClientsCount() {
const count = Array.from(this.wss.clients).reduce((c, s) => (!s.justStatus && s.livefeed) ? ++c : c, 0);
const count = Array.from(this.wss.clients).reduce((c, s) => s.livefeed ? ++c : c, 0);
this.log.write(Log.info, `WebSocket: Listeners count is ${count}`);
}

View file

@ -46,5 +46,5 @@
"start": "nodemon"
},
"type": "module",
"version": "5.2.4"
"version": "5.2.5"
}