Version 6.1.1

This commit is contained in:
Chrystian Huot 2022-01-04 14:11:24 -05:00
parent 96c965512b
commit 79827e3619
11 changed files with 68 additions and 68 deletions

View file

@ -9,6 +9,10 @@
- Fix blacklisted talkgroups being created anyway when autopopulate is enabled. - Fix blacklisted talkgroups being created anyway when autopopulate is enabled.
- Fix compatibility with mysql/mariadb (default sqlite is still recommended). - Fix compatibility with mysql/mariadb (default sqlite is still recommended).
_v6.1.1_
- Fix `unknown datetime format sql.NullString` error.
## Version 6.0 ## Version 6.0
- Backend server rewritten in Go for better performance and ease of installation. - Backend server rewritten in Go for better performance and ease of installation.

View file

@ -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. When finished, you will find the precompiled versions for various platforms in the `dist` folder.
rdio-scanner-darwin-amd64-v6.1.0.zip rdio-scanner-darwin-amd64-v6.1.1.zip
rdio-scanner-darwin-arm64-v6.1.0.zip rdio-scanner-darwin-arm64-v6.1.1.zip
rdio-scanner-freebsd-amd64-v6.1.0.zip rdio-scanner-freebsd-amd64-v6.1.1.zip
rdio-scanner-linux-386-v6.1.0.zip rdio-scanner-linux-386-v6.1.1.zip
rdio-scanner-linux-amd64-v6.1.0.zip rdio-scanner-linux-amd64-v6.1.1.zip
rdio-scanner-linux-arm64-v6.1.0.zip rdio-scanner-linux-arm64-v6.1.1.zip
rdio-scanner-linux-arm-v6.1.0.zip rdio-scanner-linux-arm-v6.1.1.zip
rdio-scanner-windows-amd64-v6.1.0.zip rdio-scanner-windows-amd64-v6.1.1.zip
**Happy Rdio scanning !** **Happy Rdio scanning !**

View file

