Repository navigation
feat(apps): say whether a visibility change waits for review or is listed - #118
Conversation
…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>
anyr size and startupStartup is wall time for a cold Size budget:
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
left a comment
There was a problem hiding this comment.
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>
Why
anyr publish <app> --visibility private|unlisted|publicandanyr apps visibility <app> <id> <level>already shipped in #108. The visibility command printed onlyis now public. It dropped the server'sstatus, 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, sopubliccan also come backacceptedand listed at once.Change
anyr apps visibilityprints what the new level means, read from the reply:public,pending_reviewis now public: pending review before it is listed publiclypublic,acceptedis now public: listed publiclypublic,rejectedis now public: rejected in review, so it is not listedunlistedis now unlisted: anyone with the link can open it; not listedprivateis now private: only you can open it--jsonoutput is unchanged. No app is named in the source.Verification
cargo test --locked --test publish: 14 passed, including the newapps_visibility_public_says_whether_it_waits_for_review_or_is_listed.cargo clippy --locked --all-targetsandcargo fmtclean.🤖 Generated with Claude Code