Onboarding error when upgrading to 0.6.2: "Could not save onboarding progress. Please try again."
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
Línea de trabajo
Start with apps/desktop-gpui/src/store.rs and inspect read_store and the write path; the report says empty files block onboarding saves, while the cause of the update truncation is still uncertain. Trace the old app's update and exit path to identify how store is written. Done means the app can recover from an empty store and the update path preserves existing settings across interruption.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Hi Cap team, love the app thanks for the effort you put into it.
Had this small issue when upgrading to 0.6.2 today - Claude analysis below
macOS: updating to 0.6.2 left the settings store file empty (0 bytes), and 0.6.2 then can't get past onboarding ("Could not save onboarding progress")
Summary
The in-app update to 0.6.2 left ~/Library/Application Support/so.cap.desktop/store empty (0 bytes). On first launch, the new GPUI app reads that file, fails to parse it, and refuses every write. The Welcome screen then shows "Could not save onboarding progress. Please try again." every time you press Get Started, so you can't get past onboarding. All previous settings are lost too.
Environment
- Cap 0.6.2 (updated in-app from the previous Tauri build)
- macOS 26.4.1 (25E253), Apple Silicon (arm64)
Steps to reproduce (what happened)
- Use the previous Cap version normally.
- Accept the in-app update to 0.6.2. The old app exits to install it.
- Launch 0.6.2. The Welcome screen appears.
- Press Get Started. It shows "Could not save onboarding progress. Please try again." and nothing happens.
Evidence
The store file's modification time matches the old app's exit during the update, and its size is 0:
-rw-r--r-- 0 Nov 5 20:46 so.cap.desktop/store
cap-desktop.log (old app), with the times in UTC:
07:41:38Z INFO cap_desktop_lib::updates: Installing update 0.6.2
07:42:11Z INFO cap_desktop_lib::updates: Installing update 0.6.2
07:46:09Z INFO cap_desktop_lib: App exit requested code=Some(2147483647)
07:46:09Z INFO cap_desktop_lib: Exit cleanup completed elapsed_ms=2
cap-gpui.log (0.6.2) logs this from the first second after launch, and again on every attempt to save:
07:47:40Z ERROR cap_gpui::store: the Tauri store did not parse (EOF while parsing a value at line 1 column 0); refusing to write to it
Analysis
In apps/desktop-gpui/src/store.rs, read_store treats a missing file as an empty store. It treats a file that exists but doesn't parse as None and blocks all writes, so it never replaces someone's settings with a fresh object. That protection makes sense for real corruption. A 0-byte file is a different case: there's nothing left to protect, and refusing to write leaves the app permanently stuck at onboarding.
There appear to be two problems:
- Data loss. Something in the old app's exit or update path truncated
storewithout writing new contents (possibly a non-atomic write interrupted at exit). Writing the store through a temp file plus rename, asgpui-state.jsonalready does, would prevent this. - No recovery. 0.6.2 should handle an empty file (or whitespace only) the same way as a missing one. For a file that really is corrupt, it could move it aside (for example to
store.corrupt-<timestamp>) and start fresh, instead of blocking onboarding with no explanation. At least the onboarding error could tell the user why the save failed.
Workaround
Quit Cap, then move the empty file aside and relaunch:
mv ~/Library/Application\ Support/so.cap.desktop/store ~/Library/Application\ Support/so.cap.desktop/store.empty-backup
Cap recreates a valid store and onboarding completes. Previous settings are not recovered.
- Lenguaje dominante
- Rust
- Estrellas
- 24.2k
- Forks
- 2.2k
- Merge medio
- 1 d 10 h
- PR fusionados (30 d)
- 689
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de CapSoftware/Cap
-
Download, FAQ, privacy and terms pages have no meta descriptionPosiblemente ocupada @patrickballard la tomó hace 3 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
CapSoftware/Cap#3675 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
self hosting
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
CapSoftware/Cap#2384 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dashboard pagination causes full page reloads on self-hosted CapPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
CapSoftware/Cap#2305 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
CapSoftware/Cap#1714 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
Speed and trim tools can't open WebM files without a duration, including the speed tool's own outputPosiblemente ocupada @patrickballard la tomó hace 1 día. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
CapSoftware/Cap#3862 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de CapSoftware/Cap
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
ScoopInstaller/Extras#19275 ·
Los mantenedores suelen responder en 1 día
-
area:plugins kind:bug priority:p2 ready
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
bug priority: medium ui
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
storytold/gridcraft#3496 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bip39: Mnemonic::new_from_phrase rejects phrases with extra or non-space whitespacePosiblemente ocupada @chukwudiikeh la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
Los mantenedores suelen responder en 1 día