@ -17,7 +17,7 @@
app := rdio-scanner app := rdio-scanner
date := 2022/01/04 date := 2022/01/04
ver := 6.1.0 ver := 6.1.1
client := $(wildcard client/*.json client/*.ts) client := $(wildcard client/*.json client/*.ts)
server := $(wildcard server/*.go) server := $(wildcard server/*.go)

View file

@ -39,5 +39,5 @@
"build": "ng build --base-href ./ --configuration production", "build": "ng build --base-href ./ --configuration production",
"start": "ng serve" "start": "ng serve"
}, },
"version": "6.1.0" "version": "6.1.1"
} }

View file

@ -42,8 +42,8 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
rdio@macos ~ % mkdir rdio-scanner rdio@macos ~ % mkdir rdio-scanner
rdio@macos ~ % cd rdio-scanner rdio@macos ~ % cd rdio-scanner
rdio@macos rdio-scanner % unzip \ rdio@macos rdio-scanner % unzip \
> ~/Downloads/rdio-scanner-darwin-arm64-v6.1.0.zip > ~/Downloads/rdio-scanner-darwin-arm64-v6.1.1.zip
Archive: /Users/rdio/Downloads/rdio-scanner-darwin-arm64-v6.1.0.zip Archive: /Users/rdio/Downloads/rdio-scanner-darwin-arm64-v6.1.1.zip
inflating: rdio-scanner inflating: rdio-scanner
inflating: rdio-scanner.pdf inflating: rdio-scanner.pdf
@ -51,7 +51,7 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
rdio@macos rdio-scanner % ./rdio-scanner rdio@macos rdio-scanner % ./rdio-scanner
Rdio Scanner v6.1.0 Rdio Scanner v6.1.1
---------------------------------- ----------------------------------
2022/01/04 08:38:06 server started 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 main interface at http://macos.local:3000
@ -77,7 +77,7 @@ Here we want our [Rdio Scanner](https://guthub.com/chuot/rdio-scanner) instance
rdio@macos rdio-scanner % ./rdio-scanner --listen :80 rdio@macos rdio-scanner % ./rdio-scanner --listen :80
Rdio Scanner v6.1.0 Rdio Scanner v6.1.1
---------------------------------- ----------------------------------
2022/01/04 08:48:03 server started 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 main interface at http://macos.local
@ -108,7 +108,7 @@ Now we use the self-signed server certificate to run our instance.
> -ssl_key_file server.key \ > -ssl_key_file server.key \
> -ssl_listen :443 > -ssl_listen :443
Rdio Scanner v6.1.0 Rdio Scanner v6.1.1
---------------------------------- ----------------------------------
2022/01/04 08:50:58 server started 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 http://macos.local
@ -140,7 +140,7 @@ Then simply run [Rdio Scanner](https://github.com/chuot/rdio-scanner) without an
rdio@macos rdio-scanner % ./rdio-scanner rdio@macos rdio-scanner % ./rdio-scanner
Rdio Scanner v6.1.0 Rdio Scanner v6.1.1
---------------------------------- ----------------------------------
2022/01/04 08:54:08 server started 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 http://macos.local

View file

@ -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:~ $ mkdir rdio-scanner
rdio@pc-freebsd:~ $ cd rdio-scanner rdio@pc-freebsd:~ $ cd rdio-scanner
rdio@pc-freebsd:~/rdio-scanner $ unzip \ rdio@pc-freebsd:~/rdio-scanner $ unzip \
> ~/rdio-scanner-freebsd-amd64-v6.1.0.zip > ~/rdio-scanner-freebsd-amd64-v6.1.1.zip
Archive: ../rdio-scanner-freebsd-amd64-v6.1.0.zip Archive: ../rdio-scanner-freebsd-amd64-v6.1.1.zip
extracting: rdio-scanner extracting: rdio-scanner
extracting: rdio-scanner.pdf extracting: rdio-scanner.pdf
@ -51,7 +51,7 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
rdio@pc-freebsd:~/rdio-scanner $ ./rdio-scanner rdio@pc-freebsd:~/rdio-scanner $ ./rdio-scanner
Rdio Scanner v6.1.0 Rdio Scanner v6.1.1
---------------------------------- ----------------------------------
2022/01/04 08:16:36 server started 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 main interface at http://pc-freebsd:3000
@ -81,7 +81,7 @@ Here we want our [Rdio Scanner](https://guthub.com/chuot/rdio-scanner) instance
Password: Password:
root@pc-freebsd:/home/rdio/rdio-scanner # ./rdio-scanner -listen :80 root@pc-freebsd:/home/rdio/rdio-scanner # ./rdio-scanner -listen :80
Rdio Scanner v6.1.0 Rdio Scanner v6.1.1
---------------------------------- ----------------------------------
2022/01/04 08:19:38 server started 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 main interface at http://pc-freebsd
@ -114,7 +114,7 @@ Now we use the self-signed server certificate to run our instance.
> -ssl_key_file server.key \ > -ssl_key_file server.key \
> -ssl_listen :443 > -ssl_listen :443
Rdio Scanner v6.1.0 Rdio Scanner v6.1.1
---------------------------------- ----------------------------------
2022/01/04 10:34:29 server started 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 http://pc-freebsd
@ -148,7 +148,7 @@ Then simply run [Rdio Scanner](https://github.com/chuot/rdio-scanner) without an
Password: Password:
root@pc-freebsd:/home/rdio/rdio-scanner # ./rdio-scanner root@pc-freebsd:/home/rdio/rdio-scanner # ./rdio-scanner
Rdio Scanner v6.1.0 Rdio Scanner v6.1.1
---------------------------------- ----------------------------------
2022/01/04 10:38:28 server started 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 http://pc-freebsd

View file

@ -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 ~]$ mkdir rdio-scanner
[rdio@pc-linux ~]$ cd rdio-scanner [rdio@pc-linux ~]$ cd rdio-scanner
[rdio@pc-linux rdio-scanner]$ unzip \ [rdio@pc-linux rdio-scanner]$ unzip \
> ~/Downloads/rdio-scanner-linux-amd64-v6.1.0.zip > ~/Downloads/rdio-scanner-linux-amd64-v6.1.1.zip
Archive: /home/rdio/Downloads/rdio-scanner-linux-amd64-v6.1.0.zip Archive: /home/rdio/Downloads/rdio-scanner-linux-amd64-v6.1.1.zip
inflating: rdio-scanner inflating: rdio-scanner
inflating: rdio-scanner.pdf inflating: rdio-scanner.pdf
@ -51,7 +51,7 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
[rdio@pc-linux rdio-scanner]$ ./rdio-scanner [rdio@pc-linux rdio-scanner]$ ./rdio-scanner
Rdio Scanner v6.1.0 Rdio Scanner v6.1.1
---------------------------------- ----------------------------------
2022/01/04 09:11:48 server started 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 main interface at http://pc-linux:3000
@ -78,7 +78,7 @@ Here we want our [Rdio Scanner](https://guthub.com/chuot/rdio-scanner) instance
[rdio@pc-linux rdio-scanner]$ sudo ./rdio-scanner -listen :80 [rdio@pc-linux rdio-scanner]$ sudo ./rdio-scanner -listen :80
[sudo] password for rdio: [sudo] password for rdio:
Rdio Scanner v6.1.0 Rdio Scanner v6.1.1
---------------------------------- ----------------------------------
2022/01/04 09:14:00 server started 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 main interface at http://pc-linux
@ -110,7 +110,7 @@ Now we use the self-signed server certificate to run our instance.
> -ssl_listen :443 > -ssl_listen :443
[sudo] password for rdio: [sudo] password for rdio:
Rdio Scanner v6.1.0 Rdio Scanner v6.1.1
---------------------------------- ----------------------------------
2022/01/04 09:16:47 server started 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 http://pc-linux
@ -143,7 +143,7 @@ Then simply run [Rdio Scanner](https://github.com/chuot/rdio-scanner) without an
[rdio@pc-linux rdio-scanner]$ sudo ./rdio-scanner [rdio@pc-linux rdio-scanner]$ sudo ./rdio-scanner
[sudo] Mot de passe de rdio : [sudo] Mot de passe de rdio :
Rdio Scanner v6.1.0 Rdio Scanner v6.1.1
---------------------------------- ----------------------------------
2022/01/04 09:20:40 server started 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 http://pc-linux

View file

@ -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> cd rdio-scanner
C:\Users\rdio\rdio-scanner> tar -xvf ^ C:\Users\rdio\rdio-scanner> tar -xvf ^
..\downloads\rdio-scanner-windows-amd64-v6.1.0.zip ..\downloads\rdio-scanner-windows-amd64-v6.1.1.zip
x rdio-scanner.exe x rdio-scanner.exe
x rdio-scanner.pdf x rdio-scanner.pdf
@ -52,7 +52,7 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
C:\Users\rdio\rdio-scanner>rdio-scanner C:\Users\rdio\rdio-scanner>rdio-scanner
Rdio Scanner v6.1.0 Rdio Scanner v6.1.1
---------------------------------- ----------------------------------
2022/01/04 13:48:48 server started 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 main interface at http://pc-windows:3000
@ -78,7 +78,7 @@ Here we want our [Rdio Scanner](https://guthub.com/chuot/rdio-scanner) instance
C:\Users\rdio\rdio-scanner>rdio-scanner -listen :80 C:\Users\rdio\rdio-scanner>rdio-scanner -listen :80
Rdio Scanner v6.1.0 Rdio Scanner v6.1.1
---------------------------------- ----------------------------------
2022/01/04 10:53:31 server started 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 main interface at http://pc-windows
@ -109,7 +109,7 @@ Now we use the self-signed server certificate to run our instance.
-ssl_key_file server.key ^ -ssl_key_file server.key ^
-ssl_listen :443 -ssl_listen :443
Rdio Scanner v6.1.0 Rdio Scanner v6.1.1
---------------------------------- ----------------------------------
2022/01/04 11:05:43 server started 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 http://pc-windows
@ -141,7 +141,7 @@ Then simply run [Rdio Scanner](https://github.com/chuot/rdio-scanner) without an
C:\Users\rdio\rdio-scanner>rdio-scanner C:\Users\rdio\rdio-scanner>rdio-scanner
Rdio Scanner v6.1.0 Rdio Scanner v6.1.1
---------------------------------- ----------------------------------
2022/01/04 11:11:28 server started 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 http://pc-windows

View file

@ -110,7 +110,7 @@ func NewLogResults(logOptions *LogOptions, db *Database) (*LogResults, error) {
) )
var ( var (
dateTime sql.NullString dateTime interface{}
err error err error
id sql.NullFloat64 id sql.NullFloat64
limit uint limit uint
@ -183,12 +183,14 @@ func NewLogResults(logOptions *LogOptions, db *Database) (*LogResults, error) {
return nil, formatError(fmt.Errorf("%v, %v", err, query)) return nil, formatError(fmt.Errorf("%v, %v", err, query))
} }
if dateTime.Valid && len(dateTime.String) > 0 { if dateTime == nil {
if t, err := db.ParseDateTime(dateTime.String); err == nil { return logResults, nil
logResults.DateStart = t }
} else {
return nil, err if t, err := db.ParseDateTime(dateTime); err == nil {
} logResults.DateStart = t
} else {
return nil, err
} }
query = fmt.Sprintf("select `dateTime` from `rdioScannerLogs` where %v order by `dateTime` asc", where) query = fmt.Sprintf("select `dateTime` from `rdioScannerLogs` where %v order by `dateTime` asc", where)
@ -196,12 +198,10 @@ func NewLogResults(logOptions *LogOptions, db *Database) (*LogResults, error) {
return nil, formatError(fmt.Errorf("%v, %v", err, query)) return nil, formatError(fmt.Errorf("%v, %v", err, query))
} }
if dateTime.Valid && len(dateTime.String) > 0 { if t, err := db.ParseDateTime(dateTime); err == nil {
if t, err := db.ParseDateTime(dateTime.String); err == nil { logResults.DateStop = t
logResults.DateStop = t } else {
} else { return nil, err
return nil, err
}
} }
query = fmt.Sprintf("select count(*) from `rdioScannerLogs` where %v", where) query = fmt.Sprintf("select count(*) from `rdioScannerLogs` where %v", where)
@ -225,12 +225,10 @@ func NewLogResults(logOptions *LogOptions, db *Database) (*LogResults, error) {
log.Id = uint(id.Float64) log.Id = uint(id.Float64)
} }
if dateTime.Valid && len(dateTime.String) > 0 { if t, err := db.ParseDateTime(dateTime); err == nil {
if t, err := db.ParseDateTime(dateTime.String); err == nil { log.DateTime = t
log.DateTime = t } else {
} else { continue
continue
}
} }
logResults.Logs = append(logResults.Logs, log) logResults.Logs = append(logResults.Logs, log)

View file

@ -103,7 +103,7 @@ func NewSearchResults(searchOptions *SearchOptions, client *Client) (*SearchResu
) )
var ( var (
dateTime sql.NullString dateTime interface{}
err error err error
id sql.NullFloat64 id sql.NullFloat64
limit uint limit uint
@ -203,21 +203,20 @@ func NewSearchResults(searchOptions *SearchOptions, client *Client) (*SearchResu
return nil, formatError(fmt.Errorf("%v, %v", err, query)) return nil, formatError(fmt.Errorf("%v, %v", err, query))
} }
if dateTime.Valid && len(dateTime.String) > 0 { if dateTime == nil {
if t, err = db.ParseDateTime(dateTime.String); err == nil { return searchResults, nil
searchResults.DateStart = t
}
} }
if t, err = db.ParseDateTime(dateTime); err == nil {
searchResults.DateStart = t
}
query = fmt.Sprintf("select `dateTime` from `rdioScannerCalls` where %v order by `dateTime` desc", where) query = fmt.Sprintf("select `dateTime` from `rdioScannerCalls` where %v order by `dateTime` desc", where)
if err = db.Sql.QueryRow(query).Scan(&dateTime); err != nil && err != sql.ErrNoRows { if err = db.Sql.QueryRow(query).Scan(&dateTime); err != nil && err != sql.ErrNoRows {
return nil, formatError(fmt.Errorf("%v, %v", err, query)) return nil, formatError(fmt.Errorf("%v, %v", err, query))
} }
if dateTime.Valid && len(dateTime.String) > 0 { if t, err = db.ParseDateTime(dateTime); err == nil {
if t, err = db.ParseDateTime(dateTime); err == nil { searchResults.DateStop = t
searchResults.DateStop = t
}
} }
switch v := searchOptions.Sort.(type) { switch v := searchOptions.Sort.(type) {
@ -283,12 +282,11 @@ func NewSearchResults(searchOptions *SearchOptions, client *Client) (*SearchResu
searchResult.Id = uint(id.Float64) searchResult.Id = uint(id.Float64)
} }
if dateTime.Valid && len(dateTime.String) > 0 { if t, err = db.ParseDateTime(dateTime); err == nil {
if t, err = db.ParseDateTime(dateTime); err == nil { searchResult.DateTime = t
searchResult.DateTime = t
} else { } else {
continue continue
}
} }
searchResults.Results = append(searchResults.Results, searchResult) searchResults.Results = append(searchResults.Results, searchResult)

View file

@ -15,4 +15,4 @@
package main package main
const Version = "6.1.0" const Version = "6.1.1"