Signal-iOS icon indicating copy to clipboard operation
Signal-iOS copied to clipboard

Signal for iOS/iPadOS is taking up too much space even though all media is deleted

Open b3hni4 opened this issue 3 years ago • 109 comments

  • [x] I have searched open and closed issues for duplicates
  • [x] I am submitting a bug report for existing functionality that does not work as intended
  • [x] This isn't a feature request or a discussion topic

Bug description

I have only had a single group chat which I also deleted all media files. But the app still uses close to a gigabyte of storage on iPhone and the other linked device (iPad). Only thing that helped was to delete entire message history on the linked device. But It does not make sense for only text chats to take up such space, and I don’t want to loose the chat history in my case.

Steps to reproduce

  • using hyphens as bullet points
  • list the steps
  • that reproduce the bug

Device info

Device: iPhone XS, iPad Pro (11 inch)

iOS version: 14.4.1

Signal version: 5.7.0.19

Link to debug log

https://debuglogs.org/3897732fbea5289b0b108c64f5657c71f09267a58d92c7d1596b97fc38cd9574.zip

b3hni4 avatar Mar 14 '21 08:03 b3hni4

I have deleted all chats and I am still having this issue. This should have higher priority than it is currently given as it suggests that Signal app does not actually delete conversations or messages when the user thinks they have.

HanSeoulOh avatar Oct 30 '21 09:10 HanSeoulOh

The storage details API was not properly utilized for iOS. So unlike other apps, you cannot see a breakdown of usage or clear that usage from the iOS settings.

I have 8GB of storage Signal is holding on to, even after I deleted every chat with the "Clear Chat History" option.

Please let me know if I can help with this issue somehow because it seems to have been around for years and is pretty severe in my opinion.

ablakey avatar Nov 15 '21 02:11 ablakey

As @ablakey pointed out, on iOS you do not have the option to "manage storate" while on Android you do. As a result, you cannot clear large photos or videos sent for one-time viewing by friends. This is a critical feature mismatch across platforms.

hyiltiz avatar Dec 06 '21 00:12 hyiltiz

I'm supporting iOS users which are having this same issue. Example: 11gb used space is not being reduced after clearing out the conversations which contain large media files, etc. There is clearly an issue with freeing storage.

Note: there have been several bugs before this one which were ignored and automatically closed as "stale", despite being serious user facing issues.

jonathancross avatar Jan 30 '22 14:01 jonathancross

Is this still relevant? If so, what is blocking it? Is there anything you can do to help move it forward?

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

stale[bot] avatar Mar 31 '22 14:03 stale[bot]

This is not stale. It’s just not being addressed in a timely manner. This is a very debilitating problem: eating gigs of space and crippling security guarantees by not actually deleting message contents from local storage.

ablakey avatar Mar 31 '22 15:03 ablakey

That's rather embarrassing, Signal. Is this problem too complicated for you?

Edit: I regret this comment. It's rude and unhelpful. My apologies.

ablakey avatar Apr 07 '22 16:04 ablakey

I've stopped using signal and recommended everyone to not use signal because of this issue. I suspect the consequences of this problem are a lot more sinister than what you might conclude at a first glance.

EDIT: I do not mean sinister as in the devs' have sinister motives, but as in the consequences of this issue are sinister as in potentially harmful. It is a valid flag for a security concern.

HanSeoulOh avatar Apr 09 '22 12:04 HanSeoulOh

@Imperiopolis-Signal How can we reopen this issue?

b3hni4 avatar Apr 09 '22 19:04 b3hni4

Signal maintainers, you ought to reopen this issue, or at least merge it with an active issue. This issue is serious and real, and it does you no favors to ignore it. And I say this as one who gives you money.

javajosh avatar Apr 09 '22 22:04 javajosh

This is likely a consequence of the encrypted SQLite message database. Claims that this is a security issue rather than simply a resource waste issue should be viewed with suspicion until substantiated.

  1. Signal uses SQLCipher to store messages, encrypted, on disk.
  2. This is a known problem with SQLCipher. It can probably be resolved by vacuuming SQLCipher, or enabling autovacuum.

nathantypanski avatar Apr 09 '22 23:04 nathantypanski

Hi Signal maintainers (@michelle-signal, @jrose-signal @Imperiopolis-Signal, someone?), I'm sure you all are very busy, but when you have a chance can this be reopened and prioritized, please? As an iOS user and donor I'm very concerned that this hasn't been prioritized for a year now.

joshaustintech avatar Apr 09 '22 23:04 joshaustintech

This is likely a consequence of the encrypted SQLite message database. Claims that this is a security issue rather than simply a resource waste issue should be viewed with suspicion until substantiated.

  1. Signal uses SQLCipher to store messages, encrypted, on disk.
  2. This is a known problem with SQLCipher. It can probably be resolved by vacuuming SQLCipher, or enabling autovacuum.

I certainly hope this is true, and here's hoping for a simple fix. I am a long time user of Signal and was brought to it because of its better security intentions. Having this issue for a while now, I check back frequently and am still surprised that nearly 3 years later it still has not received the attention it deserves. I would be much more comfortable and confident that there is not much to worry about if a dev chimed in and assured us there is no problem and that it is low priority. But they have not made any comments yet, which made me increasingly concerned.

