Sync and account

How the app shows sync state, resolves conflicts and handles the account, sign-in and sign-out.

Sync control

The Sync control's icon is one of four static cloud glyphs:

Glyph Shown for
Up to date Everything is synced.
Syncing Connecting, uploading, downloading, retrying and routine pending work.
Needs attention Only failures, reviews and an ended session.
Offline No connection.

Sync details

Top to bottom:

  1. The status glyph in a 48 dp sage tile and one Medium headline.
  2. “Sync now”, with “Retry” beside it when a local save failed.
  3. The last-sync line.
  4. “Needs your decision”, only when something needs the user.
  5. A collapsed “Details” disclosure.

Headline

The first matching condition sets the headline:

# Condition Headline
1 A local save failed “Couldn't save on this device”, with “Retry” beside “Sync now”
2 Session ended “Sign in to sync. Your notes are safe on this device.”
3 Conflicts or rejections “1 change needs your decision” / “N changes need your decision”
4 Sync stopped by a non-temporary error “Some changes couldn't upload. Your notes are safe on this device.”
5 Offline “Offline. Your changes are saved on this device.” Add “They will upload when you're back online.” only if something is queued.
6 First download “Downloading your notes for the first time”
7 Temporary error “Couldn't reach the server. Trying again. Your changes are safe.” It ranks above uploading because the upload is not progressing.
8 Uploading “Uploading 2 notes…”
9 Ink waiting for a trigger “2 notes not uploaded yet”, with “Sync now” as the primary action
10 Synced The synced headline

Last-sync line

Needs your decision

One item per conflict, rejected page or rejected record. Each names the note (a journal by its date, a ToDo by its shortened text) and the page number.

Item Actions
Conflict “Review”
Rejected page “Retry”, “Use other version”
Rejected page the server never accepted Reads “the page isn't on the server yet”; “Retry”, “Discard my ink”
Rejected record “Retry”

Details

Closing

Conflicts and rejected changes

Conflict review

Choice Result
“This device” Replaces the server's page.
“Other device” Discards this device's edits.
“Both” Keeps this device's page and inserts the other device's version as a new page right after it.

Rejected changes

Account

Access gates

Full-screen messages that replace the app:

Gate Title Actions
Subscription ended “Your subscription has ended” “Subscribe”, “Restore purchases”, “Sign out”. Notes stay hidden until access is active again.
Session expired “Session expired, sign in to continue” “Sign in” (same account only; local data is kept), “Sign out” in red (warns that all local data will be deleted)
First download “Syncing with remote…” None. Shown after Restore purchase until the first download is applied.

Signing in

Signed out, the app shows one multi-step modal and nothing else. No social providers are offered.

Step Content
Welcome “Sign Up”, “Free Trial”, “Restore purchase”.
Sign Up Step 1 lists CHF 9 / month and CHF 50 / year as fixed text. Step 2 says subscriptions are coming soon and offers “Free Trial” and “Back”.
Free Trial Explains the one-month trial, then asks for the email and the 6-digit code. Success opens the app immediately.
Restore purchase Signs in with an email code or a passkey.

Signing out

Limits and behaviour