protobufs icon indicating copy to clipboard operation
protobufs copied to clipboard

Add is_attended to User

Open thebentern opened this issue 9 months ago • 11 comments

Some discussions of potential functionality around this field, albeit in some cases more complex proposals: #586 https://github.com/meshtastic/firmware/issues/6191

thebentern avatar Mar 26 '25 12:03 thebentern

Since NodeInfo is not sent very often and this might not be a static setting, maybe we could add a uint32 to DeviceTelemetry instead? That could indicate the last connection to the API, and we could possibly define some magic numbers for if you want the permanent "is_attended" flag.

GUVWAF avatar Mar 26 '25 17:03 GUVWAF

I think the last connected logic should not be something managed by the clients, a simple bool is much easier to deal with. While this data may be used in the firmware the clients just need to know if a node is available for messaging.

garthvh avatar Mar 26 '25 17:03 garthvh

Yes, I also don't mean that this should be set by the client. The firmware can determine when a client was last detected. If people are setting this initially but later forget to unset it when they no longer are connected to it, the bool has no value. For me, I often only connect like once per day to my node. Do I then set it to true or not?

GUVWAF avatar Mar 26 '25 17:03 GUVWAF

"Attended" is probably not the best term when we consider node usage like bots that are technically unattended but available for messaging. Perhaps "is_messageable"?

thebentern avatar Mar 26 '25 18:03 thebentern

What about an enum with multiple states for "attendance"? E.g. never, always, daily, weekly, monthly or even "bot"? It would maybe not even take up more than a bool on the wire.

GUVWAF avatar Mar 26 '25 19:03 GUVWAF

I am not really sure what advantage there is to more states, I just want to know if it should show in the user list and if you should be able to get to the dm screen from the node list. I think this should be binary, monitored or not.

the main goal is to stop people from using the 📵

garthvh avatar Mar 26 '25 19:03 garthvh

When I'm in a new city for a couple hours, it doesn't really make sense to DM someone if they're only monitoring weekly. However, when it's my main node at home I can send a message and see if they respond within a week.

GUVWAF avatar Mar 26 '25 19:03 GUVWAF

This is also more or less what was proposed by @NomDeTom and @caveman99 in #586.

GUVWAF avatar Mar 26 '25 20:03 GUVWAF

When I'm in a new city for a couple hours, it doesn't really make sense to DM someone if they're only monitoring weekly. However, when it's my main node at home I can send a message and see if they respond within a week.

Weekly or monthly is no better than unattended for a messaging app. I really don't see much value in this. The primary complaint from users is they don't get a response when messaging local nodes, for a constantly changing ad hoc mesh network weekly or monthly is the same issue.

garthvh avatar Mar 26 '25 20:03 garthvh

It's not (always) an instant messaging app. When I check in on my node at work every once in a while, if the other side is permanently monitored we can have a conversation when I'm there. If I would set the attended bool to true, they would expect an answer within a couple hours, but if I would set it to false we'd never had the conversation.

It's free information while you can still filter on node.attendance == NEVER, or make separate filters for each state. I also generally don't want to talk to a bot, but it would be "messagable" just like a person that's permanently connected to the node.

GUVWAF avatar Mar 26 '25 20:03 GUVWAF

If these are optional fields, they don't add any additional overhead unless they're set, right? Is there any value in adding the other states that have been discussed since #586 ?

  • Static/mobile
  • Human/automated
  • attended/afk (in addition to is_messageable)

NomDeTom avatar Mar 31 '25 08:03 NomDeTom