again synthetic node duplicates #217

Closed
opened 2026-10-04 23:04:29 +02:00 by adam · 0 comments
Owner

this is all the same node (I can confirm because it is mine), why does it generate 3 different entries?

[{
  "node_id": "!25ee3330",
  "short_name": " 🌶 ",
  "long_name": "Afri @l5yth 🌶",
  "role": "COMPANION",
  "last_heard": 1784663726,
  "first_heard": 1775730548,
  "position_time": 1776688121,
  "latitude": 52.498207,
  "longitude": 13.47964,
  "lora_freq": 869,
  "modem_preset": "SF8/BW62/CR5",
  "protocol": "meshcore",
  "last_seen_iso": "2026-07-21T19:55:26Z"
},
{
  "node_id": "!f0b61f1e",
  "short_name": " 🌶 ",
  "long_name": "Afri @l5yth 🌶",
  "role": "COMPANION",
  "last_heard": 1784665087,
  "first_heard": 1783529806,
  "protocol": "meshcore",
  "last_seen_iso": "2026-07-21T20:18:07Z"
},
{
  "node_id": "!ae46e493",
  "short_name": " 🌶 ",
  "long_name": "Afri @l5yth 🌶",
  "role": "COMPANION",
  "snr": -11.5,
  "rssi": -124,
  "hops_away": 5,
  "last_heard": 1784803301,
  "first_heard": 1775641538,
  "position_time": 1784803301,
  "latitude": 52.498481,
  "longitude": 13.475442,
  "lora_freq": 869,
  "modem_preset": "SF8/BW62/CR8",
  "protocol": "meshcore",
  "last_seen_iso": "2026-07-23T10:41:41Z"
}]
  1. synthetic ids should be deterministic. which one is right? f0b61f1e or 25ee3330?
  2. real ids (pubkey) should replace synthetic (merge dataset). here: ae46e493
  3. synthetic nodes should be tagged as such in api/nodes/:id (e.g., synthetic: true) so we have a way to distinguish them in future.
  4. (minor annoyance) position moved and now there are two nodes on the map. probably expected but double check that updated positions leave no trace or duplicates on the map

Related log:

-- 2026-07-21 --
[21:55:26][869][NA]   🌶  💾 Updated node info (message) [annotation: ae46e493]
[21:55:26][869][NA]   🌶  💾 Updated node info (advert) [annotation: 25ee3330]
[22:18:07][   ][  ]   🌶  💾 Updated node info (advert) [annotation: f0b61f1e]
-- 2026-07-23 --
[12:41:24][869][NA]   🌶  📍 Broadcasted position info: Lat: 52.49848, Lon: 13.47544 [annotation: ae46e493]
[12:41:27][869][NA]   🌶  📍 Broadcasted position info: Lat: 52.49848, Lon: 13.47544 [annotation: ae46e493]
[12:41:29][869][NA]   🌶  📍 Broadcasted position info: Lat: 52.49848, Lon: 13.47544 [annotation: ae46e493]
[12:41:41][869][NA]   🌶  📍 Broadcasted position info: Lat: 52.49848, Lon: 13.47544 [annotation: ae46e493]

Issues in log:

  1. 25ee seems to be related to the message event. the message is correct but some wiring created an unecessary synth node (ae46 already exists)
  2. f0be is an unexplained advert. what worries me here: no frequency and preset either. check that too.
  3. today's location broadcast was maybe received multiple times but it should have emitted only one log message per $time (didn't we have a grace period?)
this is all the same node (I can confirm because it is mine), why does it generate 3 different entries? - https://potatomesh.net/nodes/!25ee3330 - https://potatomesh.net/nodes/!f0b61f1e - https://potatomesh.net/nodes/!ae46e493 ``` [{ "node_id": "!25ee3330", "short_name": " 🌶 ", "long_name": "Afri @l5yth 🌶", "role": "COMPANION", "last_heard": 1784663726, "first_heard": 1775730548, "position_time": 1776688121, "latitude": 52.498207, "longitude": 13.47964, "lora_freq": 869, "modem_preset": "SF8/BW62/CR5", "protocol": "meshcore", "last_seen_iso": "2026-07-21T19:55:26Z" }, { "node_id": "!f0b61f1e", "short_name": " 🌶 ", "long_name": "Afri @l5yth 🌶", "role": "COMPANION", "last_heard": 1784665087, "first_heard": 1783529806, "protocol": "meshcore", "last_seen_iso": "2026-07-21T20:18:07Z" }, { "node_id": "!ae46e493", "short_name": " 🌶 ", "long_name": "Afri @l5yth 🌶", "role": "COMPANION", "snr": -11.5, "rssi": -124, "hops_away": 5, "last_heard": 1784803301, "first_heard": 1775641538, "position_time": 1784803301, "latitude": 52.498481, "longitude": 13.475442, "lora_freq": 869, "modem_preset": "SF8/BW62/CR8", "protocol": "meshcore", "last_seen_iso": "2026-07-23T10:41:41Z" }] ``` 1. synthetic ids should be deterministic. which one is right? `f0b61f1e` or `25ee3330`? 2. real ids (pubkey) should replace synthetic (merge dataset). here: `ae46e493` 3. synthetic nodes should be tagged as such in `api/nodes/:id` (e.g., synthetic: true) so we have a way to distinguish them in future. 4. (minor annoyance) position moved and now there are two nodes on the map. probably expected but double check that updated positions leave no trace or duplicates on the map Related log: ``` -- 2026-07-21 -- [21:55:26][869][NA] 🌶 💾 Updated node info (message) [annotation: ae46e493] [21:55:26][869][NA] 🌶 💾 Updated node info (advert) [annotation: 25ee3330] [22:18:07][ ][ ] 🌶 💾 Updated node info (advert) [annotation: f0b61f1e] -- 2026-07-23 -- [12:41:24][869][NA] 🌶 📍 Broadcasted position info: Lat: 52.49848, Lon: 13.47544 [annotation: ae46e493] [12:41:27][869][NA] 🌶 📍 Broadcasted position info: Lat: 52.49848, Lon: 13.47544 [annotation: ae46e493] [12:41:29][869][NA] 🌶 📍 Broadcasted position info: Lat: 52.49848, Lon: 13.47544 [annotation: ae46e493] [12:41:41][869][NA] 🌶 📍 Broadcasted position info: Lat: 52.49848, Lon: 13.47544 [annotation: ae46e493] ``` Issues in log: 1. 25ee seems to be related to the message event. the message is correct but some wiring created an unecessary synth node (ae46 already exists) 2. f0be is an unexplained advert. what worries me here: no frequency and preset either. check that too. 3. today's location broadcast was maybe received multiple times but it should have emitted only one log message per $time (didn't we have a grace period?) <!-- github-sync-id:4958054913 -->
adam closed this issue 2026-10-04 23:04:29 +02:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/potato-mesh#217