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
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
QSettingsgrouptours/<id>→{ status, step, version, at }(status = completed|dismissed|in_progress). Survives restarts.QtMeshCloudSession), sync viaGET/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).versionmay re-show once; same version never re-nags after completion/dismissal.Acceptance criteria
/v1/me/toursand merges with local.