View Issue Details

IDProjectCategoryView StatusLast Update
0007260GNUnetmessenger servicepublic2024-03-07 20:24
Reporterthejackimonster Assigned Tothejackimonster  
PrioritynormalSeveritymajorReproducibilityN/A
Status closedResolutionfixed 
Product Version0.17.0 
Target Version0.21.0Fixed in Version0.21.0 
Summary0007260: Implement function to drop relay capability
DescriptionCurrently the messenger service only allows to switch your peer into relay mode but there's no function to turn this off without leaving the messenger room. However this should be implemented to dynamically adjust devices in a messenger room depending on power draw, battery state or member count in the chat.
Additional Information- There should always be a minimum amount of relay peers in a messenger room to not loose connectivity.
- Peers should only be allowed to switch their state of relay mode regarding to some kind of token (for example a specific time slot). This secures that not all peers switch of relay capability at once and loose connection.
- Peers should only be able to turn off relay capability of themselves (the peer identity should be used for signing those messages -> this makes it completely independent of member IDs and such). [Maybe the current peer messages should even be altered! -> Adding a signature of the peer identity!]
- Guests of a relay peer should be prepared to switch connection.
TagsNo tags attached.

Activities

thejackimonster

2023-12-17 00:19

developer   ~0020770

- A minimum amount of routing peers can now be specified by setting the value of `MESSENGER_MIN_ROUTERS` in the config.
- The minimum amount of routing peers will automatically switch on/off relay capability when `MESSENGER_AUTO_ROUTING` is set to "YES" in the config.
- The peer and miss messages have been adjusted to allow signing via peer identities rather than private keys from members of the room.
- A new connection message has been added to track which peers act as relay because of the automatic routing and how many active connections they currently have.
- With information about which peer is routing automatically, they get sorted in the basement list and only the first peer with automatic routing is allowed to turn its capabilities off (that ensures only one peer switches off routing at once).

So pretty much most of the functionality is implemented. I still need to verify whether it works properly via tests though.

thejackimonster

2023-12-17 15:38

developer   ~0020773

Peers will now automatically enter a room via a different peer from a room's basement when their last connection to a peer from this list gets closed (however only when `MESSENGER_AUTO_CONNECTING` is set to "YES" in the config since this could be done manually as well).

For most applications the default values in the config should be reasonable though.

schanzen

2024-03-05 15:55

administrator   ~0021684

Release is imminent, change target version?

thejackimonster

2024-03-05 19:20

developer   ~0021692

So unless I encounter an issue regarding my implementation, I'll consider this isssue as fixed. If there is any issue, I'll need the new testing framework working before that anyway to reproduce it easily.

schanzen

2024-03-07 20:24

administrator   ~0021773

0.21 released

Issue History

Date Modified Username Field Change
2022-06-13 21:34 thejackimonster New Issue
2023-12-17 00:19 thejackimonster Note Added: 0020770
2023-12-17 15:38 thejackimonster Note Added: 0020773
2023-12-17 17:06 thejackimonster Assigned To => thejackimonster
2023-12-17 17:06 thejackimonster Status new => assigned
2024-01-08 16:58 thejackimonster Target Version => 0.21.0
2024-03-05 15:55 schanzen Note Added: 0021684
2024-03-05 19:20 thejackimonster Status assigned => resolved
2024-03-05 19:20 thejackimonster Resolution open => fixed
2024-03-05 19:20 thejackimonster Fixed in Version => 0.21.0
2024-03-05 19:20 thejackimonster Note Added: 0021692
2024-03-07 20:24 schanzen Note Added: 0021773
2024-03-07 20:24 schanzen Status resolved => closed