cavioca

Versiones y rollback

4 min

Versiones y rollback

Cada vez que pulsas Publicar, cavioca crea una versión inmutable de tu app. Esta página explica qué significa eso, dónde vive el código publicado, y cómo volver a una versión anterior si algo se rompe.

Una publicación = una versión

Las versiones funcionan como un cuaderno: cada vez que publicas, se añade una página nueva al final. La numeración es secuencial (1, 2, 3, …) y empieza en 1 con la primera publicación.

  • Editar el código en el builder no crea una versión nueva — es solo un borrador privado.
  • Cambiar título, descripción o categoría no crea versión nueva — son metadatos que viven aparte del bundle.
  • Pulsar Publicar sí crea una versión nueva, con un snapshot completo del código en ese momento.

La URL /a/<slug> apunta siempre a la versión más alta (la última publicada). Para enlazar a una concreta, usa /a/<slug>/<version>.

Dónde vive el código publicado

Cada versión vive en un bucket R2 (almacenamiento de objetos de Cloudflare). Una vez subido, ese bundle no se sobrescribe ni se modifica: queda ahí como referencia histórica.

No tienes que pensar en R2 directamente. Lo importante es entender que:

  • Las versiones publicadas son permanentes — aunque despubliques la app, los bundles siguen existiendo y se pueden volver a servir si la republicas.
  • El código del builder (tu borrador en edición) es independiente del código publicado. Puedes seguir tocando el builder sin afectar lo que ven los visitantes.

Volver a una versión anterior (rollback)

Si la última publicación introduce un bug y necesitas volver a la versión previa rápidamente, tienes dos formas:

1. Republicar el código antiguo

Desde el panel de tu app, abre la lista de versiones, selecciona la versión que quieres restaurar, y elige Restaurar al builder. Eso copia el código de esa versión a tu borrador. A partir de ahí, pulsas Publicar y se crea una versión nueva (con número más alto) que contiene exactamente el código antiguo.

Es el método recomendado porque deja constancia en el historial: "publiqué v3, descubrí un bug, restauré v2 como v4".

2. Enlazar directamente a la versión buena

Si solo necesitas que alguien específico vea la versión anterior mientras arreglas el bug, comparte https://cavioca.com/a/<slug>/<version> apuntando a la versión que funciona. La URL principal /a/<slug> seguirá sirviendo la última.

open "Hacer que /a/<slug> apunte a una versión que no sea la última sin tener que republicar" — un rollback de un solo clic — está en estudio pero no existe todavía. Hoy el patrón es republicar.

Borrar una versión

deferred Borrar una versión concreta del historial (por ejemplo, una que filtró credenciales por accidente) requiere contacto manual con el equipo: [email protected]. No hay un botón en la UI todavía.

Si lo que quieres es que deje de servirse al público, despublicar la app entera ya lo consigue sin tener que borrar nada (ver marketplace).

Despublicar vs borrar

Conviene tener clara la diferencia:

  • Despublicar — la app desaparece del marketplace y sus URLs públicas devuelven 404. Las versiones siguen guardadas. Puedes republicar más adelante.
  • Borrar la app — elimina la app de tu cuenta. open El borrado completo (incluyendo limpieza de los bundles en R2) todavía no está implementado del todo; la operación segura hoy es despublicar.

Resumen para la cabeza

Acción¿Crea versión?¿Visible al público?
Editar borradorNoNo
PublicarSí (en /a/<slug>)
DespublicarNoNo (404)
RepublicarSí (nueva)
Restaurar antigua + publicarSí (nueva con código viejo)