Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GUI: Diagnose/troubleshoot broken ratchets #622

Open
jzbz opened this issue Aug 22, 2024 · 1 comment
Open

GUI: Diagnose/troubleshoot broken ratchets #622

jzbz opened this issue Aug 22, 2024 · 1 comment
Labels
question Further information is requested

Comments

@jzbz
Copy link

jzbz commented Aug 22, 2024

I've hit this scenario several times where a broken ratchet occurs and a ratchet reset, treset, or mediated KX does not remedy the situation. So essentially there's no way to distinguish whether your messages are not being received by the person you're communicating with or you're being ghosted. I provide a suggestion on how to partially distinguish the two with read receipts in #621 and the software could potentially display a message suggesting a manual KX from scratch if a message isn't delivered after 24 hours for example. Right now you're pretty much in the dark.

@miki-totefu
Copy link
Collaborator

there's no way to distinguish whether your messages are not being received by the person you're communicating with or you're being ghosted

this is by design and can't be worked around (except by read receipts as mentioned)

3-way handshake ("perform handshake" on gui) can tell if the ratchet is intact - messages are exchanged and ntfn is shown if everyone can send/receive from each other - but user could also block this if wanted

24h is too soon - user could be offline for days/weeks and not send/receive messages (pretty common during vacation)

to diagnose broken ratches: go to user profile, see if the send/receive RV matches (they are swapped on each user)

user 1 send rv == user 2 recv rv
user 1 recv rv == user 2 send rv

to diagnose broken resets: same thing, but look at reset rv

user 1 my reset rv == user 2 their reset rv
user 1 their reset rv == user 2 my reset rv

if they don't match, then ratchet is broken

ratchet will get broken if anyone stays offline > 30 days (and there were messages exchanged), but other than that it's a bug if they are getting broken

we could reduce the chance of broken ratchets by increasing the number of rvs the user subscribes to (instead of subscribing to 1 recv rv per user, subscribe to 2, 3, ..., N). but that increases the cost (because user pays to subscribe to each RV on server)

if increasing the cost per user is ok, i can work on increasing the nb of subscriptions

@miki-totefu miki-totefu added the question Further information is requested label Aug 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants