-
released this
2026-04-17 22:26:35 +02:00 | 77 commits to main since this releaseWas ist neu
Companion-Node Admin-Seite (
/settings/companion)- Neue Admin-Seite für Node-Identität, Verbindungseinstellungen, GPS-Position, Advertising, Channels & Kontakte und Lokalisierung
- Interaktive Leaflet.js-Karte mit ziehbarem Marker, Klick-zum-Setzen und Nominatim-Reverse-Geocoding
- Browser-Standort-Button für automatische GPS-Koordinaten
- Bot-Identität aus
/settings/botentfernt (jetzt ausschließlich unter/settings/companion)
config.ini als Build-Zeit-Seed
config.iniwird in das Docker-Image eingebaut — kein Runtime-Volume-Mount mehr nötig- Beim ersten Start werden alle
config.ini-Werte einmalig inbot_configimportiert - Ab dem zweiten Start ist
bot_configalleinige Quelle der Wahrheit docker-compose.yml:./data/config-Volume-Mount entfernt- Generierter
secret_keywird inbot_configpersistiert — keine Session-Invalidierung mehr bei Restarts
Geändert
bot_configist alleinige Quelle für alle Einstellungen (ersetzt runtime config.ini)- Alle Settings-Speicher-Routen: DB-Sync vor config.ini-Schreiben
_load_config()wendetbot_config-Overlay immer an — GET-Routen zeigen Live-Werte- Scheduler-Routen synchronisieren
Scheduled_Messages-Section inbot_config api_settings_users_save()(SMTP): DB-Sync nachgezogenapi_settings_mqtt_save(): Schreibreihenfolge korrigiert
Behoben
- Einstellungen gingen nach Neustart verloren: Web-UI schrieb nur in
config.ini enabled-Boolean-Konflikt in PostgreSQL beimonitored_repeaters/webhook_config(INTEGER-Typ)packet_stream-Duplicate-Key: PostgreSQL-Sequenzen nach Migration nicht synchronisiert
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.7.0 – PostgreSQL-Backend
Stablereleased this
2026-04-17 21:16:29 +02:00 | 86 commits to main since this releaseWas ist neu
PostgreSQL-Backend (
modules/pg_adapter.py)Transparenter Drop-in-Ersatz für
sqlite3— alle 17 datenbanknutzenden Module importieren jetztfrom modules import pg_adapter as sqlite3.- Automatische SQL-Übersetzung:
?→%s,AUTOINCREMENT→GENERATED ALWAYS AS IDENTITY,datetime(now, ...)→NOW() + INTERVAL,PRAGMA table_info→information_schema.columns,sqlite_master→information_schema.tables,INSERT OR REPLACE/IGNORE→ON CONFLICT,COLLATE NOCASEentfernt - Psycopg2-Thread-Connection-Pool (2–20),
CompatRowfür Dict+Index-Zugriff - Vollständiger SQLite-Fallback wenn
DATABASE_URLnicht gesetzt — keine Änderung für bestehende SQLite-Setups
Config-in-Datenbank (
modules/config_store.py)bot_config-Tabelle als Overlay für ConfigParser. DB-Werte überschreibenconfig.ini. Beim ersten Start werden alleconfig.ini-Werte als Defaults importiert.Docker mit PostgreSQL (
docker-compose.yml)PostgreSQL 16 Alpine als separater Service mit Healthcheck. Bot startet erst nach
pg_isready. Passwort über${DB_PASSWORD:-meshcore_secret}konfigurierbar.Dashboard-API (
GET /api/dashboard)Neuer öffentlicher Endpoint: bot_name, version, uptime, Kontakte, Nachrichten, Top-5-Commands, zuletzt gehörte Kontakte.
Migrationsskript (
scripts/migrate_sqlite_to_postgres.py)Idempotentes SQLite→PostgreSQL-Migrationsskript für beide Datenbanken, mit
--dry-run-Flag.Behoben
PgCursor.execute:lastrowid-Fetch konsumierte SELECT-Rows → Login schlug stets fehl- Web-Viewer-Subprocess: fehlende
cwd+PYTHONPATHverhindertenmodules-Import sqlite_master: fehlende Übersetzung zuinformation_schema.tables/api/dashboard: falscher Spaltennamecommandstattcommand_name
Upgrade-Hinweis
SQLite-Nutzer: Keine Änderung erforderlich — der Bot fällt automatisch auf SQLite zurück wenn
DATABASE_URLnicht gesetzt ist.PostgreSQL-Migration:
DATABASE_URL=postgresql://user:pass@host:5432/meshcore_bot \ python3 scripts/migrate_sqlite_to_postgres.py \ --sqlite-main data/databases/meshcore_bot.db \ --sqlite-telemetry data/databases/telemetry_data.dbVollständiges Changelog: CHANGELOG.md
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Automatische SQL-Übersetzung:
-
v0.6.0
Stablereleased this
2026-04-16 21:21:28 +02:00 | 96 commits to main since this releaseÄnderungen
Entfernt
- Discord Bridge entfernt — war als tot markiert, kein produktiver Einsatz, keine Tests (Issue #14)
- Earthquake Service entfernt — Config-Platzhalter ohne Implementierung
- Docs, Navigation und README entsprechend bereinigt
CI/CD
- Forgejo Actions Workflows auf den selbst gehosteten Runner angepasst
actions/setup-pythonentfernt, pip viaapt-getinstalliertdocker-build.yml: Registry aufgit.pfeiffer-privat.deumgestellt, native Docker-Befehle- Test
test_directory_not_writable_warnswird als root übersprungen - Alle drei Workflows laufen erfolgreich:
test✅docs✅docker-build✅
Hinweis: Für vollständige Docker-Builds benötigt der Forgejo Runner
docker_host: automountundvalid_volumes: ["/var/run/docker.sock"]in/opt/forgejo-runner/config.ymlsowie das SecretREGISTRY_TOKENim Repository.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads