BOSWatch 3 Core Repo - Documentation at http://docs.boswatch.de
Find a file
KoenigMjr edf7a6afe8 [upd/telegram]: improve stability, safety and production robustness
Updated the Telegram plugin to handle high-load scenarios and prevent
resource exhaustion. Key focus areas were message formatting,
concurrency management, and configuration resilience.

- Implement bounded message queue (max 100) with non-blocking drops to prevent memory leaks
- Add graceful shutdown logic with worker thread joining and queue draining
- Add self-healing initialization (`_ensure_sender`) to handle race conditions during startup
- Implement robust escaping/sanitization for HTML and MarkdownV2 parse modes
- Enforce Telegram's 4096 character limit with graceful truncation
- Enhance error diagnostics for API responses (Rate limiting, 4xx/5xx errors)
- Validate and sanitize GPS coordinates (range and type checking)
- Decouple logging from global config by using module-level logger

Behavioral Changes:
- BREAKING: Location messages now require `coordinates: true` in config (previously default)
- Messages are dropped with an error log when the queue is full (prevents system hang)
- Invalid HTML/Markdown characters are now automatically escaped to prevent API errors
2026-01-19 09:34:13 +01:00
.github Potential fix for code scanning alert no. 2: Workflow does not contain permissions 2025-11-17 10:18:08 +01:00
boswatch Fix POCSAG decoding crash caused by invalid subric parsing 2025-10-22 09:59:59 +02:00
config Fehlerbehebung: Logging-Setup für Multi-Client-Betrieb korrigiert 2025-07-31 16:02:22 +02:00
docu [upd/telegram]: improve stability, safety and production robustness 2026-01-19 09:34:13 +01:00
logo little adds and changes 2018-01-07 23:41:52 +01:00
module CSV-Cleaning, new matching strategy, new Debug-message, updating docu 2025-12-03 22:28:08 +01:00
plugin [upd/telegram]: improve stability, safety and production robustness 2026-01-19 09:34:13 +01:00
test Avoid "DeprecationWarning: invalid escape sequence" 2023-09-19 17:49:09 +02:00
.gitignore save router run stats to stats file 2019-10-25 14:33:18 +02:00
build_docu.sh add docu build script 2019-09-19 17:34:59 +02:00
bw_client.py Fehlerbehebung: Logging-Setup für Multi-Client-Betrieb korrigiert 2025-07-31 16:02:22 +02:00
bw_server.py Avoid "DeprecationWarning: invalid escape sequence" 2023-09-19 17:49:09 +02:00
Dockerfile Update Dockerfile 2022-05-04 22:45:51 +02:00
FileHead.template.py Avoid "DeprecationWarning: invalid escape sequence" 2023-09-19 17:49:09 +02:00
init_db.sql Change spacing in init_db.sql and add comment on table creation 2022-05-04 22:45:51 +02:00
install.sh Update install.sh 2025-06-04 11:40:57 +02:00
install_service.py feat(install): Colorama Auto-Install, bugfix, improvements 2025-11-17 19:27:56 +01:00
LICENSE Create LICENSE 2018-09-18 06:16:24 +02:00
pytest.sh fix some pep8 errors 2020-02-24 23:52:20 +01:00
README.md Update README.md 2021-02-03 10:46:12 +01:00
requirements.txt Update requirements.txt 2025-06-10 08:03:47 +02:00

BOSWatch

BOSWatch

pytest documentation CodeQL

Es wird darauf hingewiesen, dass für die Teilnahme am BOS-Funk nur nach den Technischen Richtlinien der BOS zugelassene Funkanlagen verwendet werden dürfen. Der BOS-Funk ist ein nichtöffentlicher mobiler Landfunk. Privatpersonen gehören nicht zum Kreis der berechtigten Funkteilnehmer. (Quelle: TR-BOS)

Documentation: https://docs.boswatch.de

Wenn dir dieses Projekt gefällt, gib uns bitte einen STAR


The intercept of the German BOS radio is strictly prohibited and will be prosecuted. The use is only permitted for authorized personnel.

If you like this project, please give us a STAR