Skip to content

[Feature Request]: Per-node channel visibility tracking #29

@ianmcorvidae

Description

@ianmcorvidae

Contact Details

m_ia_n on discord

Tell us your idea.

This would be potentially a large change, but which could provide some groundwork for some cool stuff in my opinion. What I'd like to see the app do is track what nodes it sees on what channels & with what sorts of settings. So for example, it might have the following information (formatted in an arbitrary way -- obviously this would be translated to database tables and such) for some node:

ID: !abcdef12
Channel: LongFast AQ==
-> last seen: 2025-04-02T15:45:35-07:00
-> last position precision: 16
Channel: Private
-> last seen: 2025-04-03T11:00:53-07:00
-> last position precision: 32

The goal here would be first of all to show the above information to the user, particularly when multiple channels are shared among several nodes (as is frequently the case if someone is using both the public channel and their own private channel). The down-the-road features would be things like more smartly choosing what channel to send things on. For example, in the above example a position request would probably in general be preferred on the private channel with the higher precision, but a traceroute would usually be better on the public channel that has more nodes to add their info to the trace. By tracking these properties for every node, the app is equipped to make these sorts of smarter channel-choice decisions. Or, if it is deemed UX-appropriate, this could allow the app to ask the user what channel to use, or allow the user the option of choosing even if it normally chooses on behalf of the user.

Edited-in additional note: ideally we start identifying channels in the app by something other than index as well, so that rearranging channels doesn't break stuff quite as much.

Firmware may need some updates to fully realize this, because at present you can't force a message to go on the primary channel (you can with a secondary channel though). But tracking the information would be a useful step regardless, I think.

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions