# Actualizaciones automáticas

Cómo Oleafly genera, firma, verifica y publica su feed de actualizaciones multiplataforma.

Oleafly usa el plugin de actualización de Tauri. Al iniciarse, la app consulta la última versión de GitHub y abre su propia ventana de actualización cuando hay una versión más reciente. También puedes buscar actualizaciones desde el menú de la aplicación o desde **Acerca de → Buscar actualizaciones**.

## Feed de versiones

Cada compilación de plataforma crea artefactos de actualización firmados y un fragmento de `latest.json`. El flujo de lanzamiento mantiene esos fragmentos separados hasta que terminan las cuatro compilaciones y luego combina las entradas de cada destino en un único manifiesto canónico.

El manifiesto final debe contener entradas para macOS Apple Silicon, Windows x64, Linux x64 y Linux ARM64. Permanece adjunto a un borrador de versión hasta que una persona mantenedora ejecuta el flujo de publicación protegido. Las apps instaladas no ven el borrador.

La app descarga `latest.json` desde GitHub Releases. Antes de instalar, Tauri verifica la firma del actualizador con la clave pública incrustada en `src-tauri/tauri.conf.json`. Los artefactos ausentes, sin firmar o alterados se rechazan.

Las notas de la versión salen de la sección correspondiente de `CHANGELOG.md`. El flujo extrae esa sección y la usa tanto para el cuerpo de la versión en GitHub como para la ventana de actualización.

## Claves de firma

La clave pública del actualizador está confirmada en `src-tauri/tauri.conf.json`. La clave privada debe estar solo en los secretos de GitHub Actions:

- `TAURI_SIGNING_PRIVATE_KEY`
- `TAURI_SIGNING_PRIVATE_KEY_PASSWORD`

No confirmes nunca la clave privada. Si se expone, genera un par nuevo, actualiza el secreto del repositorio y reemplaza la clave pública incrustada. Las instalaciones existentes confían en su clave incrustada, así que una rotación requiere planificar una vía de actualización manual.

La firma del sistema operativo es independiente de la firma del actualizador. Las compilaciones de macOS usan la firma de código y la notarización de Apple cuando están presentes los secretos de lanzamiento. Las compilaciones de Windows usan Azure Artifact Signing cuando están presentes sus credenciales.

## Fallos y reversión

Si una comprobación o una descarga fallan, la aplicación instalada no cambia. Un fallo de firma bloquea la instalación. La aplicación se reinicia solo después de que la descarga verificada se instale correctamente.

Oleafly no revierte automáticamente una actualización completada. Para volver a una versión anterior, cierra la app, haz una copia de seguridad de tus proyectos importantes, descarga el instalador oficial anterior, verifícalo e instálalo sobre la versión actual.

Consulta [Publicar una versión de Oleafly](/docs/engineering/releasing/) para el proceso de borrador y publicación.
