Signal-iOS
Signal-iOS copied to clipboard
Signal for iOS/iPadOS is taking up too much space even though all media is deleted
- [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
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.
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.
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.
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.
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.
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.
That's rather embarrassing, Signal. Is this problem too complicated for you?
Edit: I regret this comment. It's rude and unhelpful. My apologies.
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.
@Imperiopolis-Signal How can we reopen this issue?
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.
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.
- Signal uses SQLCipher to store messages, encrypted, on disk.
- This is a known problem with SQLCipher. It can probably be resolved by vacuuming SQLCipher, or enabling autovacuum.
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.
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.
- Signal uses SQLCipher to store messages, encrypted, on disk.
- 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.
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
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.
@EvanHahn-Signal or @max-signal Any chance one you can reopen this issue which was closed incorrectly by the stalebot?
@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.
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.
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.
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.
It was aimed at developers. The app should vacuum its own database -- end-users should not have to do it.
Ah ok :) Thanks for the clarification.
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?
@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.
We have tried to reproduce this issue but cannot. Thanks to folks here for trying to help us figure it out.
@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)
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.
So again I ask the developers, what else can be done, or what do you need form us, to solve this serious issue?
@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?
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.