Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

bug: Data loss risk on iOS - the Database folder is excluded from backups

Abierto
#613 2 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
42/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Estancado
Stack tecnológico
ios, sqlite, swift

Línea de trabajo

Empieza en ios/Plugin/Utils/UtilsFile.swift alrededor de la línea 50, donde se crea el directorio iOSDatabaseLocation y se establece su indicador de copia de seguridad. Confirma cómo se marca Library/Database para las copias de seguridad y luego haz que el comportamiento preserve las bases de datos durante las copias de seguridad de iCloud, las copias de seguridad del ordenador y la transferencia del dispositivo. Se considera terminado cuando el directorio de la base de datos ya no está excluido de las copias de seguridad.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug/fix needs: triage

Plugin version:
6

Platform(s):
iOS

Current behavior:
On iOS, our app specifies it's own iOSDatabaseLocation directory:
Library/Database

But I see that, just after the directory is created, the isExcludedFromBackup flag on that directory is set to true. See https://github.com/capacitor-community/sqlite/blob/891377f344924de80003287f172de24984e8b74b/ios/Plugin/Utils/UtilsFile.swift#L50

Because of this, none of the databases in that directory will ever get backed up, to iCloud or to a computer. I'm pretty sure that this will also exclude the files from a direct device to device transfer.

As a mitigation, our app explicitly sets the flag back to false, but we weren't expecting the behaviour. As a result, our users are at risk of data loss if they transfer data to a new iPhone before updating our app. Not cool.

Solution

I see that historically, the flag was set purposefully to hide the database from iTunes (https://github.com/capacitor-community/sqlite/issues/207), but that is completely misguided as in practice, there's now no way for the dbs in that folder to be transferred to other devices as long as the flag remains...

Happy to discuss. iOS backups are a specialty of mine, used to work in that domain specifically.

Lenguaje dominante
Swift
Estrellas
663
Forks
159
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de capacitor-community/sqlite

Todos los issues de capacitor-community/sqlite

Issues similares

Más issues de Swift

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.