[2.8] Detect and record old→new Meshtastic identity links

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

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
25/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
python
Domain
backend, database

Research direction

Start with the MeshtasticIdentityLink model and the MtRawPacket.from_int field, which must stay unchanged. Detection rules cover auto-linking on a predicted id, suggested links from MAC evidence in OTA NodeInfo, and flagging when two active nodes share a key. The work depends on pskillen/meshflow-api#439 and #463, so check those first. Done means idempotent re-runs, correct downgrade handling, a signal on link creation, and tests for the auto, suggested, rejected and downgrade paths.

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-2 · Priority: Must · Size: M

Summary

Add a MeshtasticIdentityLink model (old node, new node, evidence, confidence, state: auto / suggested / confirmed / rejected).

  • Auto when a newly seen node's from equals the predicted id of exactly one existing node with the same key.
  • Suggested on MAC evidence: OTA NodeInfo macaddr M with int(M[2:6]) == old_num, or mac_addr == M. Covers full-erase cases.
  • Names, hw model and location are hints only.
  • Keep both rows; never rewrite MtRawPacket.from_int. Emit a signal on link.

Acceptance criteria

  • Idempotent; re-running detection creates no duplicates
  • Handles downgrade (2.8 → 2.7) without corrupting links
  • Flags (doesn't link) when two active nodes share a key
  • Tests for auto, suggested, rejected and downgrade paths

Depends on: pskillen/meshflow-api#439 (ID-1), pskillen/meshflow-api#463 (FX-1)

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.