fix: path_info in handle_contact_message nur als Fallback überschreiben (issue #4) #10

Merged
ppfeiffer merged 1 commit from fix/path-info-overwrite-handle-contact-message into main 2026-03-13 11:03:57 +01:00
Owner

Problem

In handle_contact_message() wird path_info zunächst aus den Contact-Daten und RF-Daten ermittelt (z.B. "ab,cd,ef (3 hops)"), dann aber bedingungslos mit einem weniger informativen Wert überschrieben:

# Vorher – überschreibt IMMER
path_len = payload.get('path_len', 255)
if path_len == 255:
    path_info = "Direct (0 hops)"
else:
    path_info = f"Routed through {path_len} hops"

Der {path}- und {connection_info}-Platzhalter in Keyword-Responses zeigte dadurch stets nur den groben path_len-Wert, nie den tatsächlichen Routing-Pfad.

Fix

Der Block wird auf Fälle beschränkt, in denen kein besserer Wert gefunden wurde:

# Nachher – echter Fallback
if path_info in ("Unknown", "Unknown path"):
    path_len = payload.get('path_len', 255)
    if path_len == 255:
        path_info = "Direct (0 hops)"
    else:
        path_info = f"Routed through {path_len} hops"

Tests

426 Tests grün (2 vorab bereits fehlgeschlagene test_config_validation-Tests sind unabhängig von dieser Änderung).

Schließt #4

## Problem In `handle_contact_message()` wird `path_info` zunächst aus den Contact-Daten und RF-Daten ermittelt (z.B. `"ab,cd,ef (3 hops)"`), dann aber **bedingungslos** mit einem weniger informativen Wert überschrieben: ```python # Vorher – überschreibt IMMER path_len = payload.get('path_len', 255) if path_len == 255: path_info = "Direct (0 hops)" else: path_info = f"Routed through {path_len} hops" ``` Der `{path}`- und `{connection_info}`-Platzhalter in Keyword-Responses zeigte dadurch stets nur den groben `path_len`-Wert, nie den tatsächlichen Routing-Pfad. ## Fix Der Block wird auf Fälle beschränkt, in denen kein besserer Wert gefunden wurde: ```python # Nachher – echter Fallback if path_info in ("Unknown", "Unknown path"): path_len = payload.get('path_len', 255) if path_len == 255: path_info = "Direct (0 hops)" else: path_info = f"Routed through {path_len} hops" ``` ## Tests 426 Tests grün (2 vorab bereits fehlgeschlagene `test_config_validation`-Tests sind unabhängig von dieser Änderung). Schließt #4
fix: path_info in handle_contact_message nur als Fallback überschreiben
Some checks failed
Build and Push Docker Image / build (pull_request) Failing after 44s
Tests / test (pull_request) Failing after 21s
03ebeb9957
Die Zuweisung via path_len aus dem Payload überschrieb bedingungslos
den zuvor aus Contact-Daten und RF-Daten ermittelten path_info-Wert
(z.B. "ab,cd,ef (3 hops)"). Der {path}/{connection_info}-Platzhalter
in Keyword-Responses zeigte dadurch stets nur den groben path_len-Wert.

Der Block wird nun durch eine if-Bedingung auf die Fälle beschränkt,
in denen kein besserer Wert gefunden wurde ("Unknown" / "Unknown path").

Schließt #4
ppfeiffer force-pushed fix/path-info-overwrite-handle-contact-message from 03ebeb9957
Some checks failed
Build and Push Docker Image / build (pull_request) Failing after 44s
Tests / test (pull_request) Failing after 21s
to e426d37de0
Some checks failed
Build and Push Docker Image / build (pull_request) Failing after 42s
Tests / test (pull_request) Failing after 21s
2026-03-13 10:53:29 +01:00
Compare
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ppfeiffer/meshcore-bot!10
No description provided.