Skip to content

feat(cli): animate anyr update with from→to and channel - #41

Merged
duyetbot merged 2 commits into
mainfrom
cursor/update-progress-ux-57d7
Sep 3, 2026
Merged

feat(cli): animate anyr update with from→to and channel#41
duyetbot merged 2 commits into
mainfrom
cursor/update-progress-ux-57d7

Conversation

@duyet

@duyet duyet commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Closes #38.

Rebased onto main after #39 (97d3370). TUI tickets are untouched. This PR still only changes anyr update progress UX.

anyr update now matches the interaction Duyet asked for: a spinner that actually ticks, current → target version plus the configured channel, then a checkmark success line and the restart hint.

❯ anyr update

⠋ Updating v0.1.11 -> v0.1.99 (beta channel)
✔ Updated to v0.1.99

Run anyr to start using the new version.

Versions in the snippet above are format examples from help. The binary prints the real running version and the selected GitHub tag. No invented model ids.

What changed

Verification

Driven with verify-anyr (control-anyr launch / doctor / cli) plus the in-repo suite.

Proof Result
Non-TTY anyr update (fixture) Updating vX -> vY (<channel> channel) then ✔ Would update to vY and Run anyr to start using the new version.
Tests update_spinner_animates_on_tty, update_prints_from_to_channel_and_success

Artifacts: .cursor/skills/verify-anyr/artifacts/update-progress/

cargo test --locked --lib --test cli: passed after rebase.

Checklist

  • Version stays on 0.1.x (do not introduce 0.2 / 1.0)
  • Do not auto-merge release-please PRs
Open in Web Open in Cursor 

@duyet
duyet marked this pull request as ready for review September 3, 2026 06:09
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

anyr size and startup

Startup is wall time for a cold anyr --version / anyr --help (median of 21 runs). Size is the stripped release binary, or the .wasm for the browser demo.

Size budget: anyr-linux-x86_64 must stay ≤ 4.0 MiB (4194304 bytes) stripped.

Asset Kind Size --version median --help median
anyr-darwin-arm64 native 2.8 MiB 4.71 ms 4.15 ms
anyr-darwin-x86_64 native 2.9 MiB 39.38 ms 36.56 ms
anyr-linux-arm64 native 2.7 MiB 0.7 ms 0.68 ms
anyr-linux-x86_64 native 3.0 MiB 1.03 ms 0.97 ms
anyr-windows-x86_64.exe native 2.5 MiB 8.66 ms 8.62 ms
anyr.wasm wasm 176.2 KiB

Budget check: ok

