Onboarding error when upgrading to 0.6.2: "Could not save onboarding progress. Please try again."

Aberta
#3,770 1 comentário 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

@yashranaway já está trabalhando nisso.

Desde 5/11/2026.

  • #3778 de @yashranaway — aberto

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
48/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
macos, rust
Domínio
backend, desktop

Direção de pesquisa

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.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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)

  1. Use the previous Cap version normally.
  2. Accept the in-app update to 0.6.2. The old app exits to install it.
  3. Launch 0.6.2. The Welcome screen appears.
  4. 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:

  1. Data loss. Something in the old app's exit or update path truncated store without writing new contents (possibly a non-atomic write interrupted at exit). Writing the store through a temp file plus rename, as gpui-state.json already does, would prevent this.
  2. 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.

Linguagem predominante
Rust
Estrelas
24.2k
Forks
2.2k
Merge médio
1d 10h
PRs com merge (30d)
689

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de CapSoftware/Cap

Todas as issues de CapSoftware/Cap

Issues semelhantes

Mais issues de Rust

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.