Skip to content

feat(apps): say whether a visibility change waits for review or is listed - #118

Merged
duyet merged 2 commits into
mainfrom
feat/apps-visibility-status
Oct 23, 2026
Merged

duyet merged 2 commits into
mainfrom
feat/apps-visibility-status

Conversation

@duyet

@duyet duyet commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

Why

anyr publish <app> --visibility private|unlisted|public and anyr apps visibility <app> <id> <level> already shipped in #108. The visibility command printed only is now public. It dropped the server's status, so an owner who made a figure public was never told it waits for review. The server side (duyet/anyrouter, Explain figure visibility) now keeps approval across visibility changes, so public can also come back accepted and listed at once.

Change

anyr apps visibility prints what the new level means, read from the reply:

Reply Message
public, pending_review is now public: pending review before it is listed publicly
public, accepted is now public: listed publicly
public, rejected is now public: rejected in review, so it is not listed
unlisted is now unlisted: anyone with the link can open it; not listed
private is now private: only you can open it

--json output is unchanged. No app is named in the source.

Verification

cargo test --locked --test publish: 14 passed, including the new apps_visibility_public_says_whether_it_waits_for_review_or_is_listed. cargo clippy --locked --all-targets and cargo fmt clean.

🤖 Generated with Claude Code

…sted

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Co-authored-by: Duyet Le <me@duyet.net>
Co-authored-by: duyetbot <bot@duyet.net>
@github-actions

github-actions Bot commented Oct 23, 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 3.0 MiB 5.9 ms 3.89 ms
anyr-darwin-x86_64 native 3.2 MiB 28.59 ms 27.9 ms
anyr-linux-arm64 native 3.0 MiB 0.77 ms 0.75 ms
anyr-linux-x86_64 native 3.3 MiB 1.03 ms 0.97 ms
anyr-windows-x86_64.exe native 2.8 MiB 9.58 ms 9.26 ms
anyr.wasm wasm 194.9 KiB — —

Budget check: ok

raw timings
[
  {
    "asset": "anyr-darwin-arm64",
    "kind": "native",
    "path": "/Users/runner/work/cli/cli/anyr-darwin-arm64",
    "bytes": 3195688,
    "size": "3.0 MiB",
    "version": "0.1.21 (built 2026-10-23 09:04:35)",
    "target": "aarch64-apple-darwin",
    "os": "macos-latest",
    "startup_version": {
      "n": 21,
      "min_ms": 4.21,
      "median_ms": 5.9,
      "p95_ms": 8.89,
      "mean_ms": 6.33
    },
    "startup_help": {
      "n": 21,
      "min_ms": 3.43,
      "median_ms": 3.89,
      "p95_ms": 6.46,
      "mean_ms": 4.34
    }
  },
  {
    "asset": "anyr-darwin-x86_64",
    "kind": "native",
    "path": "/Users/runner/work/cli/cli/anyr-darwin-x86_64",
    "bytes": 3403488,
    "size": "3.2 MiB",
    "version": "0.1.21 (built 2026-10-23 09:03:47)",
    "target": "x86_64-apple-darwin",
    "os": "macos-latest",
    "startup_version": {
      "n": 21,
      "min_ms": 27.2,
      "median_ms": 28.59,
      "p95_ms": 35.62,
      "mean_ms": 30.05
    },
    "startup_help": {
      "n": 21,
      "min_ms": 27.53,
      "median_ms": 27.9,
      "p95_ms": 31.4,
      "mean_ms": 28.88
    }
  },
  {
    "asset": "anyr-linux-arm64",
    "kind": "native",
    "path": "/home/runner/work/cli/cli/anyr-linux-arm64",
    "bytes": 3151016,
    "size": "3.0 MiB",
    "version": "0.1.21 (built 2026-10-23 09:03:36)",
    "target": "aarch64-unknown-linux-gnu",
    "os": "ubuntu-24.04-arm",
    "startup_version": {
      "n": 21,
      "min_ms": 0.71,
      "median_ms": 0.77,
      "p95_ms": 0.84,
      "mean_ms": 0.77
    },
    "startup_help": {
      "n": 21,
      "min_ms": 0.7,
      "median_ms": 0.75,
      "p95_ms": 0.82,
      "mean_ms": 0.76
    }
  },
  {
    "asset": "anyr-linux-x86_64",
    "kind": "native",
    "path": "/home/runner/work/cli/cli/anyr-linux-x86_64",
    "bytes": 3498152,
    "size": "3.3 MiB",
    "version": "0.1.21 (built 2026-10-23 09:03:48)",
    "target": "x86_64-unknown-linux-gnu",
    "os": "ubuntu-latest",
    "startup_version": {
      "n": 21,
      "min_ms": 0.96,
      "median_ms": 1.03,
      "p95_ms": 1.16,
      "mean_ms": 1.06
    },
    "startup_help": {
      "n": 21,
      "min_ms": 0.92,
      "median_ms": 0.97,
      "p95_ms": 1.25,
      "mean_ms": 1.0
    }
  },
  {
    "asset": "anyr-windows-x86_64.exe",
    "kind": "native",
    "path": "D:\\a\\cli\\cli\\anyr-windows-x86_64.exe",
    "bytes": 2916352,
    "size": "2.8 MiB",
    "version": "0.1.21 (built 2026-10-23T09:05:13Z)",
    "target": "x86_64-pc-windows-msvc",
    "os": "windows-latest",
    "startup_version": {
      "n": 21,
      "min_ms": 9.36,
      "median_ms": 9.58,
      "p95_ms": 10.17,
      "mean_ms": 9.77
    },
    "startup_help": {
      "n": 21,
      "min_ms": 8.83,
      "median_ms": 9.26,
      "p95_ms": 10.46,
      "mean_ms": 9.47
    }
  },
  {
    "asset": "anyr.wasm",
    "kind": "wasm",
    "path": "/home/runner/work/cli/cli/target/wasm-pkg/anyr_cli_bg.wasm",
    "bytes": 199628,
    "size": "194.9 KiB",
    "version": "wasm",
    "target": "wasm32-unknown-unknown",
    "os": ""
  }
]

@duyetbot duyetbot left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

visibility message now follows the server reply's visibility and status (pending_review, accepted, rejected, unlisted, private); --json path unchanged; falls back to the requested level if the reply has none. Tests assert exact output for private, public/pending_review, public/accepted, unlisted; the no-app-name-in-source test passes. publish tests: 14 passed. Mutation of the accepted message made the new test fail. Nit: visibility_note was inserted between failure()'s doc comment and failure, so that comment now sits on visibility_note; move it back.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Co-authored-by: Duyet Le <me@duyet.net>
Co-authored-by: duyetbot <bot@duyet.net>
@duyet
duyet merged commit 4d538cd into main Oct 23, 2026
9 checks passed
@duyet
duyet deleted the feat/apps-visibility-status branch October 25, 2026 12:16
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.

2 participants