signalapp / Signal-Desktop

A private messenger for Windows, macOS, and Linux.
https://signal.org/download
GNU Affero General Public License v3.0
14.49k stars 2.63k forks source link

Feature Request: Don't automatically unlink until six months have passed #4730

Closed purpleidea closed 2 years ago

purpleidea commented 3 years ago

Bug Description

I mostly use signal on an android phone and on a desktop using the signal flatpak. I also use it on my laptop, but much less often. Normally, all three devices keeps their message history in sync.

When I open the laptop version of signal, it sometimes say I need to "relink". I never did anything to unlink. I can still see the device as "linked" in the other signal app's. The only thing that seems to have changed is that I haven't opened it here in at least two weeks.

When I relink, all the conversation history from this time period is lost on this device. This is a simple distributed systems replay bug-- I am shocked that signal would lose data in this way.

Steps to Reproduce

  1. Install signal on more than one device.
  2. Don't open signal on secondary device for over two weeks.
  3. Open it and notice that message history from that intermediate time is lost.
  4. Be surprised about failed distributed systems sync. Keep using IRC since it "just works". (Encryption is great, but "just working" is more important.)

Actual Result:

Lost message history.

Expected Result:

Missing message history is replayed.

Screenshots

N/A

Platform Info

Signal Version:

Latest as of 27/Dec/2020

Operating System:

Linux, Android and Linux.

It's 100% reproducible. It should be easy for the developers to understand.

Thanks

scottnonnenberg-signal commented 1 year ago

@Imerion If Signal Desktop automatically unlinked after one week, that's a bug. Desktop should stay linked for 30 days - if you run it at least that often, you should never have to re-link it. Please create a new issue with your full information, especially debug logs from your desktop.

Imerion commented 1 year ago

@scottnonnenberg-signal Will do! Thanks!

PeteSapai commented 1 year ago

I would rewrite the request as 'increase time to unlink device from 30 days to 90', but other than that I agree with OP. 30 days is way too short, I keep having to relink my PC and lose messages in the process. Either increase the unlink timeframe, or find a way to sync messages from phone to desktop (so if you do link again after 31+ days, every message in those past 31+ days will be copied from phone to desktop app)

RayOei commented 1 year ago

The issue is closed here but a feature discussion is here: https://community.signalusers.org/t/dont-unlink-devices-after-30-days/37414

ThomasEffektiva commented 6 months ago

Feature Request: Option 1: Always keep at least 2 weeks of data for download and unlink after at least 6 months. Option 2: Be able to sync information directly from phone and unlink after at least 6 months.

Reason: My problem is I get a long message and I rather answer faster on my computer. I just need the last couple of days messages so I can see and answer from my computer.

How Option 1 will help: A: Your server will keep the same, or less data: B: And I will always be able to see and therefor answer the last conversations.

How option 2 will help. A: Your server have to keep a lot less data, it will only be store at one local device and then sync from there. B: I will be able to see and answer all of the previous conversations and have no interruptions.

elandorr commented 4 months ago

Another use case for your consideration: (not signing up for yet another forum, sorry)

I don't like or want a "smart"phone. It's a manipulation and tracking device loved by governments. At best it's a waste of life.

So I really don't want any "app" to begin with.

BUT it's the sole option out there that "regular" people can be convinced to use. "Install this app from the '''store'''" Sure, "whatsapp" and "telegram" exist, but thanks, nope.

Thus I set up "signal-desktop" to check it every so often. Nobody NEEDS instant-realtime. It's not viable to run it 24/7 either, because "signal-desktop" is a gigantic electron CPU and RAM suck. It uses 5x+ the entire OS+WM! (Seriously, could run 5 webservers in there no problem.)

But if I'm afk for a little while, the relinking game starts again. Which is an unnecessary pain.

Doing this once is already too much to ask for "regular" people. Techies? Maybe once if they're into privacy.

It takes a lot of dedication and work to use "Signal". Really the only reason to use it is the lack of alternatives.

I understand data storage issues, and their very existence is great, because it makes it look less like a datasuck (cough you know who). A simple solution is having a fixed buffer - text is trivial to store, compresses extremely well - the buffer/user would be very small yet cover more than a single guy could possibly ever accrue in text. And you still avoid the potential infinite build up. (Though afair you already have some limit on stored messages, so there shouldn't be a problem to begin with unless someone links 999 devices.)

I also understand the encryption issue regarding keys - just don't hide this google-government-dumb-dumb style. Everyone can be taught how to use OMEMO for example. I don't need everything everywhere instantly. If you used your multi-million $ market power the concept would be widespread and mundane.

Explaining keys etc. is much simpler than the whole unnecessary administrative barriers you created around it.

Another very simple improvement is telling people the truth: "This user's buffer is full - but he will see that you tried to contact him." Just mark it for next time. Maybe mark the message like you would during network outages, to attempt re-sending at user request in the future. Ever seen an answering machine? Works.

Ideally the timeout still exists though, for privacy, just in case. No data should go on infinitely. If you're gone for e.g. x years there's no reason any of your data should continue to be around until they're inevitably broken.

All I need is a somewhat secure way to communicate with people, particularly ones who can't be arsed/don't know how to go beyond whatever spyware-store came preinstalled, or are lucky enough to live a simple life with the "smart"phone already being a "don't care for it" item.

The people who REALLY get into this are so few, we need practical solutions.

This applies in reverse as well - people who had someone else set up signal-desktop for them. (Many don't even have an EMF-brick, just a landline, so you might set it up for them using signal-cli etc.) If it gets unlinked for them, you really got a problem. Good luck guiding them through this via regular phone before one of you ropes.

At which point they will inevitably ask: "Why not just use the regular phone, then?"

At which point the techie inevitably asks himself: "Should I just give up?"

At which point the google-technocracy won by attrition!

tl;dr:

If storage is the problem, tell people the truth. Mark it answering machine style. Don't break communication lines, don't make it so hard to use "Signal". People without "smart"phones, people who don't cling to notifications 24/7, people who are not into tech, people forced to commute, they all need secure comms.