Skip to content

Onboard: O-P3 tour state & persistence (QSettings + cloud sync) #809

Description

@fernandotonon

Part of #806 — Onboard: guided tours (editor). Depends on O-P1/O-P2.

Goal

Persist which tours the user has seen and, when signed in, share that state with the web client.

Work

  • Local: QSettings group tours/<id>{ status, step, version, at } (status = completed|dismissed|in_progress). Survives restarts.
  • Cloud sync: when logged in (reuse QtMeshCloudSession), sync via GET/PUT /v1/me/tours (the endpoint from web T-P2), merging local + remote so a tip dismissed on the website doesn't reappear in the editor (and vice-versa).
  • Version-aware: a bumped tour version may re-show once; same version never re-nags after completion/dismissal.

Acceptance criteria

  • Completed/dismissed tours don't auto-show again (same version), across restarts.
  • When logged in, state round-trips through /v1/me/tours and merges with local.
  • Bumping a version allows a one-time re-show.
  • Works fully offline (local-only), syncing when a session is available.

Metadata

Metadata

Assignees

No one assigned

    Labels

    editorenhancementNew feature or requestonboarding-toursGuided spotlight tours / feature discovery (epic prefix: Onboard:)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions