Add is_attended to User
Some discussions of potential functionality around this field, albeit in some cases more complex proposals: #586 https://github.com/meshtastic/firmware/issues/6191
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.
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.
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?
"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"?
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.
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 📵
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.
This is also more or less what was proposed by @NomDeTom and @caveman99 in #586.
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.
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.
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)