Replace manual FTS5 fix with SQLite secure-delete flag.

We used to workaround this by manually optimizing the search index, but secure-delete does that for us with less work.
This commit is contained in:
Greyson Parrelli
2024-08-26 14:56:32 -04:00
committed by Nicholas Tinsley
parent 2cfd19add6
commit 1aaa833127
9 changed files with 39 additions and 196 deletions

View File

@@ -116,7 +116,7 @@ public class ApplicationMigrations {
static final int SMS_MMS_MERGE = 71;
static final int REBUILD_MESSAGE_FTS_INDEX = 72;
static final int UPDATE_SMS_JOBS = 73;
static final int OPTIMIZE_MESSAGE_FTS_INDEX = 74;
// static final int OPTIMIZE_MESSAGE_FTS_INDEX = 74;
static final int REACTION_DATABASE_MIGRATION = 75;
static final int REBUILD_MESSAGE_FTS_INDEX_2 = 76;
static final int GLIDE_CACHE_CLEAR = 77;
@@ -547,9 +547,9 @@ public class ApplicationMigrations {
jobs.put(Version.UPDATE_SMS_JOBS, new UpdateSmsJobsMigrationJob());
}
if (lastSeenVersion < Version.OPTIMIZE_MESSAGE_FTS_INDEX) {
jobs.put(Version.OPTIMIZE_MESSAGE_FTS_INDEX, new OptimizeMessageSearchIndexMigrationJob());
}
// if (lastSeenVersion < Version.OPTIMIZE_MESSAGE_FTS_INDEX) {
// jobs.put(Version.OPTIMIZE_MESSAGE_FTS_INDEX, new OptimizeMessageSearchIndexMigrationJob());
// }
if (lastSeenVersion < Version.REACTION_DATABASE_MIGRATION) {
jobs.put(Version.REACTION_DATABASE_MIGRATION, new DatabaseMigrationJob());

View File

@@ -1,34 +0,0 @@
package org.thoughtcrime.securesms.migrations
import org.signal.core.util.logging.Log
import org.thoughtcrime.securesms.jobmanager.Job
import org.thoughtcrime.securesms.jobs.OptimizeMessageSearchIndexJob
/**
* Kicks off a job to optimize the message search index.
*/
internal class OptimizeMessageSearchIndexMigrationJob(
parameters: Parameters = Parameters.Builder().build()
) : MigrationJob(parameters) {
companion object {
val TAG = Log.tag(OptimizeMessageSearchIndexMigrationJob::class.java)
const val KEY = "OptimizeMessageSearchIndexMigrationJob"
}
override fun getFactoryKey(): String = KEY
override fun isUiBlocking(): Boolean = false
override fun performMigration() {
OptimizeMessageSearchIndexJob.enqueue()
}
override fun shouldRetry(e: Exception): Boolean = false
class Factory : Job.Factory<OptimizeMessageSearchIndexMigrationJob> {
override fun create(parameters: Parameters, serializedData: ByteArray?): OptimizeMessageSearchIndexMigrationJob {
return OptimizeMessageSearchIndexMigrationJob(parameters)
}
}
}