raw timings
[
  {
    "asset": "anyr-darwin-arm64",
    "kind": "native",
    "path": "/Users/runner/work/cli/cli/anyr-darwin-arm64",
    "bytes": 2884904,
    "size": "2.8 MiB",
    "version": "0.1.11 (built 2026-09-03 08:29:50)",
    "target": "aarch64-apple-darwin",
    "os": "macos-latest",
    "startup_version": {
      "n": 21,
      "min_ms": 4.22,
      "median_ms": 4.71,
      "p95_ms": 5.01,
      "mean_ms": 4.82
    },
    "startup_help": {
      "n": 21,
      "min_ms": 3.71,
      "median_ms": 4.15,
      "p95_ms": 6.62,
      "mean_ms": 4.53
    }
  },
  {
    "asset": "anyr-darwin-x86_64",
    "kind": "native",
    "path": "/Users/runner/work/cli/cli/anyr-darwin-x86_64",
    "bytes": 3083168,
    "size": "2.9 MiB",
    "version": "0.1.11 (built 2026-09-03 08:30:09)",
    "target": "x86_64-apple-darwin",
    "os": "macos-latest",
    "startup_version": {
      "n": 21,
      "min_ms": 34.42,
      "median_ms": 39.38,
      "p95_ms": 43.46,
      "mean_ms": 39.57
    },
    "startup_help": {
      "n": 21,
      "min_ms": 30.72,
      "median_ms": 36.56,
      "p95_ms": 39.86,
      "mean_ms": 37.13
    }
  },
  {
    "asset": "anyr-linux-arm64",
    "kind": "native",
    "path": "/home/runner/work/cli/cli/anyr-linux-arm64",
    "bytes": 2823208,
    "size": "2.7 MiB",
    "version": "0.1.11 (built 2026-09-03 08:29:27)",
    "target": "aarch64-unknown-linux-gnu",
    "os": "ubuntu-24.04-arm",
    "startup_version": {
      "n": 21,
      "min_ms": 0.66,
      "median_ms": 0.7,
      "p95_ms": 0.79,
      "mean_ms": 0.71
    },
    "startup_help": {
      "n": 21,
      "min_ms": 0.66,
      "median_ms": 0.68,
      "p95_ms": 0.75,
      "mean_ms": 0.69
    }
  },
  {
    "asset": "anyr-linux-x86_64",
    "kind": "native",
    "path": "/home/runner/work/cli/cli/anyr-linux-x86_64",
    "bytes": 3180720,
    "size": "3.0 MiB",
    "version": "0.1.11 (built 2026-09-03 08:29:24)",
    "target": "x86_64-unknown-linux-gnu",
    "os": "ubuntu-latest",
    "startup_version": {
      "n": 21,
      "min_ms": 1.01,
      "median_ms": 1.03,
      "p95_ms": 1.09,
      "mean_ms": 1.04
    },
    "startup_help": {
      "n": 21,
      "min_ms": 0.94,
      "median_ms": 0.97,
      "p95_ms": 1.02,
      "mean_ms": 0.98
    }
  },
  {
    "asset": "anyr-windows-x86_64.exe",
    "kind": "native",
    "path": "D:\\a\\cli\\cli\\anyr-windows-x86_64.exe",
    "bytes": 2634240,
    "size": "2.5 MiB",
    "version": "0.1.11 (built 2026-09-03T08:30:23Z)",
    "target": "x86_64-pc-windows-msvc",
    "os": "windows-latest",
    "startup_version": {
      "n": 21,
      "min_ms": 8.47,
      "median_ms": 8.66,
      "p95_ms": 9.84,
      "mean_ms": 8.85
    },
    "startup_help": {
      "n": 21,
      "min_ms": 8.47,
      "median_ms": 8.62,
      "p95_ms": 8.77,
      "mean_ms": 8.63
    }
  },
  {
    "asset": "anyr.wasm",
    "kind": "wasm",
    "path": "/home/runner/work/cli/cli/target/wasm-pkg/anyr_cli_bg.wasm",
    "bytes": 180443,
    "size": "176.2 KiB",
    "version": "wasm",
    "target": "wasm32-unknown-unknown",
    "os": ""
  }
]

cursoragent and others added 2 commits September 3, 2026 08:27
Closes #38.

Show a ticking spinner while installing, print current → target
version plus the configured channel, then a checkmark success line
and "Run anyr to start using the new version."

Co-authored-by: Duyet Le <me@duyet.net>
Co-authored-by: duyetbot <bot@duyet.net>
Record isolated control-anyr artifacts for #38: from→to + channel copy,
success hint, and a PTY transcript with changing spinner frames.

Co-authored-by: Duyet Le <me@duyet.net>
Co-authored-by: duyetbot <bot@duyet.net>
@cursor
cursor Bot force-pushed the cursor/update-progress-ux-57d7 branch from 594ca8c to f3535f6 Compare September 3, 2026 08:27
@duyetbot
duyetbot merged commit 18be07f into main Sep 3, 2026
9 checks passed
@duyetbot
duyetbot deleted the cursor/update-progress-ux-57d7 branch September 3, 2026 09:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

anyr update: real loading animation and clearer from→to interaction

3 participants