Reading into your suggestions it does seem indeed that your explanation is the most likely cause of the issue, however I definitely would feel better hearing it from the devs themselves that they have investigated the anomaly and came to the same conclusion.

HanSeoulOh avatar Apr 10 '22 00:04 HanSeoulOh

this is unacceptable. I've been using signal for a few years now but only had a few contacts and signal is eating 11gbs of my storage and although I deleted the chats, it still uses 11gb...

This looks like a security issue as well as a performance issue. Just can't tell people to change to Signal anymore

pitis avatar May 12 '22 09:05 pitis

I too wonder how this can be fixed. My iPhone Signal app is 16GB large and I can't figure out how to reduce its size.

sgreadly avatar Jun 26 '22 06:06 sgreadly

@EvanHahn-Signal or @max-signal Any chance one you can reopen this issue which was closed incorrectly by the stalebot?

jonathancross avatar Aug 04 '22 22:08 jonathancross

@harry-signal @sashaweiss-signal @igor-signal @Imperiopolis-Signal sorry for the spam (you're the most recent contributors) but it looks this one was incorrectly closed as stale but still impacts iOS (iOS 15.6.1 with Signal 5.51.0.14). This has a bigger impact the longer a user is on signal, as media accumulates to tens of gigabytes and will be a significant portion of storage for those on older/lower storage phones.

mkerollos avatar Sep 15 '22 15:09 mkerollos

I must say, I'm finding very difficult to keep the family and friends on Signal for this very bug and reason. They're not tech savvy, and aren't bothered to do workarounds (not that I know of any), and if the only workaround is to delete and reinstall the app, no one will bother reinstalling it. And when they run out of space.. guess which app will be deleted and ridden with.

sgreadly avatar Sep 15 '22 20:09 sgreadly

I looked at the code last night and confirmed that the database is never vacuumed and auto-vacuum is not used. Those are the likely culprits.

Enabling vacuum shouldn't be difficult, but you need to strike a balance between running it often enough to reclaim space vs to often which adds overhead (and blocks other DB operations). You could use a heuristic and look at the free page pragma to see if there is enough unused space to warrant vacuum. Or if an attachment has been deleted you could look at byteCount. If those are over a threshold, you could run vacuum.

Its also worth noting that the Android and desktop apps do not call VACUUM or run auto-vacuum either.

derekmorr avatar Sep 16 '22 18:09 derekmorr

Thanks @derekmorr ,

Is that vacuum instruction aimed at us end users? or at dev? If us, do you have any instructions on how I can do that on iOS? I don't mind doing it even if just once to significantly reduce the current size.

Ta.

sgreadly avatar Oct 07 '22 20:10 sgreadly

It was aimed at developers. The app should vacuum its own database -- end-users should not have to do it.

derekmorr avatar Oct 07 '22 20:10 derekmorr

Ah ok :) Thanks for the clarification.

sgreadly avatar Oct 07 '22 20:10 sgreadly

Its also worth noting that the Android and desktop apps do not call VACUUM or run auto-vacuum either.

Given that there is not a problem reclaiming space on Android... it suggests that this is not the main culprit. Right?

jonathancross avatar Oct 08 '22 15:10 jonathancross

@derekmorr What would be very helpful would be to simply submit a PR that demonstrates the issue for devs. It seems you have the skills for this, correct?

From there, we might get a discussion going and build a case that this is important for Signal devs to address.

jonathancross avatar Oct 08 '22 15:10 jonathancross

We have tried to reproduce this issue but cannot. Thanks to folks here for trying to help us figure it out.

EvanHahn-Signal avatar Oct 11 '22 16:10 EvanHahn-Signal

@EvanHahn-Signal What can we provide from our end, that can help you troubleshoot or debug what is happening? Any debug version of Signal we can install that gives more info? Or logs?

Mine is currently showing as App size: 110.8 MB Documents & Data: 18.32 GB

I manually deleted ~1,500 videos/images from 2 of my main groups. That 18.32 did not go down at all.

iPhone XS Max, iOS 16 (but seen in previous iOSs too since ~14 at least)

sgreadly avatar Oct 12 '22 02:10 sgreadly

The feature mismatch described here https://github.com/signalapp/Signal-iOS/issues/4916#issuecomment-986330092 requires no steps to "reproduce", as it has been the case for the apps across the platforms since Signal was released.

hyiltiz avatar Oct 13 '22 05:10 hyiltiz

So again I ask the developers, what else can be done, or what do you need form us, to solve this serious issue?

sgreadly avatar Oct 13 '22 19:10 sgreadly

@harry-signal @sashaweiss-signal @igor-signal @Imperiopolis-Signal

Really getting desperate here. Can we please get a developer to look into this?

We're losing faith with Signal, and I already have 2 users that switched away from it as a result.

What, if anything, can we provide so that you have the data you need to fix this?

1F4C6574-165F-4500-BEDF-C511D3D20FB7

sgreadly avatar Nov 10 '22 05:11 sgreadly

FWIW: I tested this with 2 users and the bug did not show up. We carefully checked overall used space by Signal, deleted some media files and immediately saw the reduction is storage reported by iOS.

iOS v15.7 Signal v5.57.0

And...

iOS v15.5 Signal v5.57.0

So this clearly is not affecting ALL iOS users, which is good.

When I last saw the issue, it was on an old phone which was probably behind in software updates.

jonathancross avatar Nov 10 '22 09:11 jonathancross