[2.8] hop_start == 0 without a bitfield means unknown, not direct

Open
#450 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
Half a day
Newbie friendliness
45/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
python
Domain
backend

Research direction

Start with the hop calculation in serializers.py (lines 1641-1649) and the direct-detection logic in dx_monitoring/services.py (lines 32-37), then find where decoded.bitfield is read. Check how hop_start == 0 is handled today. Done when a packet with hop_start == 0 and no bitfield is treated as unknown hops, a hop_limit == 0 guard exists, tests cover both cases, and normal hop counts are unchanged.

Written by the indexing model from the issue text.

Description

enhancement meshtastic-2.8

Part of pskillen/meshflow-api#437 (Meshtastic 2.8.x support). Code: HP-2 · Priority: Should · Size: S

Summary

Treat hop_start == 0 with no decoded.bitfield as unknown hops; store bitfield presence; guard direct-detection and hop-count calculations; add a guard for future hop exhaustion (hop_limit == 0).

Acceptance criteria

  • Tests
  • Hop count unchanged for normal packets

Depends on: none

Refs: serializers.py:1641-1649, dx_monitoring/services.py:32-37

Dominant language
Python
Stars
1
Forks
0
Avg merge
23h 9m
Merged PRs (30d)
15

Getting set up

  • Ships a Dockerfile or Docker Compose file
  • Has a pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from pskillen/meshflow-api

All issues in pskillen/meshflow-api

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.