diff --git a/CHANGELOG.md b/CHANGELOG.md index 03e2f84..c47011b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,14 @@ _v6.1.1_ - Fix `unknown datetime format sql.NullString` error. +_v6.1.2_ + +- Fix image links in webapp.md (issue #76). +- Fix SIGSEGV when trying to autopopulate (issue #77). +- Fix parsing SDRTrunk meta data. +- Dirwatch type trunk-recorder now deletes json files without audio (when deleteAfter is set). +- Add a new `docs/update-from-v5.md` document. + ## Version 6.0 - Backend server rewritten in Go for better performance and ease of installation. diff --git a/COMPILING.md b/COMPILING.md index 84a6464..d7138a4 100644 --- a/COMPILING.md +++ b/COMPILING.md @@ -24,13 +24,13 @@ Clone the official repository on your computer and start the build process. When finished, you will find the precompiled versions for various platforms in the `dist` folder. - rdio-scanner-darwin-amd64-v6.1.1.zip - rdio-scanner-darwin-arm64-v6.1.1.zip - rdio-scanner-freebsd-amd64-v6.1.1.zip - rdio-scanner-linux-386-v6.1.1.zip - rdio-scanner-linux-amd64-v6.1.1.zip - rdio-scanner-linux-arm64-v6.1.1.zip - rdio-scanner-linux-arm-v6.1.1.zip - rdio-scanner-windows-amd64-v6.1.1.zip + rdio-scanner-darwin-amd64-v6.1.2.zip + rdio-scanner-darwin-arm64-v6.1.2.zip + rdio-scanner-freebsd-amd64-v6.1.2.zip + rdio-scanner-linux-386-v6.1.2.zip + rdio-scanner-linux-amd64-v6.1.2.zip + rdio-scanner-linux-arm64-v6.1.2.zip + rdio-scanner-linux-arm-v6.1.2.zip + rdio-scanner-windows-amd64-v6.1.2.zip **Happy Rdio scanning !** \ No newline at end of file diff --git a/Makefile b/Makefile index e9b5552..776937a 100644 --- a/Makefile +++ b/Makefile @@ -16,8 +16,8 @@ ################################################################################ app := rdio-scanner -date := 2022/01/04 -ver := 6.1.1 +date := 2022/01/05 +ver := 6.1.2 client := $(wildcard client/*.json client/*.ts) server := $(wildcard server/*.go) diff --git a/README.md b/README.md index 919cde0..70de33e 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,8 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd More detailed instructions are available in the `rdio-scanner.pdf` file provided in the precompiled archives. +If you are updating from version 5, please refer to [docs/update-from-v5.md](docs/update-from-v5.md) before proceeding. + # Need help ? You can ask your questions or post your comments on the [Rdio Scanner Discussions](https://github.com/chuot/rdio-scanner/discussions) at **[https://github.com/chuot/rdio-scanner/discussions](https://github.com/chuot/rdio-scanner/discussions)** or on the [Gitter Rdio Scanner Lobby](https://gitter.im/rdio-scanner/Lobby) at **[https://gitter.im/rdio-scanner/Lobby](https://gitter.im/rdio-scanner/Lobby)**. diff --git a/client/package.json b/client/package.json index 7c662a0..5066753 100644 --- a/client/package.json +++ b/client/package.json @@ -39,5 +39,5 @@ "build": "ng build --base-href ./ --configuration production", "start": "ng serve" }, - "version": "6.1.1" + "version": "6.1.2" } diff --git a/client/src/app/shared/update/update.service.ts b/client/src/app/shared/update/update.service.ts index 7e9409a..59f26e3 100644 --- a/client/src/app/shared/update/update.service.ts +++ b/client/src/app/shared/update/update.service.ts @@ -32,7 +32,7 @@ export class AppUpdateService { ) { if (swUpdate.isEnabled) { swUpdate.versionUpdates.subscribe(() => this.prompt()); - setInterval(() => swUpdate.checkForUpdate(), 5 * 60 * 1000); + setInterval(() => swUpdate.checkForUpdate(), 60 * 60 * 1000); } } diff --git a/docs/faq.md b/docs/faq.md index fd58b81..8f7caa6 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -12,4 +12,8 @@ A: Due to the ACME protocol used by Let's Encrypt, ports 80 and 443 must be open A: No problem, just drop us a line at **[rdio-scanner@saubeo.solutions](mailto:rdio-scanner@saubeo.solutions)** and we'll make sure to add the relevant information in this document in the next release. In the meantime, You can ask your questions on the [Rdio Scanner Discussions](https://github.com/chuot/rdio-scanner/discussions) at **[https://github.com/chuot/rdio-scanner/discussions](https://github.com/chuot/rdio-scanner/discussions)** or on the [Gitter Rdio Scanner Lobby](https://gitter.im/rdio-scanner/Lobby) at **[https://gitter.im/rdio-scanner/Lobby](https://gitter.im/rdio-scanner/Lobby)**. +**Q: How do I update to version 6 from version 5** + +A: First, don't use the update.js script, it won't work since the server portion of version 6 as been completely rewritten in GO. Simply unzip the archive that contains the Rdio Scanner executable and its PDF document to a new folder, then copy the database.sqlite from version 5 to the new folder that contains version 6 and make sure to rename it to _rdio-scanner.db_. + \pagebreak{} \ No newline at end of file diff --git a/docs/platforms/darwin.md b/docs/platforms/darwin.md index a6236da..4e0e91b 100644 --- a/docs/platforms/darwin.md +++ b/docs/platforms/darwin.md @@ -42,8 +42,8 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd rdio@macos ~ % mkdir rdio-scanner rdio@macos ~ % cd rdio-scanner rdio@macos rdio-scanner % unzip \ - > ~/Downloads/rdio-scanner-darwin-arm64-v6.1.1.zip - Archive: /Users/rdio/Downloads/rdio-scanner-darwin-arm64-v6.1.1.zip + > ~/Downloads/rdio-scanner-darwin-arm64-v6.1.2.zip + Archive: /Users/rdio/Downloads/rdio-scanner-darwin-arm64-v6.1.2.zip inflating: rdio-scanner inflating: rdio-scanner.pdf @@ -51,11 +51,11 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd rdio@macos rdio-scanner % ./rdio-scanner - Rdio Scanner v6.1.1 + Rdio Scanner v6.1.2 ---------------------------------- - 2022/01/04 08:38:06 server started - 2022/01/04 08:38:06 main interface at http://macos.local:3000 - 2022/01/04 08:38:06 admin interface at http://macos.local:3000/admin + 2022/01/05 08:38:06 server started + 2022/01/05 08:38:06 main interface at http://macos.local:3000 + 2022/01/05 08:38:06 admin interface at http://macos.local:3000/admin 4. Access the administrative dashboard to finalize the configuration. @@ -77,11 +77,11 @@ Here we want our [Rdio Scanner](https://guthub.com/chuot/rdio-scanner) instance rdio@macos rdio-scanner % ./rdio-scanner --listen :80 - Rdio Scanner v6.1.1 + Rdio Scanner v6.1.2 ---------------------------------- - 2022/01/04 08:48:03 server started - 2022/01/04 08:48:03 main interface at http://macos.local - 2022/01/04 08:48:03 admin interface at http://macos.local/admin + 2022/01/05 08:48:03 server started + 2022/01/05 08:48:03 main interface at http://macos.local + 2022/01/05 08:48:03 admin interface at http://macos.local/admin ## Listening with SSL with self-signed certificates @@ -90,8 +90,8 @@ It is advised to share your [Rdio Scanner](https://github.com/chuot/rdio-scanner We can create such self-signed certificates by running [Rdio Scanner](https://github.com/chuot/rdio-scanner) with the **-ssl_create** argument. rdio@macos rdio-scanner % ./rdio-scanner -ssl_create - 2022/01/04 08:49:16 generating ssl certificate files - 2022/01/04 08:49:17 ssl files created + 2022/01/05 08:49:16 generating ssl certificate files + 2022/01/05 08:49:17 ssl files created This has generated these files in the same folder as your [Rdio Scanner](https://github.com/chuot/rdio-scanner) executable. @@ -108,12 +108,12 @@ Now we use the self-signed server certificate to run our instance. > -ssl_key_file server.key \ > -ssl_listen :443 - Rdio Scanner v6.1.1 + Rdio Scanner v6.1.2 ---------------------------------- - 2022/01/04 08:50:58 server started - 2022/01/04 08:50:58 main interface at http://macos.local - 2022/01/04 08:50:58 main interface at https://macos.local - 2022/01/04 08:50:58 admin interface at https://macos.local/admin + 2022/01/05 08:50:58 server started + 2022/01/05 08:50:58 main interface at http://macos.local + 2022/01/05 08:50:58 main interface at https://macos.local + 2022/01/05 08:50:58 admin interface at https://macos.local/admin ## Save your advanced configuration to a config file @@ -125,7 +125,7 @@ You don't want to have to type everytime a long list of arguments. No problem, y > -ssl_key_file server.key \ > -ssl_listen :443 \ > -config_save - 2022/01/04 08:52:24 rdio-scanner.ini file created + 2022/01/05 08:52:24 rdio-scanner.ini file created All of your parameters passed as arguments to [Rdio Scanner](https://github.com/chuot/rdio-scanner) have been saved to an INI file which has the same arguments/values list. @@ -140,12 +140,12 @@ Then simply run [Rdio Scanner](https://github.com/chuot/rdio-scanner) without an rdio@macos rdio-scanner % ./rdio-scanner - Rdio Scanner v6.1.1 + Rdio Scanner v6.1.2 ---------------------------------- - 2022/01/04 08:54:08 server started - 2022/01/04 08:54:08 main interface at http://macos.local - 2022/01/04 08:54:08 main interface at https://macos.local - 2022/01/04 08:54:08 admin interface at https://macos.local/admin + 2022/01/05 08:54:08 server started + 2022/01/05 08:54:08 main interface at http://macos.local + 2022/01/05 08:54:08 main interface at https://macos.local + 2022/01/05 08:54:08 admin interface at https://macos.local/admin ## Install Rdio Scanner as a service diff --git a/docs/platforms/freebsd.md b/docs/platforms/freebsd.md index 432a32a..0314c4e 100644 --- a/docs/platforms/freebsd.md +++ b/docs/platforms/freebsd.md @@ -42,8 +42,8 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd rdio@pc-freebsd:~ $ mkdir rdio-scanner rdio@pc-freebsd:~ $ cd rdio-scanner rdio@pc-freebsd:~/rdio-scanner $ unzip \ - > ~/rdio-scanner-freebsd-amd64-v6.1.1.zip - Archive: ../rdio-scanner-freebsd-amd64-v6.1.1.zip + > ~/rdio-scanner-freebsd-amd64-v6.1.2.zip + Archive: ../rdio-scanner-freebsd-amd64-v6.1.2.zip extracting: rdio-scanner extracting: rdio-scanner.pdf @@ -51,11 +51,11 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd rdio@pc-freebsd:~/rdio-scanner $ ./rdio-scanner - Rdio Scanner v6.1.1 + Rdio Scanner v6.1.2 ---------------------------------- - 2022/01/04 08:16:36 server started - 2022/01/04 08:16:36 main interface at http://pc-freebsd:3000 - 2022/01/04 08:16:36 admin interface at http://pc-freebsd:3000/admin + 2022/01/05 08:16:36 server started + 2022/01/05 08:16:36 main interface at http://pc-freebsd:3000 + 2022/01/05 08:16:36 admin interface at http://pc-freebsd:3000/admin 4. Access the administrative dashboard to finalize the configuration. @@ -81,11 +81,11 @@ Here we want our [Rdio Scanner](https://guthub.com/chuot/rdio-scanner) instance Password: root@pc-freebsd:/home/rdio/rdio-scanner # ./rdio-scanner -listen :80 - Rdio Scanner v6.1.1 + Rdio Scanner v6.1.2 ---------------------------------- - 2022/01/04 08:19:38 server started - 2022/01/04 08:19:38 main interface at http://pc-freebsd - 2022/01/04 08:19:38 admin interface at http://pc-freebsd/admin + 2022/01/05 08:19:38 server started + 2022/01/05 08:19:38 main interface at http://pc-freebsd + 2022/01/05 08:19:38 admin interface at http://pc-freebsd/admin ## Listening with SSL with self-signed certificates @@ -94,8 +94,8 @@ It is advised to share your [Rdio Scanner](https://github.com/chuot/rdio-scanner We can create such self-signed certificates by running [Rdio Scanner](https://github.com/chuot/rdio-scanner) with the **-ssl_create** argument. rdio@pc-freebsd:~/rdio-scanner $ ./rdio-scanner -ssl_create - 2022/01/04 10:32:17 generating ssl certificate files - 2022/01/04 10:32:19 ssl files created + 2022/01/05 10:32:17 generating ssl certificate files + 2022/01/05 10:32:19 ssl files created This has generated these files in the same folder as your [Rdio Scanner](https://github.com/chuot/rdio-scanner) executable. @@ -114,12 +114,12 @@ Now we use the self-signed server certificate to run our instance. > -ssl_key_file server.key \ > -ssl_listen :443 - Rdio Scanner v6.1.1 + Rdio Scanner v6.1.2 ---------------------------------- - 2022/01/04 10:34:29 server started - 2022/01/04 10:34:29 main interface at http://pc-freebsd - 2022/01/04 10:34:29 main interface at https://pc-freebsd - 2022/01/04 10:34:29 admin interface at https://pc-freebsd/admin + 2022/01/05 10:34:29 server started + 2022/01/05 10:34:29 main interface at http://pc-freebsd + 2022/01/05 10:34:29 main interface at https://pc-freebsd + 2022/01/05 10:34:29 admin interface at https://pc-freebsd/admin ## Save your advanced configuration to a config file @@ -131,7 +131,7 @@ You don't want to have to type everytime a long list of arguments. No problem, y > -ssl_key_file server.key \ > -ssl_listen :443 \ > -config_save - 2022/01/04 10:37:00 rdio-scanner.ini file created + 2022/01/05 10:37:00 rdio-scanner.ini file created All of your parameters passed as arguments to [Rdio Scanner](https://github.com/chuot/rdio-scanner) have been saved to an INI file which has the same arguments/values list. @@ -148,12 +148,12 @@ Then simply run [Rdio Scanner](https://github.com/chuot/rdio-scanner) without an Password: root@pc-freebsd:/home/rdio/rdio-scanner # ./rdio-scanner - Rdio Scanner v6.1.1 + Rdio Scanner v6.1.2 ---------------------------------- - 2022/01/04 10:38:28 server started - 2022/01/04 10:38:29 main interface at http://pc-freebsd - 2022/01/04 10:38:29 main interface at https://pc-freebsd - 2022/01/04 10:38:29 admin interface at https://pc-freebsd/admin + 2022/01/05 10:38:28 server started + 2022/01/05 10:38:29 main interface at http://pc-freebsd + 2022/01/05 10:38:29 main interface at https://pc-freebsd + 2022/01/05 10:38:29 admin interface at https://pc-freebsd/admin ## Install Rdio Scanner as a service diff --git a/docs/platforms/linux.md b/docs/platforms/linux.md index c957816..752d4b7 100644 --- a/docs/platforms/linux.md +++ b/docs/platforms/linux.md @@ -42,8 +42,8 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd [rdio@pc-linux ~]$ mkdir rdio-scanner [rdio@pc-linux ~]$ cd rdio-scanner [rdio@pc-linux rdio-scanner]$ unzip \ - > ~/Downloads/rdio-scanner-linux-amd64-v6.1.1.zip - Archive: /home/rdio/Downloads/rdio-scanner-linux-amd64-v6.1.1.zip + > ~/Downloads/rdio-scanner-linux-amd64-v6.1.2.zip + Archive: /home/rdio/Downloads/rdio-scanner-linux-amd64-v6.1.2.zip inflating: rdio-scanner inflating: rdio-scanner.pdf @@ -51,11 +51,11 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd [rdio@pc-linux rdio-scanner]$ ./rdio-scanner - Rdio Scanner v6.1.1 + Rdio Scanner v6.1.2 ---------------------------------- - 2022/01/04 09:11:48 server started - 2022/01/04 09:11:48 main interface at http://pc-linux:3000 - 2022/01/04 09:11:48 admin interface at http://pc-linux:3000/admin + 2022/01/05 09:11:48 server started + 2022/01/05 09:11:48 main interface at http://pc-linux:3000 + 2022/01/05 09:11:48 admin interface at http://pc-linux:3000/admin 4. Access the administrative dashboard to finalize the configuration. @@ -78,11 +78,11 @@ Here we want our [Rdio Scanner](https://guthub.com/chuot/rdio-scanner) instance [rdio@pc-linux rdio-scanner]$ sudo ./rdio-scanner -listen :80 [sudo] password for rdio: - Rdio Scanner v6.1.1 + Rdio Scanner v6.1.2 ---------------------------------- - 2022/01/04 09:14:00 server started - 2022/01/04 09:14:00 main interface at http://pc-linux - 2022/01/04 09:14:00 admin interface at http://pc-linux/admin + 2022/01/05 09:14:00 server started + 2022/01/05 09:14:00 main interface at http://pc-linux + 2022/01/05 09:14:00 admin interface at http://pc-linux/admin ## Listening with SSL with self-signed certificates @@ -91,8 +91,8 @@ It is advised to share your [Rdio Scanner](https://github.com/chuot/rdio-scanner We can create such self-signed certificates by running [Rdio Scanner](https://github.com/chuot/rdio-scanner) with the **-ssl_create** argument. [rdio@pc-linux rdio-scanner]$ ./rdio-scanner -ssl_create - 2022/01/04 09:15:03 generating ssl certificate files - 2022/01/04 09:15:05 ssl files created + 2022/01/05 09:15:03 generating ssl certificate files + 2022/01/05 09:15:05 ssl files created This has generated these files in the same folder as your [Rdio Scanner](https://github.com/chuot/rdio-scanner) executable. @@ -110,12 +110,12 @@ Now we use the self-signed server certificate to run our instance. > -ssl_listen :443 [sudo] password for rdio: - Rdio Scanner v6.1.1 + Rdio Scanner v6.1.2 ---------------------------------- - 2022/01/04 09:16:47 server started - 2022/01/04 09:16:47 main interface at http://pc-linux - 2022/01/04 09:16:47 main interface at https://pc-linux - 2022/01/04 09:16:47 admin interface at https://pc-linux/admin + 2022/01/05 09:16:47 server started + 2022/01/05 09:16:47 main interface at http://pc-linux + 2022/01/05 09:16:47 main interface at https://pc-linux + 2022/01/05 09:16:47 admin interface at https://pc-linux/admin ## Save your advanced configuration to a config file @@ -127,7 +127,7 @@ You don't want to have to type everytime a long list of arguments. No problem, y > -ssl_key_file server.key \ > -ssl_listen :443 \ > -config_save - 2022/01/04 09:19:29 rdio-scanner.ini file created + 2022/01/05 09:19:29 rdio-scanner.ini file created All of your parameters passed as arguments to [Rdio Scanner](https://github.com/chuot/rdio-scanner) have been saved to an INI file which has the same arguments/values list. @@ -143,12 +143,12 @@ Then simply run [Rdio Scanner](https://github.com/chuot/rdio-scanner) without an [rdio@pc-linux rdio-scanner]$ sudo ./rdio-scanner [sudo] Mot de passe de rdio : - Rdio Scanner v6.1.1 + Rdio Scanner v6.1.2 ---------------------------------- - 2022/01/04 09:20:40 server started - 2022/01/04 09:20:40 main interface at http://pc-linux - 2022/01/04 09:20:40 main interface at https://pc-linux - 2022/01/04 09:20:40 admin interface at https://pc-linux/admin + 2022/01/05 09:20:40 server started + 2022/01/05 09:20:40 main interface at http://pc-linux + 2022/01/05 09:20:40 main interface at https://pc-linux + 2022/01/05 09:20:40 admin interface at https://pc-linux/admin ## Install Rdio Scanner as a service diff --git a/docs/platforms/windows.md b/docs/platforms/windows.md index 1069037..9a552c9 100644 --- a/docs/platforms/windows.md +++ b/docs/platforms/windows.md @@ -44,7 +44,7 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd C:\Users\rdio> cd rdio-scanner C:\Users\rdio\rdio-scanner> tar -xvf ^ - ..\downloads\rdio-scanner-windows-amd64-v6.1.1.zip + ..\downloads\rdio-scanner-windows-amd64-v6.1.2.zip x rdio-scanner.exe x rdio-scanner.pdf @@ -52,11 +52,11 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd C:\Users\rdio\rdio-scanner>rdio-scanner - Rdio Scanner v6.1.1 + Rdio Scanner v6.1.2 ---------------------------------- - 2022/01/04 13:48:48 server started - 2022/01/04 13:48:48 main interface at http://pc-windows:3000 - 2022/01/04 13:48:48 admin interface at http://pc-windows:3000/admin + 2022/01/05 13:48:48 server started + 2022/01/05 13:48:48 main interface at http://pc-windows:3000 + 2022/01/05 13:48:48 admin interface at http://pc-windows:3000/admin 4. Access the administrative dashboard to finalize the configuration. @@ -78,11 +78,11 @@ Here we want our [Rdio Scanner](https://guthub.com/chuot/rdio-scanner) instance C:\Users\rdio\rdio-scanner>rdio-scanner -listen :80 - Rdio Scanner v6.1.1 + Rdio Scanner v6.1.2 ---------------------------------- - 2022/01/04 10:53:31 server started - 2022/01/04 10:53:31 main interface at http://pc-windows - 2022/01/04 10:53:31 admin interface at http://pc-windows/admin + 2022/01/05 10:53:31 server started + 2022/01/05 10:53:31 main interface at http://pc-windows + 2022/01/05 10:53:31 admin interface at http://pc-windows/admin ## Listening with SSL with self-signed certificates @@ -91,8 +91,8 @@ It is advised to share your [Rdio Scanner](https://github.com/chuot/rdio-scanner We can create such self-signed certificates by running [Rdio Scanner](https://github.com/chuot/rdio-scanner) with the **-ssl_create** argument. C:\Users\rdio\rdio-scanner>rdio-scanner -ssl_create - 2022/01/04 10:58:51 generating ssl certificate files - 2022/01/04 10:58:54 ssl files created + 2022/01/05 10:58:51 generating ssl certificate files + 2022/01/05 10:58:54 ssl files created This has generated these files in the same folder as your [Rdio Scanner](https://github.com/chuot/rdio-scanner) executable. @@ -109,12 +109,12 @@ Now we use the self-signed server certificate to run our instance. -ssl_key_file server.key ^ -ssl_listen :443 - Rdio Scanner v6.1.1 + Rdio Scanner v6.1.2 ---------------------------------- - 2022/01/04 11:05:43 server started - 2022/01/04 11:05:43 main interface at http://pc-windows - 2022/01/04 11:05:43 main interface at https://pc-windows - 2022/01/04 11:05:43 admin interface at https://pc-windows/admin + 2022/01/05 11:05:43 server started + 2022/01/05 11:05:43 main interface at http://pc-windows + 2022/01/05 11:05:43 main interface at https://pc-windows + 2022/01/05 11:05:43 admin interface at https://pc-windows/admin ## Save your advanced configuration to a config file @@ -126,7 +126,7 @@ You don't want to have to type everytime a long list of arguments. No problem, y -ssl_key_file server.key ^ -ssl_listen :443 ^ -config_save - 2022/01/04 11:08:28 rdio-scanner.ini file created + 2022/01/05 11:08:28 rdio-scanner.ini file created All of your parameters passed as arguments to [Rdio Scanner](https://github.com/chuot/rdio-scanner) have been saved to an INI file which has the same arguments/values list. @@ -141,12 +141,12 @@ Then simply run [Rdio Scanner](https://github.com/chuot/rdio-scanner) without an C:\Users\rdio\rdio-scanner>rdio-scanner - Rdio Scanner v6.1.1 + Rdio Scanner v6.1.2 ---------------------------------- - 2022/01/04 11:11:28 server started - 2022/01/04 11:11:28 main interface at http://pc-windows - 2022/01/04 11:11:28 main interface at https://pc-windows - 2022/01/04 11:11:28 admin interface at https://pc-windows/admin + 2022/01/05 11:11:28 server started + 2022/01/05 11:11:28 main interface at http://pc-windows + 2022/01/05 11:11:28 main interface at https://pc-windows + 2022/01/05 11:11:28 admin interface at https://pc-windows/admin \pagebreak{} diff --git a/docs/update-from-v5.md b/docs/update-from-v5.md new file mode 100644 index 0000000..ff842ba --- /dev/null +++ b/docs/update-from-v5.md @@ -0,0 +1,35 @@ +# Updating from version 5 + +[Rdio Scanner](https://github.com/chuot/rdio-scanner) has its server component completely rewritten in [GO](https://go.dev). Therefore, it is no longer possible to upgrade to version 6 as with previous versions. + +You need to download the latest Rdio Scanner release from the [releases tab](https://github.com/chuot/rdio-scanner/releases) on the [main page](https://github.com/chuot/rdio-scanner). + +> REMEMBER TO ALWAYS BACKUP YOUR DATABASE BEFORE ATTEMPTING AN UPDATE. + +## Update steps for the standard sqlite database + +- Stop your version 5 instance. +- Copy your old version 5 `database.sqlite` to a new folder where version 6 will be installed. +- Rename the database copy to `rdio-scanner.db`, the new default name. +- Run the new version 6 executable to update the database. +- Keep reading the PDF document that comes with the version 6 to make your instance as a service. + +## Update steps for mysql/mariadb database + +- Stop your version 5 instance. +- Make a backup of your MySQL/MariaDB database. +- Start the new version 6 executable with the proper -db_* arguments, see the `-h` output for more details. +- Keep reading the PDF document that comes with the version 6 to make your instance as a service. + +## What if it is too late + +Revert back to the latest [version 5.2.9](https://github.com/chuot/rdio-scanner/tree/3f2b184558e82317a010bd667ac3972f30998b1c) with the following commands: + +- cd .../rdio-scanner +- git checkout 3f2b184 +- cd client +- npm ci +- npm run build +- cd ../server +- npm ci +- restart your Rdio Scanner instance as usual diff --git a/docs/webapp.md b/docs/webapp.md index eb97705..4c1caf7 100644 --- a/docs/webapp.md +++ b/docs/webapp.md @@ -46,15 +46,15 @@ The color is _green_ by default, but can be customized by the system or by the t | Button | Description | | -------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| ![LIVE FEED](../images/webapp-control-livefeed-partial.png?raw=true) | When active, incoming audio will be played according to the active systems/talkgroups on the **SELECT TG** panel. The LED can also be _yellow_ if playing audio from the archive while **LIVE FEED** is inactive, this is called **offline playback mode**. Disabling **LIVE FEED** will also stop any playing audio and will clear the listening queue. | -| ![HOLD SYS](../images/webapp-control-holdsys.png?raw=true) | Temporarily maintain the current system in live feed mode. | -| ![HOLD TG](../images/webapp-control-holdtg.png?raw=true) | Temporarily maintain the current talkgroup in live feed mode. | -| ![REPLAY LAST](../images/webapp-control-replay.png?raw=true) | Replay the current audio from the beginning or the previous one if there is none active. | -| ![SKIP NEXT](../images/webapp-control-skip.png?raw=true) | Stop the audio currently playing and play the next one in the listening queue. This is useful when playing boring or encrypted sound. | -| ![AVOID](../images/webapp-control-avoid.png?raw=true) | Activate and deactivate the talkgroup from the current or previous audio. | -| ![SEARCH CALL](../images/webapp-control-search.png?raw=true) | Display the archived audio panel. | -| ![PAUSE](../images/webapp-control-pause.png?raw=true) | Stop playing queue audio. Useful if you have to answer the phone without losing what's queued up for playing. | -| ![SELECT TG](../images/webapp-control-select.png?raw=true) | Display the systems/talkgroups selection panel where you decide which audio you want to listen to in _LIVE FEED_ mode, not in offline playback mode. | +| ![LIVE FEED](./images/webapp-control-livefeed-partial.png?raw=true) | When active, incoming audio will be played according to the active systems/talkgroups on the **SELECT TG** panel. The LED can also be _yellow_ if playing audio from the archive while **LIVE FEED** is inactive, this is called **offline playback mode**. Disabling **LIVE FEED** will also stop any playing audio and will clear the listening queue. | +| ![HOLD SYS](./images/webapp-control-holdsys.png?raw=true) | Temporarily maintain the current system in live feed mode. | +| ![HOLD TG](./images/webapp-control-holdtg.png?raw=true) | Temporarily maintain the current talkgroup in live feed mode. | +| ![REPLAY LAST](./images/webapp-control-replay.png?raw=true) | Replay the current audio from the beginning or the previous one if there is none active. | +| ![SKIP NEXT](./images/webapp-control-skip.png?raw=true) | Stop the audio currently playing and play the next one in the listening queue. This is useful when playing boring or encrypted sound. | +| ![AVOID](./images/webapp-control-avoid.png?raw=true) | Activate and deactivate the talkgroup from the current or previous audio. | +| ![SEARCH CALL](./images/webapp-control-search.png?raw=true) | Display the archived audio panel. | +| ![PAUSE](./images/webapp-control-pause.png?raw=true) | Stop playing queue audio. Useful if you have to answer the phone without losing what's queued up for playing. | +| ![SELECT TG](./images/webapp-control-select.png?raw=true) | Display the systems/talkgroups selection panel where you decide which audio you want to listen to in _LIVE FEED_ mode, not in offline playback mode. | ## Select panel @@ -68,8 +68,8 @@ Here you select which systems/talkgroups/groups you want to listen to while in _ The first section concerns group selection. This section can be disabled from the configuration file, but is active by default. Each button has three states: -| Button | State | -| -------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Button | State | +| ------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ![ON](./images/webapp-select-group-on.png?raw=true) | All talkgroups, from any systems, that correspond to this group are actives. If you press it while it is active, it will make these talkgroups inactives. | | ![OFF](./images/webapp-select-group-off.png?raw=true) | All talkgroups, from any systems, that correspond to this group are inactives. If you press it while it is inactive, it will make these talkgroups actives. | | ![PARTIAL](./images/webapp-select-group-partial.png?raw=true) | Some talkgroups, from any systems, that correspond to this group are actives and some are inactives. If you press it while it is active, it will make all these talkgroups active. | diff --git a/server/controller.go b/server/controller.go index 34790d0..e74027d 100644 --- a/server/controller.go +++ b/server/controller.go @@ -315,10 +315,13 @@ func (controller *Controller) IngestCall(call *Call) { system.Talkgroups = append(system.Talkgroups, talkgroup) } - if controller.Options.AutoPopulate || system.AutoPopulate { + if controller.Options.AutoPopulate || (system != nil && system.AutoPopulate) { switch v := call.units.(type) { case Units: populated = true + if system.Units == nil { + system.Units = Units{} + } system.Units.Merge(&v) } } diff --git a/server/dirwatch.go b/server/dirwatch.go index c62df5f..a739d8c 100644 --- a/server/dirwatch.go +++ b/server/dirwatch.go @@ -296,14 +296,14 @@ func (dirwatch *Dirwatch) ingestTrunkRecorder(p string) error { if call.IsValid() { dirwatch.controller.Ingest <- &call + } - if dirwatch.DeleteAfter { - if err = os.Remove(p); err != nil { - return err - } - if err = os.Remove(audioName); err != nil { - return err - } + if dirwatch.DeleteAfter { + if err = os.Remove(p); err != nil { + return err + } + if err = os.Remove(audioName); err != nil { + return err } } diff --git a/server/go.mod b/server/go.mod index 4f64b43..f2576f0 100644 --- a/server/go.mod +++ b/server/go.mod @@ -21,7 +21,7 @@ require ( github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 // indirect github.com/stretchr/testify v1.7.0 // indirect golang.org/x/mod v0.5.1 // indirect - golang.org/x/net v0.0.0-20211216030914-fe4d6282115f // indirect + golang.org/x/net v0.0.0-20220105145211-5b0dc2dfae98 // indirect golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/tools v0.1.8 // indirect diff --git a/server/go.sum b/server/go.sum index 40cef7c..b4e1791 100644 --- a/server/go.sum +++ b/server/go.sum @@ -47,8 +47,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211216030914-fe4d6282115f h1:hEYJvxw1lSnWIl8X9ofsYMklzaDs90JI2az5YMd4fPM= -golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220105145211-5b0dc2dfae98 h1:+6WJMRLHlD7X7frgp7TUZ36RnQzSf9wVVTNakEp+nqY= +golang.org/x/net v0.0.0-20220105145211-5b0dc2dfae98/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= diff --git a/server/group.go b/server/group.go index d4422b7..8d63caf 100644 --- a/server/group.go +++ b/server/group.go @@ -161,7 +161,7 @@ func (groups *Groups) Read(db *Database) error { group := Group{} if err = rows.Scan(&id, &group.Label); err != nil { - continue + break } if id.Valid && id.Float64 > 0 { diff --git a/server/log.go b/server/log.go index ff72d0f..e80ee7a 100644 --- a/server/log.go +++ b/server/log.go @@ -218,7 +218,7 @@ func NewLogResults(logOptions *LogOptions, db *Database) (*LogResults, error) { log := Log{} if err = rows.Scan(&id, &dateTime, &log.Level, &log.Message); err != nil { - continue + break } if id.Valid && id.Float64 > 0 { diff --git a/server/parsers.go b/server/parsers.go index 31c27cb..951ea57 100644 --- a/server/parsers.go +++ b/server/parsers.go @@ -73,7 +73,7 @@ func ParseSdrTrunkMeta(call *Call, controller *Controller) error { } } - s = regexp.MustCompile(`^(?:P:)*([0-9]+)`).FindStringSubmatch(m.Title()) + s = regexp.MustCompile(`([0-9]+)`).FindStringSubmatch(m.Title()) if len(s) > 1 && len(s[1]) > 0 { if i, err = strconv.Atoi(s[1]); err != nil { return err diff --git a/server/search.go b/server/search.go index b75853d..e73967d 100644 --- a/server/search.go +++ b/server/search.go @@ -275,7 +275,7 @@ func NewSearchResults(searchOptions *SearchOptions, client *Client) (*SearchResu for rows.Next() { searchResult := SearchResult{} if err = rows.Scan(&id, &dateTime, &searchResult.System, &searchResult.Talkgroup); err != nil { - continue + break } if id.Valid && id.Float64 > 0 { diff --git a/server/system.go b/server/system.go index 67589fc..9c34cde 100644 --- a/server/system.go +++ b/server/system.go @@ -309,7 +309,7 @@ func (systems *Systems) Read(db *Database) error { } if err = rows.Scan(&rowId, &system.AutoPopulate, &blacklists, &system.Id, &system.Label, &led, &order); err != nil { - continue + break } if rowId.Valid && rowId.Float64 > 0 { diff --git a/server/tags.go b/server/tags.go index 99fa808..0fda854 100644 --- a/server/tags.go +++ b/server/tags.go @@ -161,7 +161,7 @@ func (tags *Tags) Read(db *Database) error { tag := Tag{} if err = rows.Scan(&id, &tag.Label); err != nil { - continue + break } if id.Valid && id.Float64 > 0 { diff --git a/server/talkgroup.go b/server/talkgroup.go index 3ff3e98..f4bc1c8 100644 --- a/server/talkgroup.go +++ b/server/talkgroup.go @@ -145,7 +145,7 @@ func (talkgroups *Talkgroups) Read(db *Database, systemId uint) error { talkgroup := &Talkgroup{} if err = rows.Scan(&frequency, &talkgroup.GroupId, &talkgroup.Id, &talkgroup.Label, &led, &talkgroup.Name, &talkgroup.Order, &talkgroup.TagId); err != nil { - continue + break } if frequency.Valid && frequency.Float64 > 0 { diff --git a/server/version.go b/server/version.go index 2d115d6..46dceb5 100644 --- a/server/version.go +++ b/server/version.go @@ -15,4 +15,4 @@ package main -const Version = "6.1.1" +const Version = "6.1.2"