Ian Renton and Claude Sonnet 5
e33eecbc4e
Fix mojibake in DX cluster and RBN spot comments
...
Both providers always decoded telnet bytes as Latin-1, which silently
mangles nodes that send UTF-8 (Latin-1 decode never raises, so mixed
encodings across cluster nodes went unnoticed). Added a shared
decode_telnet_bytes() helper that tries UTF-8 first and falls back to
Latin-1, since a byte stream that happens to be valid multi-byte UTF-8
is essentially never accidental Latin-1 text.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-20 19:08:05 +01:00
Ian Renton
9272766ffb
Fix order in which grids are parsed out of comments
2026-09-20 19:01:48 +01:00
Ian Renton
6f96e0ede1
Improve some activity detection
2026-09-20 10:32:53 +01:00
Ian Renton
190c9f6cef
Improve handling of GMA SOTA spots, SOTA references in comments, and grids in comments on VHF
2026-09-20 10:25:08 +01:00
Ian Renton
d33259d619
Fix a bug in PNP spot handling where an exception would be thrown if an activity had a location name but not a reference ID.
2026-09-20 10:10:39 +01:00
Ian Renton
2df7ecf4b5
Prevent ruff running on a couple of lines where catching and not logging an exception is a deliberate choice.
2026-09-20 09:55:22 +01:00
Ian Renton
1b41520f7c
Merge branch 'main' into 147-sig-activity-changes
...
# Conflicts:
# core/constants.py
# pyproject.toml
2026-09-20 09:51:29 +01:00
Ian Renton
ed172a0063
Release 2.1.3
2.1.3
2026-09-20 09:48:10 +01:00
Ian Renton
f45b7d51b0
Give threads less time to shut down gracefully. Attempt shutdown() rather than stop() on the telnet connections to see if that improves things
2026-09-19 15:07:31 +01:00
Ian Renton
0eb4553406
Merge remote-tracking branch 'origin/main'
...
# Conflicts:
# templates/add_spot.html
# templates/alerts.html
# templates/bands.html
# templates/base.html
# templates/conditions.html
# templates/map.html
# templates/spots.html
# templates/status.html
2026-09-19 10:49:36 +01:00
Ian Renton
682e2c267c
Improve handling of empty JSON repsonses from ParksNPeaks (and potentially others)
2026-09-19 10:49:09 +01:00
Ian Renton
f39215ecdd
Attempt at fixing slight hscroll on mobile
2.1.2
2026-09-19 08:33:15 +01:00
Ian Renton
c9c8ffc1f7
If cache load fails because objects are from a different version and throw an exception, clear the cache.
2026-09-19 08:04:50 +01:00
Ian Renton
59d5f61d90
Potential fix for an issue where the telnet client was reconnecting right at the same time we try to shut down spothole, causing the stop() method to close one telnet object but then a new one is created and read from anyway.
2026-09-19 07:55:12 +01:00
Ian Renton
ab81c136cc
Release 2.1.1
2.1.1
2026-09-18 21:37:05 +01:00
Ian Renton
c1c9bcd5ae
Merge branch 'main' into 147-sig-activity-changes
2026-09-18 21:35:56 +01:00
Ian Renton
f0df4f38ca
Turns out "if x in list" returns true if list[x] = None, so guard against that by checking list.get(x) instead
2026-09-18 21:33:26 +01:00
Ian Renton
a24e03028b
Restrict the activities that we display on the alerts page's filters to just ones that can actually be in alerts #147
2026-09-18 21:20:42 +01:00
Ian Renton
54d779f036
Allow QRP spots from PnP APIs #147
2026-09-18 20:56:46 +01:00
Ian Renton
7bdc26c926
Activity filter on upcoming page #147
2026-09-18 20:49:24 +01:00
Ian Renton
eea045e4b8
Merge branch 'main' into 147-sig-activity-changes
...
# Conflicts:
# providers/activityrefdata/activity_ref_data_provider.py
2026-09-18 18:58:22 +01:00
Ian Renton
4b51dd9ba5
(Hopefully) fix a bug where several sig ref data providers try to write to the data store simultaneously on startup.
2026-09-18 18:57:18 +01:00
Ian Renton
c2c3981cda
If a spot has no other activity but its DX call does match a call from an ongoing DXpedition, assign that activity to it. Closes #147
2026-09-18 18:45:06 +01:00
Ian Renton
1a1743d11c
ruff fixes
2026-09-18 18:38:35 +01:00
Ian Renton
40033d122e
Add a has_refs field to activities #147
2026-09-18 18:28:30 +01:00
Ian Renton
e5caf7353d
Refactor activity names to use an enum instead of a string to avoid typos #147
2026-09-18 18:09:41 +01:00
Ian Renton
ab79e7e01c
More About page tweaks. #147
2026-09-18 17:31:31 +01:00
Ian Renton
75905c5ef7
Add /AM and /MM activities, fix up activities list in OpenAPI spec, few more About page tweaks. #147
2026-09-18 17:29:21 +01:00
Ian Renton
0ad0d25c70
Add QRP and RaDAR Rally activities
2026-09-18 17:14:24 +01:00
Ian Renton
51798fbc81
Doc updates
2026-09-18 17:10:30 +01:00
Ian Renton
cea90695ba
Now that SIGs are rebranded as Activities, we can merge DXpedition and Contest into that without it being too weird, and get rid of AlertType #147
2026-09-18 16:50:00 +01:00
Ian Renton
bf9b4ac68c
In the JS UI, turn each category of Activity into a collapsible section to save space #147
2026-09-18 15:45:23 +01:00
Ian Renton
81cd686a00
Giant refactor to rebrand "SIG" as "Activity" anywhere that doesn't touch API or config file (which is to be addressed in a future breaking change). #147
2026-09-18 14:54:11 +01:00
Ian Renton
556ea56378
v2.1 release
2.1
2026-09-18 12:44:09 +01:00
Ian Renton
a367888e14
Missed a couple of _stop_events
2026-09-18 09:27:15 +01:00
Ian Renton
29d8654234
Use _stop_event consistently across all threads as the way to signal that it should stop. Add thread joins with timeouts to allow the program to exit cleanly
2026-09-18 09:21:38 +01:00
Ian Renton
d79c8f72c8
Add missing SIGs to OpenAPI spec
2026-09-18 07:58:55 +01:00
Ian Renton
a03e1336c8
Code review fixes
2026-09-18 07:56:08 +01:00
Ian Renton
0fa8cd763d
Add support for Diplôme des Moulins de France
2026-09-18 07:38:30 +01:00
Ian Renton
4261c60d74
Improve protection against old unsupported objects (e.g. LocationSourceForCallsign.NONE) coming back from the cache and throwing exceptions
2026-09-18 07:28:29 +01:00
Ian Renton
29eea1edc0
Telnet fixes and banner
2026-09-12 08:40:50 +01:00
Ian Renton
7c458a8c5b
Extract webserver metrics into a separate class to avoid passing it into every API call. Change the display to requests per hour rather than just last request time. Add SSE and telnet client connected count.
2026-09-11 22:32:04 +01:00
Ian Renton
4a09e46fe0
Improve asyncio usage in telnet server
2026-09-11 21:38:22 +01:00
Ian Renton
e3df512b9e
Add telnet server
2026-09-11 16:23:10 +01:00
Ian Renton
ee45a15b4e
Add telnet server
2026-09-11 16:18:09 +01:00
Ian Renton
5e56cd3b19
Add telnet server
2026-09-11 15:55:57 +01:00
Ian Renton
04f5df5260
Alerts now displays a "Type" in the table not just the source. Closes #142
2026-09-11 14:43:33 +01:00
Ian Renton
8f8ff46426
country-files.com seems more reliable than Clublog at locating some calls, trying it out as higher priority
2026-09-11 09:47:53 +01:00
Ian Renton
2e51d5fdb2
Doc updates
2026-09-11 08:36:49 +01:00
Ian Renton
3bab3cb784
Add EME SIG and do some refactoring
2026-09-11 08:33:00 +01:00