simplex-chat / simplex-chat/simplex-chat

[Feature]: Purge redundant data during DB export to reduce export size

Open
#5,977 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement triage
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.