Jakob Ketterl
|
48c594fdae
|
implement bookmark deletion
|
2021-02-14 16:51:16 +01:00 |
|
Jakob Ketterl
|
29a161b7b7
|
add the "add bookmarks" function
|
2021-02-14 16:21:09 +01:00 |
|
Jakob Ketterl
|
9b1659d3dd
|
remove index (unused)
|
2021-02-14 14:48:32 +01:00 |
|
Jakob Ketterl
|
3d97d362b5
|
implement bookmark storage
|
2021-02-14 00:41:03 +01:00 |
|
Jakob Ketterl
|
8ea4d11e9c
|
make the bookmarks table editable
|
2021-02-13 23:53:16 +01:00 |
|
Jakob Ketterl
|
48f26d00d6
|
add action column
|
2021-02-13 18:41:42 +01:00 |
|
Jakob Ketterl
|
3b60e0b737
|
display existing bookmarks in table
|
2021-02-13 18:35:15 +01:00 |
|
Jakob Ketterl
|
3e4ba42aab
|
style settings page; add bookmark editor page
|
2021-02-13 17:08:56 +01:00 |
|
Jakob Ketterl
|
cda43b5c5c
|
re-route settings urls
|
2021-02-13 16:44:14 +01:00 |
|
Jakob Ketterl
|
ae76470612
|
auto-reload bookmarks from file
|
2021-02-13 01:29:21 +01:00 |
|
Jakob Ketterl
|
5e51beac46
|
implement auto-reloading for bookmarks
|
2021-02-13 01:10:36 +01:00 |
|
Jakob Ketterl
|
8acfb8c1cf
|
add configuration for max_client limit
|
2021-02-13 00:52:08 +01:00 |
|
Jakob Ketterl
|
7d88d83c36
|
handle empty file
|
2021-02-12 17:00:35 +01:00 |
|
Jakob Ketterl
|
aad757df36
|
remove experimental csdr settings
|
2021-02-11 22:51:50 +01:00 |
|
Jakob Ketterl
|
a8c93fd8d1
|
enable web config
|
2021-02-11 19:37:45 +01:00 |
|
Jakob Ketterl
|
f23fa59ac3
|
implement config layering
|
2021-02-11 19:31:44 +01:00 |
|
Jakob Ketterl
|
e926611307
|
break config module apart
|
2021-02-11 13:55:06 +01:00 |
|
Jakob Ketterl
|
0fd172edc3
|
check file contents; work with file extensions
|
2021-02-11 00:20:17 +01:00 |
|
Jakob Ketterl
|
64f827d235
|
loopify
|
2021-02-10 22:25:43 +01:00 |
|
Jakob Ketterl
|
1e72485425
|
implement temporary file cleanup
|
2021-02-10 22:24:43 +01:00 |
|
Jakob Ketterl
|
7097dc1cd8
|
ability to restore original image
|
2021-02-10 21:29:46 +01:00 |
|
Jakob Ketterl
|
8cf9b509c1
|
apply authorization to image upload
|
2021-02-10 20:32:07 +01:00 |
|
Jakob Ketterl
|
17c20d12e0
|
refactor authentication / authorization into a mixin
|
2021-02-10 20:21:45 +01:00 |
|
Jakob Ketterl
|
8422a33081
|
add information note about caching
|
2021-02-09 18:06:32 +01:00 |
|
Jakob Ketterl
|
75418baf06
|
apply cachebuster for form
|
2021-02-09 18:00:56 +01:00 |
|
Jakob Ketterl
|
9f17c941d1
|
generalize image upload form element
|
2021-02-09 17:54:02 +01:00 |
|
Jakob Ketterl
|
779aa33a4a
|
add and resolve todos
|
2021-02-09 00:47:09 +01:00 |
|
Jakob Ketterl
|
7aa0f8b35d
|
improve image handling
|
2021-02-09 00:38:59 +01:00 |
|
Jakob Ketterl
|
3b670016be
|
implement uploading of top panorama, too
|
2021-02-09 00:12:53 +01:00 |
|
Jakob Ketterl
|
ad5daaae95
|
add exception for uploaded images
|
2021-02-08 23:44:10 +01:00 |
|
Jakob Ketterl
|
16d0e1a0d7
|
implement handling of uploaded files on save
|
2021-02-08 23:36:46 +01:00 |
|
Jakob Ketterl
|
4df5f19bd6
|
add todos
|
2021-02-08 23:30:44 +01:00 |
|
Jakob Ketterl
|
a1c024bfe2
|
implement dynamic file upload
|
2021-02-08 23:29:24 +01:00 |
|
Jakob Ketterl
|
2d72055070
|
organize
|
2021-02-08 20:30:12 +01:00 |
|
Jakob Ketterl
|
331e9627d6
|
implement forced password change for generated passwords
|
2021-02-08 18:30:54 +01:00 |
|
Jakob Ketterl
|
ed6594401c
|
monitor user file modifications & reload if necessary
|
2021-02-08 17:24:59 +01:00 |
|
Jakob Ketterl
|
d9578cc5f4
|
thoroughly validate user
|
2021-02-08 17:09:22 +01:00 |
|
Jakob Ketterl
|
2c6b0e3d30
|
implement user list, enable, disable
|
2021-02-08 17:04:55 +01:00 |
|
Jakob Ketterl
|
b0c7abe362
|
implement form result parsing for q65 matrix
|
2021-02-08 16:32:00 +01:00 |
|
Jakob Ketterl
|
346f2af2fb
|
update matrix generation with new abilities
|
2021-02-08 16:22:23 +01:00 |
|
Jakob Ketterl
|
902fc666c2
|
stricter q65 mode parsing and availability check
|
2021-02-08 15:58:37 +01:00 |
|
Jakob Ketterl
|
3a1e5ee73c
|
avoid using tuples, they don't work in json (future config system)
|
2021-02-08 15:34:55 +01:00 |
|
Jakob Ketterl
|
a083042002
|
implement display of Q65 mode matrix
|
2021-02-08 15:16:04 +01:00 |
|
Jakob Ketterl
|
ce48892173
|
make dropdowns work with enums directly
|
2021-02-08 01:16:02 +01:00 |
|
Jakob Ketterl
|
5cfacac6c0
|
add aprs_igate_dir option
|
2021-02-08 01:00:00 +01:00 |
|
Jakob Ketterl
|
4758672c94
|
add aprs_igate_symbol
|
2021-02-08 00:43:39 +01:00 |
|
Jakob Ketterl
|
23fceb2998
|
add optional aprs fields and todos
|
2021-02-07 23:15:57 +01:00 |
|
Jakob Ketterl
|
e5bd78fd0c
|
add fst4 and fst4w interval settings
|
2021-02-07 22:49:11 +01:00 |
|
Jakob Ketterl
|
8c4b9dd08a
|
add settings for frequency_display_resolution and squelch_auto_margin
|
2021-02-07 22:40:03 +01:00 |
|
Jakob Ketterl
|
ba3a68c3fa
|
a bit of styling for the settings
|
2021-02-07 22:09:06 +01:00 |
|
Jakob Ketterl
|
d920540021
|
fix receiver_keys textarea
|
2021-02-07 21:45:02 +01:00 |
|
Jakob Ketterl
|
47ecc26f28
|
add a wfm tau dropdown to the web settings
|
2021-02-07 21:36:08 +01:00 |
|
Jakob Ketterl
|
689cd49694
|
drop "experimental pipe settings" (will become unavailable in the
future)
|
2021-02-07 18:23:17 +01:00 |
|
Jakob Ketterl
|
b60a8a1af0
|
add the ability to put append a unit to inputs
|
2021-02-07 18:21:57 +01:00 |
|
Jakob Ketterl
|
8de70cd523
|
add receiver_keys to the settings page
|
2021-02-07 18:04:46 +01:00 |
|
Jakob Ketterl
|
25db7c716d
|
change heading
|
2021-02-07 17:36:44 +01:00 |
|
Jakob Ketterl
|
88020b894e
|
move aprs_symbols_path to new config
|
2021-02-07 00:21:57 +01:00 |
|
Jakob Ketterl
|
ee687d4e27
|
fix copy&paste fail
|
2021-02-06 23:17:43 +01:00 |
|
Jakob Ketterl
|
617bed91c4
|
fix config verification
|
2021-02-06 22:08:27 +01:00 |
|
Jakob Ketterl
|
9357d57a28
|
move temporary_directyr to core config; implement override logic
|
2021-02-06 21:55:47 +01:00 |
|
Jakob Ketterl
|
5d291b5b36
|
add pskreporter settings mappings
|
2021-02-06 21:01:59 +01:00 |
|
Jakob Ketterl
|
01c58327aa
|
implement password reset command
|
2021-02-06 19:12:44 +01:00 |
|
Jakob Ketterl
|
d99669b3aa
|
add "silent" flag to openwebrx-admin
|
2021-02-06 18:57:51 +01:00 |
|
Jakob Ketterl
|
e548d6a5de
|
random salt for passwords
|
2021-02-06 18:43:37 +01:00 |
|
Jakob Ketterl
|
8806dc538e
|
implement hashed passwords
|
2021-02-06 18:38:49 +01:00 |
|
Jakob Ketterl
|
f6f01ebee5
|
default password implementation
|
2021-02-06 18:22:13 +01:00 |
|
Jakob Ketterl
|
d72027e630
|
implement user deletion
|
2021-02-06 18:15:02 +01:00 |
|
Jakob Ketterl
|
99fe232a21
|
include command to create a user
|
2021-02-06 18:04:32 +01:00 |
|
Jakob Ketterl
|
3226c01f60
|
introduce core config file (settings that cannot be edited from the web)
|
2021-02-06 16:38:03 +01:00 |
|
Jakob Ketterl
|
8e4716f241
|
drop empty Q65 decodes
|
2021-02-05 01:07:09 +01:00 |
|
Jakob Ketterl
|
e8fca853df
|
unsubscribe on close; self-referencing prevents unsubscription
|
2021-02-04 18:00:03 +01:00 |
|
Jakob Ketterl
|
d6d6d97a13
|
add Q65 mode integration
|
2021-02-03 20:11:07 +01:00 |
|
Jakob Ketterl
|
e66be7c12d
|
add feature definition for wsjt-x 2.4
|
2021-02-03 19:33:02 +01:00 |
|
Jakob Ketterl
|
13eaee5ee9
|
replace eb200 with runds
|
2021-02-03 03:21:09 +01:00 |
|
Jakob Ketterl
|
5e1c4391c6
|
include prometheus metrics, refs #200
|
2021-02-01 18:43:14 +01:00 |
|
Jakob Ketterl
|
998092f377
|
reroute /metrics to /metrics.json
|
2021-02-01 18:26:26 +01:00 |
|
Jakob Ketterl
|
3c91f3cc2f
|
add a timeout to wspr uploads
|
2021-01-31 20:31:54 +01:00 |
|
Jakob Ketterl
|
ad8ff1c2f7
|
send "sdr_id" to be able to detect changes
|
2021-01-30 16:04:13 +01:00 |
|
Jakob Ketterl
|
8372f198db
|
add the ability to make a layer readonly
|
2021-01-30 16:03:35 +01:00 |
|
Jakob Ketterl
|
2a5448f5c1
|
update dsd feature detection to avoid start-up hangs
|
2021-01-30 15:03:52 +01:00 |
|
Jakob Ketterl
|
9b2947827a
|
Merge branch 'release-0.20' into develop
|
2021-01-25 19:40:28 +01:00 |
|
Jakob Ketterl
|
ae0748952f
|
remove unused import, too
|
2021-01-25 19:40:06 +01:00 |
|
Jakob Ketterl
|
bee0f67efd
|
Merge branch 'release-0.20' into develop
|
2021-01-25 19:37:57 +01:00 |
|
Jakob Ketterl
|
f81cf3570a
|
don't check the type since older python doesn't have re.Pattern
|
2021-01-25 19:36:55 +01:00 |
|
Jakob Ketterl
|
b2e8fc5ad5
|
release version 0.20.2
|
2021-01-24 23:52:20 +01:00 |
|
Jakob Ketterl
|
4a86af69d1
|
Fix merging error
|
2021-01-24 23:20:17 +01:00 |
|
Jakob Ketterl
|
bf31a27dca
|
Merge branch 'fix_arbitrary_code_execution' into develop
|
2021-01-24 22:55:11 +01:00 |
|
Jakob Ketterl
|
366f7247f2
|
code style
|
2021-01-24 22:54:58 +01:00 |
|
Jakob Ketterl
|
a5bdf6c3ac
|
Merge branch 'fix_arbitrary_code_execution' into develop
|
2021-01-24 22:47:08 +01:00 |
|
Jakob Ketterl
|
7e60efeae2
|
validate all parameters sent to dsp, refs #215
|
2021-01-24 22:29:23 +01:00 |
|
Jakob Ketterl
|
15940d0a2e
|
extend StringValidator instead
|
2021-01-24 22:28:48 +01:00 |
|
Jakob Ketterl
|
d126c3acef
|
allow regexes only on strings
|
2021-01-24 22:28:00 +01:00 |
|
Jakob Ketterl
|
a880b1f6f9
|
add regex validator
|
2021-01-24 22:03:53 +01:00 |
|
Jakob Ketterl
|
49577953c6
|
fix events
|
2021-01-24 21:58:15 +01:00 |
|
Jakob Ketterl
|
4b03ced1f7
|
add more validators
|
2021-01-24 21:58:02 +01:00 |
|
Jakob Ketterl
|
66dc4e5772
|
get validator by string
|
2021-01-24 21:25:26 +01:00 |
|
Jakob Ketterl
|
ad0a5c27db
|
introduce PropertyValidator (wrapper)
|
2021-01-24 21:19:45 +01:00 |
|
Jakob Ketterl
|
40e531c0da
|
start implementing a validation layer, refs #215
|
2021-01-24 20:53:51 +01:00 |
|
Jakob Ketterl
|
862a251295
|
allow only limited parameters to be set on the dsp
|
2021-01-24 20:10:37 +01:00 |
|
Jakob Ketterl
|
4b94126dc3
|
use the fft chain directly without csdr dsp classes
|
2021-01-23 19:27:01 +01:00 |
|
Jakob Ketterl
|
4e429d047d
|
Merge branch 'develop' into pycsdr
|
2021-01-23 17:17:44 +01:00 |
|
Jakob Ketterl
|
a0d219d120
|
protect against parser errors to prevent queue backlogging
|
2021-01-22 19:48:31 +01:00 |
|
Jakob Ketterl
|
f29f7b20e3
|
change shutdown handling to be able to join()
|
2021-01-22 17:34:35 +01:00 |
|
Jakob Ketterl
|
185fdb67cb
|
handle SIGTERM
|
2021-01-22 17:33:53 +01:00 |
|
Jakob Ketterl
|
64b7b485b3
|
run the code formatter over all
|
2021-01-20 17:01:46 +01:00 |
|
Jakob Ketterl
|
f0dc2f8ebe
|
format code
|
2021-01-20 16:46:55 +01:00 |
|
Jakob Ketterl
|
55e1aa5857
|
use the property stack the way it's intended for better consistency
|
2021-01-20 16:46:29 +01:00 |
|
Jakob Ketterl
|
fe45d139ad
|
fix an unset property error
|
2021-01-20 16:41:53 +01:00 |
|
Jakob Ketterl
|
db83256bcf
|
Merge branch 'develop' into pycsdr
|
2021-01-17 20:58:02 +01:00 |
|
Jakob Ketterl
|
3246e5ab3a
|
move ysf metadata parsing to server; improve map pin behavior
|
2021-01-17 19:21:13 +01:00 |
|
Jakob Ketterl
|
297d6b540d
|
Merge branch 'develop' into pycsdr
|
2021-01-17 18:16:32 +01:00 |
|
Jakob Ketterl
|
a0eeea8fe3
|
improve queue shutdown to avoid stale files
|
2021-01-17 17:49:03 +01:00 |
|
Jakob Ketterl
|
41f9407024
|
re-package code for meta panels into classes
|
2021-01-16 19:40:22 +01:00 |
|
Jakob Ketterl
|
992a5c33a2
|
check for keys' existence
|
2021-01-16 15:45:33 +01:00 |
|
Jakob Ketterl
|
966a404700
|
don't spot FST4W on pskreporter (same as WSPR?)
|
2021-01-15 16:27:15 +01:00 |
|
Jakob Ketterl
|
885e361bab
|
implement reporting of FST4W spots (in theory)
|
2021-01-15 16:19:45 +01:00 |
|
Jakob Ketterl
|
a65f15869b
|
add wsprnet metrics
|
2021-01-15 00:11:20 +01:00 |
|
Jakob Ketterl
|
1b36baad88
|
extend default WFM bandwidth to 150kHz, allowing up to 200kHz
|
2021-01-14 23:47:12 +01:00 |
|
Jakob Ketterl
|
747a5ce7ef
|
fix reporting system shutdown
|
2021-01-14 22:55:35 +01:00 |
|
Jakob Ketterl
|
e3aa3fa4c6
|
implement wsprnet reporting, refs #62
|
2021-01-14 22:54:59 +01:00 |
|
Jakob Ketterl
|
132bd2b445
|
create reporting engine to distribute spots
|
2021-01-14 20:52:56 +01:00 |
|
Jakob Ketterl
|
db98590985
|
implement profile validation
|
2021-01-13 23:44:00 +01:00 |
|
Jakob Ketterl
|
b27c03c1c4
|
restore autostart to avoid unused thread
|
2021-01-09 20:08:40 +01:00 |
|
Jakob Ketterl
|
502546f9d3
|
improve cpu usage thread instance protection
|
2021-01-09 20:01:39 +01:00 |
|
Jakob Ketterl
|
113c06fae4
|
introduce separate wsjt-x version check based on wsjtx_app_version
|
2021-01-09 19:19:53 +01:00 |
|
Jakob Ketterl
|
73b75edc14
|
remove duplicate import
|
2021-01-09 19:10:08 +01:00 |
|
Jakob Ketterl
|
5337c20744
|
remove duplicate
|
2021-01-09 19:01:39 +01:00 |
|
Jakob Ketterl
|
2783091cea
|
unset buffer since it can't be reused
|
2021-01-04 00:23:29 +01:00 |
|
Jakob Ketterl
|
a2d731503f
|
update api
|
2021-01-02 03:12:21 +01:00 |
|
Jakob Ketterl
|
3e69c71ed5
|
Merge branch 'develop' into pycsdr
|
2021-01-02 03:11:41 +01:00 |
|
Jakob Ketterl
|
44f4532452
|
add debug logging
|
2021-01-02 02:25:07 +01:00 |
|
Jakob Ketterl
|
a1cbc45b88
|
prevent multiple creation of cpu usage thread
|
2020-12-31 23:18:01 +01:00 |
|
Jakob Ketterl
|
90f319ebda
|
split config into global and device config
* less config properties sent to the client
|
2020-12-31 23:03:36 +01:00 |
|
Jakob Ketterl
|
9674af10ce
|
Merge pull request #202 from ewsandor/develop
User Customization of APRS IGate Beacon Details
|
2020-12-30 21:44:40 +01:00 |
|
Jakob Ketterl
|
5a77b6a8e5
|
show bandplan bookmarks only when mode is available
|
2020-12-30 21:37:25 +01:00 |
|
Jakob Ketterl
|
53553fcce2
|
fix subscription handling
|
2020-12-30 21:33:02 +01:00 |
|
Ed Sandor
|
1730ef27da
|
Remove POWER from pbeacon string
|
2020-12-30 12:21:07 -07:00 |
|
Ed Sandor
|
57a6db5df2
|
Removing inapplicable fields
|
2020-12-30 12:16:12 -07:00 |
|
Ed Sandor
|
32fe01f128
|
Round instead of floor height conversion
|
2020-12-30 11:03:59 -07:00 |
|
Jakob Ketterl
|
b85d801121
|
create separate subscription for bookmarks
|
2020-12-30 18:45:13 +01:00 |
|
Ed Sandor
|
daa499ab93
|
PR comments edits
|
2020-12-30 10:33:21 -07:00 |
|
Jakob Ketterl
|
341b94b9ff
|
prevent KeyError by checking for key existence
|
2020-12-30 17:46:13 +01:00 |
|
Jakob Ketterl
|
cf0c6e7f9d
|
adapt to config event api changes
|
2020-12-30 17:18:46 +01:00 |
|
Jakob Ketterl
|
29703d10b2
|
server side: send only changed config keys
|
2020-12-30 17:17:14 +01:00 |
|
Jakob Ketterl
|
2c3146314b
|
send property changes in bulk to global subscribers
|
2020-12-30 17:14:06 +01:00 |
|
Jakob Ketterl
|
ca183c7c5a
|
Merge branch 'develop' into pycsdr
|
2020-12-27 20:22:42 +01:00 |
|
Jakob Ketterl
|
eb981c04e9
|
Merge branch 'm17' into develop
|
2020-12-27 19:51:32 +01:00 |
|
Jakob Ketterl
|
686eeb706b
|
add external reference control
|
2020-12-27 13:52:49 +01:00 |
|
Jakob Ketterl
|
fa3b5cd7e6
|
implement new buffer input / output api
|
2020-12-25 20:27:30 +01:00 |
|
Jakob Ketterl
|
06f3499b6d
|
Merge branch 'develop' into m17
|
2020-12-21 17:04:09 +01:00 |
|
Jakob Ketterl
|
40c07ebb57
|
move fft calculations to dsp class
|
2020-12-19 16:41:48 +01:00 |
|
Jakob Ketterl
|
efe80a75f5
|
put the socketclient on the source so it can be shared
|
2020-12-19 16:28:18 +01:00 |
|
Jakob Ketterl
|
db3d662dae
|
fix typo
|
2020-12-13 16:31:19 +01:00 |
|
Ed Sandor
|
b04dcc18d0
|
This is Python not C
|
2020-12-12 11:10:15 -07:00 |
|
Ed Sandor
|
1cc88ff362
|
if check fix
|
2020-12-12 11:09:12 -07:00 |
|
Ed Sandor
|
3435052e27
|
sanitize empty comment
|
2020-12-12 11:08:47 -07:00 |
|
Ed Sandor
|
4c3d037e58
|
Cleanup debug logging
|
2020-12-12 11:07:50 -07:00 |
|
Ed Sandor
|
f83790a5be
|
debug comment length
|
2020-12-12 10:15:26 -07:00 |
|
Ed Sandor
|
11bb04419b
|
fix parenthesis
|
2020-12-12 10:13:46 -07:00 |
|
Ed Sandor
|
519b02da79
|
improve quotes check
|
2020-12-12 10:12:43 -07:00 |
|
Ed Sandor
|
fdbbbcb64c
|
Sanitize comment closing quote
|
2020-12-12 10:04:42 -07:00 |
|
Ed Sandor
|
0fb4ae4fc0
|
sanitize comment for opening quote
|
2020-12-12 09:59:34 -07:00 |
|
Jakob Ketterl
|
e062412e60
|
show receiver location pin on the map
|
2020-12-11 17:47:17 +01:00 |
|
Jakob Ketterl
|
23080dbe22
|
allow frequency display precision to be set via configuration
|
2020-12-10 20:58:07 +01:00 |
|
Jakob Ketterl
|
05096c2a16
|
fully initialize sdr devices
* makes always-on work as expected
* prevents race conditions when multiple clients connect at the same
time
|
2020-12-10 18:28:10 +01:00 |
|
Ed Sandor
|
5559cded85
|
Add quotes around default pbeacon comment
|
2020-12-09 23:17:42 -07:00 |
|
Ed Sandor
|
9f45e8880a
|
formating pbeacon string
|
2020-12-09 23:09:37 -07:00 |
|
Ed Sandor
|
dc128662da
|
log pbeacon string
|
2020-12-09 23:05:04 -07:00 |
|
Ed Sandor
|
dc3fd24903
|
Correcting key check
|
2020-12-09 22:59:16 -07:00 |
|
Ed Sandor
|
b2efa81b0d
|
Formatting additional PBEACON details
|
2020-12-09 22:54:06 -07:00 |
|
Jakob Ketterl
|
2c04d40c53
|
allow antenna information to be sent to pskreporter
|
2020-12-10 01:36:09 +01:00 |
|
Jakob Ketterl
|
fcff9d16ff
|
filter out problematic spots instead of breaking completely
|
2020-12-09 23:38:27 +01:00 |
|
Jakob Ketterl
|
eef61f9d1e
|
break the pskreporter loop if there's nothing to upload
|
2020-12-09 22:59:45 +01:00 |
|
Jakob Ketterl
|
9e45cfd02a
|
implement clear function for js8, too - refs #187
|
2020-12-09 21:19:22 +01:00 |
|
Jakob Ketterl
|
a7f667779a
|
allow roaming / portable / mobile calls in wsjt-x message
|
2020-12-09 12:47:08 +01:00 |
|
Jakob Ketterl
|
f71240c9a6
|
handle exception when output is missing
|
2020-12-09 12:31:01 +01:00 |
|
Jakob Ketterl
|
f8fc61e9bd
|
streamline datetime parsing
|
2020-12-09 12:02:40 +01:00 |
|
Jakob Ketterl
|
a8011e3a1a
|
use profiles instead of parsing to detect mode
|
2020-12-09 11:38:46 +01:00 |
|
Jakob Ketterl
|
fb68ca3c66
|
add documentation
|
2020-12-08 16:59:49 +01:00 |
|
Jakob Ketterl
|
6af19f44e8
|
Merge branch 'develop' into m17
|
2020-12-08 16:57:00 +01:00 |
|
Jakob Ketterl
|
3291dbe8d2
|
fix fst4w profile
|
2020-12-08 01:06:21 +01:00 |
|
Jakob Ketterl
|
efac5b0449
|
change job decoder error handling so errors reflect in metrics
|
2020-12-08 00:28:34 +01:00 |
|
Jakob Ketterl
|
519155a12f
|
fix "R" callsign problem
|
2020-12-08 00:01:00 +01:00 |
|
Jakob Ketterl
|
603c3df1b6
|
fix fst4(w) filenames
|
2020-12-08 00:00:21 +01:00 |
|
Jakob Ketterl
|
05ca541a8e
|
fix jt9 parameters
|
2020-12-07 20:29:22 +01:00 |
|
Jakob Ketterl
|
af4923c741
|
enable reporting of FST4/FST4W to pskreporter
|
2020-12-07 11:56:21 +01:00 |
|
Jakob Ketterl
|
ac4401175f
|
add FST4 and FST4W modes
|
2020-12-07 11:56:01 +01:00 |
|
Jakob Ketterl
|
6f46e4d376
|
remove debugging
|
2020-12-06 00:42:48 +01:00 |
|
Jakob Ketterl
|
bee6ddc843
|
use information from the mode registry to set up services
|
2020-12-06 00:36:20 +01:00 |
|
Jakob Ketterl
|
a3fd931931
|
demodulate digimodes starting at 0 Hz
|
2020-12-06 00:21:46 +01:00 |
|
Jakob Ketterl
|
46b7660e2d
|
add long flag mapping for eb200
|
2020-12-01 14:14:52 +01:00 |
|
Jakob Ketterl
|
8710a2a1d3
|
update version and changelog
|
2020-11-30 18:30:33 +01:00 |
|
Jakob Ketterl
|
a8bd13f7e6
|
increase bandwidth for packet to 12.5kHz
|
2020-11-30 17:13:03 +01:00 |
|
Jakob Ketterl
|
0614637342
|
add eb200 support
|
2020-11-30 00:34:44 +01:00 |
|
Jakob Ketterl
|
74be25f656
|
rename all occurences to SDDC
|
2020-11-27 18:49:33 +01:00 |
|
Jakob Ketterl
|
b5d56eaec2
|
update to use new sddc_connector
|
2020-11-27 18:39:10 +01:00 |
|
Jakob Ketterl
|
8bb6e91597
|
Merge branch 'develop' into rf103
|
2020-11-23 18:42:17 +01:00 |
|
Jakob Ketterl
|
781b4383d6
|
remove port flag and turn rtltcp_compat into an option
|
2020-11-23 15:26:01 +01:00 |
|
Jakob Ketterl
|
017bbc3748
|
attempt to include m17-demod (untested due to lack of signals)
|
2020-11-23 01:00:25 +01:00 |
|
Jakob Ketterl
|
69a5e0bc5d
|
Merge branch 'develop' into rf103
|
2020-11-12 23:45:39 +01:00 |
|
Jakob Ketterl
|
9bfef01438
|
Merge pull request #188 from jancona/hpsdr_connector
Support for HPSDR radios (specifically, the Hermes-Lite 2)
|
2020-11-12 23:39:28 +01:00 |
|
Jim Ancona
|
c0d4b2f6a5
|
Remove debug option, mention in config_webrx.py
|
2020-11-12 17:36:36 -05:00 |
|
Jakob Ketterl
|
529e9c3c60
|
Merge branch 'develop' into rf103
|
2020-11-12 18:01:59 +01:00 |
|
Jakob Ketterl
|
504c256b3e
|
make auto squelch level margin configurable
|
2020-11-12 18:00:24 +01:00 |
|
Jim Ancona
|
91572c56e2
|
Make hpsdrconnector into a true connector.
|
2020-11-09 19:24:13 -05:00 |
|
Jakob Ketterl
|
3b229b95b6
|
Merge branch 'develop' into rf103
|
2020-11-04 22:45:46 +01:00 |
|
Jakob Ketterl
|
e700f0a9e4
|
replace nanoscroller with compressed version, drop map reference.
closes #191
|
2020-11-04 22:32:13 +01:00 |
|
Jim Ancona
|
c85400063c
|
Initial HPSDR radio support
|
2020-11-02 07:11:54 -05:00 |
|
Jakob Ketterl
|
dc03639cad
|
add source for rf103 (experimental)
|
2020-10-25 16:53:18 +01:00 |
|
Jakob Ketterl
|
1bc3830e5e
|
guard against the case where receiver_keys are missing in the
configuration
|
2020-10-16 22:53:57 +02:00 |
|
Jakob Ketterl
|
d04e0d2a2a
|
link feature report to the wiki for DRM and FreeDV
|
2020-10-16 19:52:51 +02:00 |
|
Jakob Ketterl
|
259eef2e68
|
move develop to the next version 0.21
|
2020-10-11 23:16:59 +02:00 |
|
Jakob Ketterl
|
1cec386c18
|
release version 0.20.0
|
2020-10-11 15:03:39 +02:00 |
|
Jakob Ketterl
|
f31685e4e7
|
fix some exceptions due to None values
|
2020-10-11 00:15:09 +02:00 |
|
Jakob Ketterl
|
a856c27fe4
|
cache requirements, not features, for even better results
|
2020-10-10 23:00:05 +02:00 |
|
Jakob Ketterl
|
0435225a29
|
add feature detection cache to improve client load times
|
2020-10-10 22:08:35 +02:00 |
|
Jakob Ketterl
|
9f17f1bc17
|
make wfm deemphasis tau configurable
|
2020-10-04 21:56:35 +02:00 |
|
Jakob Ketterl
|
6c70e19c63
|
separate metric for direct aprs messages
|
2020-10-02 17:45:48 +02:00 |
|
Jakob Ketterl
|
4a8e9472ab
|
create metric dynamically
|
2020-10-02 17:16:16 +02:00 |
|
Jakob Ketterl
|
cc385f851f
|
remove unused import
|
2020-09-20 19:55:08 +02:00 |
|
Jakob Ketterl
|
eaaa214dc9
|
add more details about dream; prevent X11 windows during feature
detection
|
2020-09-20 12:41:11 +02:00 |
|
Jakob Ketterl
|
71a2352d2b
|
let the client initiate the dsp again
|
2020-09-19 21:35:14 +02:00 |
|
Jakob Ketterl
|
34414de4e5
|
only re-start dsp if dsp has been started before
|
2020-09-19 21:17:00 +02:00 |
|
Jakob Ketterl
|
ff34e793a0
|
handle failure of sdr devices asynchronously
|
2020-09-19 20:45:23 +02:00 |
|
Jakob Ketterl
|
82825fee41
|
fix sequence according to dependencies
|
2020-09-17 21:33:11 +02:00 |
|
Jakob Ketterl
|
35243fb62e
|
anticipate problems with old color schemes; counter with new config
version
|
2020-09-17 20:59:16 +02:00 |
|
Jakob Ketterl
|
fa08f1e2cf
|
use chroma.js to calculate waterfall colors
|
2020-09-17 20:10:01 +02:00 |
|
Jakob Ketterl
|
e10a52b39e
|
handle full queue better by draining
|
2020-09-15 22:04:53 +02:00 |
|
Jakob Ketterl
|
c947204356
|
adopt the frontend regex (matches better), closes #170
|
2020-09-13 22:30:57 +02:00 |
|
Jakob Ketterl
|
0d6e9a5b9f
|
missed file during sprite commits
|
2020-09-11 00:19:46 +02:00 |
|
Jakob Ketterl
|
6fe41f8e02
|
add compilation instructions
|
2020-09-04 20:27:12 +02:00 |
|
Jakob Ketterl
|
e8ee94d13b
|
fix detection
|
2020-09-04 18:11:36 +02:00 |
|
Jakob Ketterl
|
2411929455
|
implement DRM mode with dream
|
2020-09-04 18:09:02 +02:00 |
|
Jakob Ketterl
|
bec02795b8
|
implement gzip compression for assets
|
2020-09-04 15:44:25 +02:00 |
|
Jakob Ketterl
|
b5bc63e76b
|
fix cache-control header
|
2020-09-04 14:46:27 +02:00 |
|
Jakob Ketterl
|
95ac5aeb7d
|
detect device failure
|
2020-08-30 23:48:05 +02:00 |
|
Jakob Ketterl
|
9be0664e14
|
explicit typing of the source event interface
|
2020-08-30 23:47:04 +02:00 |
|
Jakob Ketterl
|
32105538c5
|
lock on the spectrum thread to avoid double start
|
2020-08-30 17:35:53 +02:00 |
|
Jakob Ketterl
|
f830c7efa6
|
update csdr dependency to 0.17.0
|
2020-08-27 00:08:50 +02:00 |
|
Jakob Ketterl
|
f41814c6ca
|
add csdr version requirement
|
2020-08-26 20:07:58 +02:00 |
|
Jakob Ketterl
|
23c69fb5a3
|
add "remote" mapping
|
2020-08-16 23:22:46 +02:00 |
|
Jakob Ketterl
|
b158e0d17d
|
add the ability to add literal command-line arguments
|
2020-08-16 23:19:37 +02:00 |
|
Jakob Ketterl
|
c9dd33ba57
|
add a new source for rtl_tcp and rtl_tcp_connector
|
2020-08-16 21:49:52 +02:00 |
|
Jakob Ketterl
|
0030c6d656
|
thread names to aid debugging
|
2020-08-14 20:22:25 +02:00 |
|
Jakob Ketterl
|
80c25f459c
|
use the space, modes!
|
2020-08-12 21:41:06 +02:00 |
|
Jakob Ketterl
|
08ba0c7b02
|
shut down multiprocessing queue explicitly using a poison pill
|
2020-08-11 22:14:36 +02:00 |
|
Jakob Ketterl
|
f4c43ffab6
|
fine-tune
|
2020-08-08 22:04:28 +02:00 |
|
Jakob Ketterl
|
8c5a7a087f
|
compensate WFM frequency deviation, at least preliminary
|
2020-08-08 21:56:35 +02:00 |
|
Jakob Ketterl
|
448e266097
|
implement wfm demodulator chain
|
2020-08-08 21:29:25 +02:00 |
|
Jakob Ketterl
|
da3f59fb9b
|
determine hd audio rate and send it to the server
|
2020-08-08 20:45:03 +02:00 |
|
Jakob Ketterl
|
62ee2ca445
|
add documentation about freedv_rx
|
2020-08-07 22:58:24 +02:00 |
|
Jakob Ketterl
|
645ace75c3
|
protect against erroneous reads
|
2020-08-06 20:06:04 +02:00 |
|
Jakob Ketterl
|
0518ff9358
|
provide information to the queue which entries are done
|
2020-08-05 20:04:41 +02:00 |
|
Jakob Ketterl
|
a65fd7916e
|
drain connections, close wave files refs #146
|
2020-08-05 20:03:38 +02:00 |
|
Jakob Ketterl
|
7234ff4309
|
use normal queue since we're not even multiprocessing
|
2020-08-05 19:07:55 +02:00 |
|
Jakob Ketterl
|
7ea8c8f7c6
|
use better locking for the service startup/shutdown
|
2020-07-30 21:35:31 +02:00 |
|
Jakob Ketterl
|
7e5409160e
|
initial work on freedv / codec2 support, refs #126
|
2020-07-28 00:28:20 +02:00 |
|
Jakob Ketterl
|
9b187140ff
|
catch exception and replace with a debug message, refs #22
|
2020-07-27 21:18:24 +02:00 |
|
Jakob Ketterl
|
11fd918d62
|
handle more errors the right way, refs #144
|
2020-07-21 20:33:48 +02:00 |
|
Jakob Ketterl
|
1f8b2f7909
|
always send busy state event, even when always-on, closes #147
|
2020-07-21 19:57:23 +02:00 |
|
Jakob Ketterl
|
d9bc03d1fc
|
clear the multiprocessing queue to get rid of more file descriptors,
refs #146
|
2020-07-20 23:09:38 +02:00 |
|
Jakob Ketterl
|
369a61ec59
|
shut down pipes correctly, refs #146
|
2020-07-19 19:42:18 +02:00 |
|
Jakob Ketterl
|
c54f19282a
|
improved error handling, refs #146 #22
|
2020-07-19 19:00:26 +02:00 |
|
Jakob Ketterl
|
e53f1f60eb
|
multi-key signing implementation
|
2020-07-09 21:32:57 +02:00 |
|
Jakob Ketterl
|
7eb0a8cf7e
|
add fcdpp support
|
2020-07-09 15:39:33 +02:00 |
|
Jakob Ketterl
|
0e6518915d
|
* refactor receiverid into a separate controller base
* allow multiple headers to prepare for checking multiple claims
|
2020-07-04 21:47:56 +02:00 |
|
Jakob Ketterl
|
e0129fd0f7
|
move timezone to initialization instead of implicit localization
|
2020-07-01 19:10:46 +02:00 |
|
Jakob Ketterl
|
480b728c06
|
move metrics initialization to have initial metrics
|
2020-06-23 00:08:59 +02:00 |
|
Jakob Ketterl
|
75f4f0bfe0
|
fix timezones in all places
|
2020-06-21 22:35:40 +02:00 |
|
Jakob Ketterl
|
2eece08d27
|
correct timezone for last-modified header
|
2020-06-21 21:42:32 +02:00 |
|
Jakob Ketterl
|
b930bb432d
|
add -dev flag to clearly distinguish development versions
|
2020-06-14 21:58:35 +02:00 |
|
Jakob Ketterl
|
83ff417f4d
|
post-release cleanup
|
2020-06-13 19:25:15 +02:00 |
|
Jakob Ketterl
|
a696cc4ed8
|
next release version
|
2020-06-13 18:31:49 +02:00 |
|
Jakob Ketterl
|
0a2a28cb34
|
remove debugging
|
2020-06-13 18:26:27 +02:00 |
|
Jakob Ketterl
|
9a61f90fec
|
parse hex string for hmac
|
2020-06-11 20:55:05 +02:00 |
|
Jakob Ketterl
|
0e4f772c69
|
perform actual hmac signature
|
2020-06-11 00:00:16 +02:00 |
|
Jakob Ketterl
|
eebe33f896
|
implement signature algorithm
|
2020-06-10 22:50:16 +02:00 |
|
Jakob Ketterl
|
61d03b38b9
|
receiver receiverid challenge and find corresponding key
|
2020-06-10 20:09:40 +02:00 |
|
Jakob Ketterl
|
c0f447ca20
|
fix rockprog integration
|
2020-06-07 22:53:31 +02:00 |
|
Jakob Ketterl
|
81465d69cc
|
introduce next version to develop branch
|
2020-06-02 21:18:05 +02:00 |
|
Jakob Ketterl
|
379e39aa3e
|
Merge branch 'develop' into radioberry
|
2020-06-01 18:27:44 +02:00 |
|
Jakob Ketterl
|
c87cfed525
|
remove old status urls
|
2020-06-01 16:03:22 +02:00 |
|
Jakob Ketterl
|
ebd1e04414
|
remove sdr.hu parts
|
2020-06-01 15:58:15 +02:00 |
|
Jakob Ketterl
|
ac18a76c14
|
split stuff into separate files
|
2020-05-31 20:25:41 +02:00 |
|
Jakob Ketterl
|
3371697e18
|
add bias_tee mapping
|
2020-05-30 23:03:43 +02:00 |
|
Jakob Ketterl
|
e90973bcd4
|
switch hackrf to soapy
|
2020-05-30 22:58:31 +02:00 |
|
Jakob Ketterl
|
3a8256e3bc
|
update to the sdrplay repository version
|
2020-05-24 14:43:25 +02:00 |
|
Jakob Ketterl
|
385c241858
|
Merge branch 'develop' into sdrplay_v3
|
2020-05-24 14:05:36 +02:00 |
|
Jakob Ketterl
|
f1d9a4a28c
|
switch to shift_addfast_cc for better performance
|
2020-05-24 03:04:20 +02:00 |
|
Jakob Ketterl
|
2b4799591f
|
initialize logging early since there may be messages happening in
imports
|
2020-05-14 22:57:09 +02:00 |
|
Jakob Ketterl
|
048aab682f
|
include changed wsjt keys in config migration
|
2020-05-14 22:56:49 +02:00 |
|
Jakob Ketterl
|
10d6309608
|
add rockprog as a dependency
|
2020-05-14 21:40:28 +02:00 |
|
Jakob Ketterl
|
7d41fc8b06
|
pass temporary directory to services, too
|
2020-05-11 23:45:44 +02:00 |
|
Jakob Ketterl
|
2483398b0f
|
clean up .wav files on exception, refs #107
|
2020-05-11 23:20:03 +02:00 |
|
Jakob Ketterl
|
a94209a2bc
|
apply some alt tags to images
|
2020-05-11 20:31:21 +02:00 |
|
Jakob Ketterl
|
9366d67218
|
dynamic sdr device settings
|
2020-05-10 20:18:42 +02:00 |
|
Jakob Ketterl
|
8df885b727
|
download receiver details via rest api
|
2020-05-10 17:27:46 +02:00 |
|
Jakob Ketterl
|
11cf2a96e2
|
create a receiver details route for use in the header
|
2020-05-10 17:12:42 +02:00 |
|
Jakob Ketterl
|
508ea2cf96
|
create a javascript profile for the map, too
|
2020-05-10 17:03:30 +02:00 |
|
Jakob Ketterl
|
4971bee67c
|
create a javascript profile for the map, too
|
2020-05-10 16:12:37 +02:00 |
|
Jakob Ketterl
|
5606646064
|
implement basic support for radioberry
|
2020-05-10 00:03:14 +02:00 |
|
Jakob Ketterl
|
3202f48f8e
|
header details on map, too
|
2020-05-09 00:20:38 +02:00 |
|
Jakob Ketterl
|
3a455a0452
|
start collecting header routines
|
2020-05-09 00:11:20 +02:00 |
|
Jakob Ketterl
|
f2288ceb49
|
let's work with frame targets
|
2020-05-08 23:53:50 +02:00 |
|
Jakob Ketterl
|
eab3bf780e
|
fix problems with sdr device failover detection
|
2020-05-04 20:36:17 +02:00 |
|
Jakob Ketterl
|
93b8f75cc3
|
automatically load modes into bookmark dialog
|
2020-05-03 23:56:22 +02:00 |
|
Jakob Ketterl
|
a6a29b7032
|
actually, it's better to catch the exception inside
|
2020-05-03 21:50:40 +02:00 |
|
Jakob Ketterl
|
981d3b6673
|
ignore keyerrors in this case
|
2020-05-03 21:28:37 +02:00 |
|
Jakob Ketterl
|
beed0c1a70
|
improve squelch handling
squelch is now included in the URL hash
some modes now have the squelch visually disabled, refs #65
|
2020-05-03 19:55:48 +02:00 |
|
Jakob Ketterl
|
d98abe42bc
|
fix configurable_keys exception
|
2020-05-03 17:50:37 +02:00 |
|
Jakob Ketterl
|
52367e53f5
|
remove the debugging
|
2020-05-03 17:46:32 +02:00 |
|
Jakob Ketterl
|
e409c37158
|
add remark about js8 binary location
|
2020-05-03 12:09:36 +02:00 |
|
Jakob Ketterl
|
0868e643c9
|
return after sending 404
|
2020-05-02 16:59:27 +02:00 |
|
Jakob Ketterl
|
e01a12a945
|
just a comma
|
2020-05-02 13:57:19 +02:00 |
|
Jakob Ketterl
|
8c8445eb3b
|
improve receiver load times by concating javascript
|
2020-05-02 13:35:42 +02:00 |
|
Jakob Ketterl
|
a96690c8bd
|
fft_fps isn't even used in the frontend
|
2020-05-02 01:36:12 +02:00 |
|
Jakob Ketterl
|
56f3f089a1
|
fix debugging; synchronize startup
|
2020-04-30 22:54:44 +02:00 |
|
Jakob Ketterl
|
33762574c3
|
improve demodulator initalization, part 2: refactor js classes
|
2020-04-30 22:07:19 +02:00 |
|
Jakob Ketterl
|
6a8168025d
|
improve demodulator initialization
|
2020-04-26 22:46:30 +02:00 |
|
Jakob Ketterl
|
26321ab68b
|
keep more parameters on the server side
|
2020-04-26 18:45:41 +02:00 |
|
Jakob Ketterl
|
bb1b561c47
|
fully-automatic mode panel generation
|
2020-04-26 16:58:31 +02:00 |
|
Jakob Ketterl
|
907787cfdc
|
implement first stages of active mode communication
|
2020-04-26 15:17:03 +02:00 |
|
Jakob Ketterl
|
e61d3a22a3
|
add if_mode mapping for sdrplay, refs #105
|
2020-04-26 13:49:03 +02:00 |
|
Jakob Ketterl
|
fb90a4e54b
|
display sdr devices
|
2020-04-26 02:15:19 +02:00 |
|
Jakob Ketterl
|
5282b5f8df
|
implement redirect on login
|
2020-04-26 01:54:48 +02:00 |
|
Jakob Ketterl
|
9942b3baf2
|
separate page for sdr settings
|
2020-04-25 21:55:52 +02:00 |
|
Jakob Ketterl
|
b874583931
|
setup for multiple settings sections
|
2020-04-25 21:42:00 +02:00 |
|
Jakob Ketterl
|
a4ebf87263
|
check for key
|
2020-04-25 20:55:33 +02:00 |
|
Jakob Ketterl
|
dd492fa63c
|
hide "settings" link if features is disabled
|
2020-04-25 20:52:41 +02:00 |
|
Jakob Ketterl
|
e064352621
|
finally, remove debugging
|
2020-04-25 19:18:30 +02:00 |
|
Jakob Ketterl
|
2198c00d00
|
add js8 settings to web configuration
|
2020-04-25 17:33:30 +02:00 |
|
Jakob Ketterl
|
978eea400d
|
clean up wsjt remainders in absctract code
|
2020-04-25 16:22:40 +02:00 |
|
Jakob Ketterl
|
a828f61c72
|
use right message delay for mode
|
2020-04-24 23:47:05 +02:00 |
|
Jakob Ketterl
|
4e67be8a3c
|
dynamic profiles
|
2020-04-23 23:30:56 +02:00 |
|
Jakob Ketterl
|
623f21f769
|
fast and turbo modes
|
2020-04-23 22:27:03 +02:00 |
|
Jakob Ketterl
|
280e39d9c4
|
js8 slow mode
|
2020-04-23 22:19:07 +02:00 |
|
Jakob Ketterl
|
2df56ad8b9
|
js8 slow mode (attempt?)
|
2020-04-23 00:34:49 +02:00 |
|
Jakob Ketterl
|
5ab2f02f63
|
multi-profile decoding
|
2020-04-23 00:21:59 +02:00 |
|
Jakob Ketterl
|
0120b33a25
|
refactor chopper out of wsjt
|
2020-04-22 23:53:19 +02:00 |
|
Jakob Ketterl
|
9622cd6a2a
|
Merge branch 'develop' into js8call
|
2020-04-22 18:34:10 +02:00 |
|
Jakob Ketterl
|
78ccaa7d65
|
access regex groups in python 3.5 compatible way, closes #109
|
2020-04-22 18:28:45 +02:00 |
|
Jakob Ketterl
|
520ddbb034
|
Merge branch 'develop' into js8call
|
2020-04-21 19:27:13 +02:00 |
|
Jakob Ketterl
|
0a16500133
|
get avatar path from pkg_resources, refs #108
|
2020-04-21 19:24:57 +02:00 |
|
Jakob Ketterl
|
a573fa0b93
|
Merge branch 'develop' into js8call
|
2020-04-19 23:38:51 +02:00 |
|
Jakob Ketterl
|
9a86bc23be
|
make hackrf sleep for 1 second on restarts (device is not released
immediately)
|
2020-04-19 23:36:35 +02:00 |
|
Jakob Ketterl
|
4287387a5e
|
threading frontend implementation
|
2020-04-19 22:10:32 +02:00 |
|
Jakob Ketterl
|
1023087c8a
|
get locator from compound frame, too
|
2020-04-17 23:50:23 +02:00 |
|
Jakob Ketterl
|
116e20335e
|
Merge branch 'develop' into js8call
|
2020-04-15 22:25:14 +02:00 |
|
Markus Hauschild
|
4d157d275a
|
hackrf: properly use ppm setting as parameter
|
2020-04-15 21:22:06 +02:00 |
|
Jakob Ketterl
|
1f70b93310
|
seems like we're in upper case
|
2020-04-14 23:16:45 +02:00 |
|