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

Add setting for users to determine frequency of backup creation

Open farewelltospring opened this issue 2 years ago • 14 comments

First time contributor checklist

Contributor checklist

  • Sony Xperia 5iii, Android 13
  • Virtual device Pixel 3, Android 13
  • [X] My contribution is fully baked and ready to be merged as is
  • [X] I ensure that all the open issues my contribution fixes are mentioned in the commit message of my first commit using the Fixes #1234 syntax

Description

This pull request allows users change the frequency that backups are made to a selected interval (weekly, monthly, quarterly, every 6 months, annually).

Currently, when backups are enabled, Signal will create a fresh backup every 24-hours. This causes unnecessary write cycles on the device's internal storage or SD card.

  • Making backups is a power-intensive process which drains battery and uses CPU cycles which can put a strain on daily usage when users are out and about, and slow down other apps on the device while the backups are being created.
  • Different users have different needs from backups. Some users message on Signal all day long, and others message on Signal infrequently. A 24-hour backup schedule is useful for the first group, but is of dubious value for the second group. It will write an identical file over and over.
  • Low-end devices are wearing out prematurely. Many low-end Android phones have low-durability eMMC chips. A 24-hour backup schedule makes their already-short lifespan even shorter. eMMC chips will fail catastrophically when they reach end-of-life. The device bricks, and the user must replace the whole thing. This disproportionately hurts Signal's poor users and produces environmental pollution.

A setting to control the backup frequency would also give people more control over their data, which is an important value to cultivate in today's society.

Verified that this behaviour works by setting backup frequency to 30 days and then waiting that long to see if a backup got created (I restarted the device several times during that time period to verify that it persists).

https://github.com/signalapp/Signal-Android/assets/108375980/13f7643f-0d26-4ecb-b4a3-0b428c40ac07

farewelltospring avatar Oct 02 '23 07:10 farewelltospring

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

stale[bot] avatar Dec 01 '23 10:12 stale[bot]

Fixed the localisation issue. I have only added a string for English but at least there are resources now.

farewelltospring avatar Dec 03 '23 11:12 farewelltospring

Is there anything I can do to make this PR better?

farewelltospring avatar Jan 03 '24 10:01 farewelltospring

Added a video recording demonstrating the feature. (link)

farewelltospring avatar Jan 11 '24 08:01 farewelltospring

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

stale[bot] avatar Mar 12 '24 01:03 stale[bot]

@farewelltospring one suggestions, could you please add the option to put the number of days as an int (with sensible limits) as having to choose from a list feels arbitrary and might not cover all use cases, but I can totally understand if you keep it as is

  • i really like that feature

LordBurtz avatar May 20 '24 07:05 LordBurtz

Just caught wind of this commit - https://github.com/signalapp/Signal-Android/commit/49ba83dda8ec7e9457dc620c960693f91590161e - is this PR able to be resolved?

farewelltospring avatar Jun 25 '24 10:06 farewelltospring

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

stale[bot] avatar Aug 26 '24 22:08 stale[bot]