Repository navigation
feat(cli): show the voltage wordmark after a terminal login - #106
Conversation
655b301 to
01ff3ef
Compare
tee8z
left a comment
There was a problem hiding this comment.
Approved 01ff3ef against feat/cli-look-06-brand (#105 80f0dec). The wordmark goes only to stderr, and only when stderr is a terminal. It is hidden with --quiet through notice_line. It is 39 ASCII columns, and the 40-column fits gate handles COLUMNS. Only static text is drawn, and anstream strips the color with NO_COLOR or TERM=dumb.
Nonblocking: the CHANGELOG line, "a lightning bolt beside the name in Voltage orange", reads as if the bolt is orange, but the code paints it yellow (Role::Bolt), as the guide correctly says. No terminal test covers --quiet hiding the wordmark.
Validation on this head, in nix develop: cargo fmt --check, cargo clippy --locked --all-targets -- -D warnings, cargo machete --with-metadata, cargo test --locked (158 unit, 126 integration) and python3 scripts/check-coverage.py passed. The CRAP report did not finish: its instrumented run hit the known flaky #75 terminal test (a_profile_saved_after_login_keeps_changes_made_while_its_prompt_was_open), which #104 addresses. CI has not run on this head. The stack also needs a rebase onto master.
01ff3ef to
ddfe16f
Compare
A successful voltage login on an interactive stderr shows a five-line ASCII wordmark above "Logged in as": a yellow lightning bolt beside the name in figlet's smslant font, in Voltage orange. It is left out on a terminal narrower than 40 columns, with --quiet, and when stderr is redirected.
ddfe16f to
4e764c3
Compare
tee8z
left a comment
There was a problem hiding this comment.
Re-approved 4e764c3, a rebase onto #105 73ba6b3. The code matches 01ff3ef, which I approved; only the login guide's sentence changed, picking up #96's countdown wording. Validation on this head, in nix develop: cargo fmt --check, cargo clippy --locked --all-targets -- -D warnings, cargo machete --with-metadata, cargo test --locked (172 unit, 133 integration) and python3 scripts/check-coverage.py passed. CRAP: 750 measured functions, none at or above 20, highest wait_for_payment at 17.05. CRAP passed on its second run, after a pseudo-terminal timeout on the first (#104). CI is green. This also closes the gap from my earlier approval, which had no finished CRAP report.
Stack position: 7 of 13 in the look-and-feel stack. Base:
feat/cli-look-06-brand(#105), whose brand color this uses.Problem
Signing in is the first moment a person spends with the CLI, and it ended on a plain line. Nothing on the terminal said "Voltage".
Behavior
After a successful
voltage loginon an interactive stderr:smslantfont. ASCII only, so every font draws it; five lines, 39 columns wide.Boltrole that is decoration only, never a status.--quiet, and when stderr is redirected. Never on stdout.voltage.Try it on staging
Setup: Try a pull request on staging (added by #97).
Expect: after you approve in the browser, the yellow bolt and orange wordmark, then
✓ Logged in as ….Expect: no wordmark in any of them. The first still shows
✓ Logged in as. The second hides that line too. The third prints the old plain lines.Validation
cargo fmt --check,cargo clippy --locked --all-targets -- -D warnings,cargo machete --with-metadata,cargo test --locked(158 unit and 126 integration tests), andpython3 scripts/check-coverage.pyall pass.✓ Logged in as, and that the first line has the exact bolt and brand escape sequences.src/cli.rsendpoint, untouched).Docs
docs/guides/login-and-profiles.mdandCHANGELOG.md.