Skip to content

feat(wallet): add remote-host handoff for wallet login and funding#388

Merged
Slokh merged 11 commits intotempoxyz:mainfrom
pejmanjohn:codex/tempo-wallet-openclaw-friendly
Mar 27, 2026
Merged

feat(wallet): add remote-host handoff for wallet login and funding#388
Slokh merged 11 commits intotempoxyz:mainfrom
pejmanjohn:codex/tempo-wallet-openclaw-friendly

Conversation

@pejmanjohn
Copy link
Copy Markdown
Contributor

This adds an explicit remote-host path for tempo wallet login and tempo wallet fund via --no-browser, plus the CLI, skill, and README guidance that remote agents need to hand the flow off to a user on another device.

OpenClaw-style agents run the CLI on one host while the human approves wallet actions from another device. Today the CLI already prints the auth URL/code, but the flow still defaults to opening a browser on the host and the narration stays same-machine oriented. This change makes that remote handoff a supported path without regressing the default local browser flow.

What changed:

  • add --no-browser to tempo wallet login and tempo wallet fund
  • print remote-safe handoff instructions for the no-browser paths while keeping the default local prompts unchanged
  • document the remote branch in SKILL.md, README.md, and crates/tempo-wallet/README.md
  • add black-box coverage for remote vs local login/funding behavior

This improves the CLI contract for remote-host agents, but it does not change wallet/auth backend semantics. If wallet creation still requires a second authorization round before the host is fully authorized, that follow-up still needs to be fixed outside this repo.

Verification:

  • cargo fmt --all --check
  • cargo clippy --workspace --all-targets --all-features --locked -- -D warnings
  • cargo run -p tempo-wallet -- login --help
  • cargo run -p tempo-wallet -- fund --help
  • cargo test -p tempo-wallet --test remote_flows -- --nocapture
  • RUSTDOCFLAGS='-D warnings' cargo doc --workspace --all-features --no-deps --locked
  • cargo test --workspace --all-features --locked is flaky locally because payment::session::streaming::tests::submit_voucher_update_caches_head_unsupported_per_origin in tempo-request intermittently fails in the full suite while isolated reruns pass

Copy link
Copy Markdown
Collaborator

@Slokh Slokh left a comment

Choose a reason for hiding this comment

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

thanks for this, few comments

@Slokh
Copy link
Copy Markdown
Collaborator

Slokh commented Mar 27, 2026

@pejmanjohn can you lint / fmt / add changelog entry, thanks! lgtm to merge otherwise

@pejmanjohn
Copy link
Copy Markdown
Contributor Author

pejmanjohn commented Mar 27, 2026

@Slokh hopefully this addresses everything - if not lmk!

Pushed cd24f87 with the maintainer follow-up. This adds the required fork PR changelog fragment under .changelog/remote-wallet-no-browser.md and applies the nightly-rustfmt import regroup in login.rs that the fmt job was flagging. Fresh local verification on the merged branch: cargo clippy -p tempo-wallet --all-targets --all-features --locked -- -D warnings and cargo test -p tempo-wallet --all-features --locked.

@Slokh
Copy link
Copy Markdown
Collaborator

Slokh commented Mar 27, 2026

@pejmanjohn Looks good, I'll merge and do a 0.2.2 release for you, since we don't have any plans for changes in the next week.

@Slokh Slokh enabled auto-merge (squash) March 27, 2026 15:02
@Slokh Slokh merged commit 2358dbb into tempoxyz:main Mar 27, 2026
10 checks passed
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