simplex-chat / simplex-chat/simplex-chat
[Feature]: Purge redundant data during DB export to reduce export size
Nobody has claimed this yet.
- Dominant language
- Haskell
- Stars
- 19.5k
- Forks
- 1.4k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 71
Description
Is there an existing issue for this?
- I have searched the existing issues
Platform
all
App version
6.3.4
Feature
The export size of my database has increased considerably after I joined and left some chat groups on SimpleX Chat. Upon further inspection, it appears that the profiles of members from these chat groups still persist in the contact_profiles table (simplex_v1_chat.db), even though I'm no longer part of those groups. Since this table contains base64 encoded profile pictures of group members, it increases the export size significantly.
Would it be possible to detect and remove these redundant profiles (as well as anything else that isn't strictly necessary) during the export process (or preferably earlier—when leaving a chat group)? I'd like to avoid unnecessarily increasing my export size as I hop between chat groups.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the database export process and inspecting the contact_profiles table in simplex_v1_chat.db. Determine which profiles are no longer needed after leaving chat groups and whether cleanup belongs during export or earlier. Done means redundant profile data is removed without affecting required chat data and exports are smaller.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- database
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100