[2.8] Stop clobbering node identity from 2.8 feeder NodeDB data

Closed
#445 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

A pull request for this has already been merged.

  • #469 by @pskillen — merged

Assessment

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

Research direction

Start with the node upsert in packets/serializers.py around lines 1386 and 1528-1543, then the int/str comparison at packets/services/node_info.py line 17. TypeConversions.cpp (lines 150-151) is firmware-side context, not code in this repo. Done means 2.8 NodeDB fixtures keep the stored MAC, name and public key, with a unit test for each of the four rules.

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: ID-8 · Priority: Must · Size: S

Summary

2.8 feeders hand the bot NodeDB entries with zero-filled macaddr (TypeConversions.cpp:150-151) and long names truncated to 24 bytes. Our node upsert (packets/serializers.py:1386, 1528-1543) overwrites good data with these, destroying the MAC evidence ID-2 needs and flip-flopping names.

  • Ignore blank / all-zero MAC.
  • Never replace a name with its own ≤24-byte prefix.
  • Never clear a stored public key.
  • Prefer values from over-the-air NodeInfo packets over feeder NodeDB upserts.
  • Fix latent int/str comparison bug at packets/services/node_info.py:17.

Acceptance criteria

  • 2.8 NodeDB fixtures leave MAC, name and key intact
  • Unit tests for each rule

Depends on: none

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.