Skip to content

fix(onboard): mention 'none selected skips' in the messaging-channels prompt (#3471)#4026

Merged
cv merged 3 commits into
mainfrom
fix/3471-messaging-skip-prompt
May 22, 2026
Merged

fix(onboard): mention 'none selected skips' in the messaging-channels prompt (#3471)#4026
cv merged 3 commits into
mainfrom
fix/3471-messaging-skip-prompt

Conversation

@cjagwani
Copy link
Copy Markdown
Contributor

@cjagwani cjagwani commented May 22, 2026

Summary

Surface the implicit skip path in the messaging-channels selection prompt. Reporter pointed out that pre-selected channels force the user into the token prompt loop with no documented escape (the actual escape — pressing the digit to deselect, then Enter — only becomes obvious after entering an empty token at the next step).

Related Issue

Fixes #3471. Supersedes #3480 (WuKongAI-CMU), which carries the same intent but is blocked on (a) commit-verification failure (no_user) and (b) a stale-fork base-image build failure unrelated to the diff.

Changes

  • src/lib/onboard.ts: append "(none selected skips)" to the messaging selection prompt. Applied to the current prompt shape (main has refactored MESSAGING_CHANNELS.length to availableChannels.length).

Type of Change

  • Code change (feature, bug fix, or refactor)
  • Code change with doc updates
  • Doc only (prose changes, no code sample modifications)
  • Doc only (includes code sample changes)

Verification

  • npm run build:cli clean.
  • No secrets, API keys, or credentials committed.
  • Tests added or updated for new or changed behavior — intentionally none, see below.
  • Docs updated for user-facing behavior changes (prompt text only, no contract change).

On tests: the change is a one-line user-facing prompt text update. The original PR (#3480) added a source-text assertion that would be rejected by this repo's source-shape-test-budget hook (budget: 0). A meaningful behavior test would need to mock process.stderr + process.stdin (with raw mode) for a single string of UX copy — outsized for this scope.

⚠️ Committed with --no-verify (user-authorized): the pre-commit Test (CLI) hook hits unrelated timeout flakes on this macOS workstation (Defender/Spotlight contention). CI on Linux runners is the authoritative gate.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Updated the messaging-channel setup prompt to clarify that pressing Enter with no channels selected will skip the setup process.
    • Clarifies expected behavior during onboarding to reduce confusion and accidental selections.
    • No other onboarding behavior or flows were changed.

Review Change Stack

… prompt (#3471)

The messaging-channels step lists pre-selected channels (the marker
shows ●), and pressing Enter starts the per-channel token prompt loop
for every selected entry. A user who wants to skip messaging entirely
has to discover the implicit "press <number> to deselect everything,
then Enter" path; the empty-token escape route is documented only
after they hit the first token prompt.

Surface the skip path in the selection prompt itself so the escape
route is visible before the user commits to a selection.

Supersedes #3480 (WuKongAI-CMU): same intent, applied to the current
prompt shape (main has refactored `MESSAGING_CHANNELS.length` to
`availableChannels.length`). No test: the change is a user-facing
prompt-text update; the original PR's source-text assertion is the
shape this repo's `source-shape-test-budget` hook rejects (budget: 0).
A meaningful behavior test would need to mock process.stderr + stdin
for a single string of UX copy — outsized for this scope.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 22, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 3994a6d3-9147-4243-abf5-421246c9f380

📥 Commits

Reviewing files that changed from the base of the PR and between 191b81c and 94d9937.

📒 Files selected for processing (1)
  • src/lib/onboard.ts
✅ Files skipped from review due to trivial changes (1)
  • src/lib/onboard.ts

📝 Walkthrough

Walkthrough

The messaging channels onboarding prompt now explicitly clarifies that pressing Enter without selecting any channels will skip the messaging-channel setup step, removing ambiguity about the escape path.

Changes

Messaging Channel Skip Clarification

Layer / File(s) Summary
Messaging channels prompt text clarification
src/lib/onboard.ts
Updated the interactive TUI prompt to explicitly state that pressing Enter with no channels selected will skip the messaging-channel setup.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Suggested reviewers

  • ericksoa

Poem

A rabbit hops through onboarding light,
"Press Enter empty" now clear and bright,
No more guessing, no lost track,
Skip with a tap — just hit Enter back. 🐇✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the main change: adding a clarification message to the messaging-channels prompt about skipping when none are selected.
Linked Issues check ✅ Passed The PR change directly addresses issue #3471 by making the skip option explicit in the messaging-channels prompt, which was the primary goal to clarify the escape path.
Out of Scope Changes check ✅ Passed The change is minimal and focused: only one line modified in src/lib/onboard.ts to append the skip message, with no other unrelated modifications.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/3471-messaging-skip-prompt

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint skipped: no ESLint configuration detected in root package.json. To enable, add eslint to devDependencies.


Comment @coderabbitai help to get the list of available commands and usage tips.

…point budget

The previous commit reformatted the prompt write across three lines,
which the `onboard-entrypoint-budget` CI check rejects (`src/lib/onboard.ts`
is held net-neutral). Collapse back to a single line — same string,
zero net line delta.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 22, 2026

E2E Advisor Recommendation

Required E2E: None
Optional E2E: messaging-providers-e2e, channels-add-remove-e2e

Workflow run

Full advisor summary

E2E Recommendation Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required E2E

  • None.

Optional E2E

  • messaging-providers-e2e (high): Adjacent confidence for messaging-channel onboarding and provider/placeholder/L7 proxy behavior. It is not merge-blocking here because the PR changes only interactive prompt text and this job runs non-interactively, so it will not validate the exact prompt copy.
  • channels-add-remove-e2e (high): Optional adjacent lifecycle coverage for enabling/removing Telegram channels and rebuild persistence. It does not exercise the interactive onboarding selector, but can catch regressions in related messaging-channel state if maintainers want extra confidence.

New E2E recommendations

  • interactive onboarding UX (medium): Existing E2E coverage appears to exercise messaging onboarding primarily through non-interactive env-token paths and channel subcommands. There is no obvious E2E that drives the raw-mode single-keypress messaging selector and asserts that Enter with no selected channels prints 'Skipping messaging channels.' without creating providers or applying messaging policy.
    • Suggested test: Add a lightweight PTY-based onboarding/messaging-selector E2E or integration test that runs setupMessagingChannels interactively, verifies the prompt text including '(none selected skips)', toggles a channel, and verifies the empty-selection skip path.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 22, 2026

PR Review Advisor

Findings: 0 needs attention, 2 worth checking, 0 nice ideas
Since last review: 2 prior items resolved, 2 still apply, 0 new items found

Workflow run details

This is an automated advisory review. A human maintainer must make the final merge decision.

@github-actions
Copy link
Copy Markdown
Contributor

Selective E2E Results — ❌ Some jobs failed

Run: 26261117406
Target ref: 191b81cb0881dfe5d85e157810aadd7689ae7a1a
Workflow ref: main
Requested jobs: messaging-providers-e2e
Summary: 0 passed, 1 failed, 0 skipped

Job Result
messaging-providers-e2e ❌ failure

Failed jobs: messaging-providers-e2e. Check run artifacts for logs.

@cjagwani cjagwani added the v0.0.50 Release target label May 22, 2026
@cjagwani cjagwani requested a review from cv May 22, 2026 02:58
@cjagwani cjagwani added NemoClaw CLI Use this label to identify issues with the NemoClaw command-line interface (CLI). fix enhancement: ui Use this label to identify requests to improve NemoClaw web interface. labels May 22, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Selective E2E Results — ❌ Some jobs failed

Run: 26295296393
Target ref: 191b81cb0881dfe5d85e157810aadd7689ae7a1a
Workflow ref: main
Requested jobs: messaging-providers-e2e
Summary: 0 passed, 1 failed, 0 skipped

Job Result
messaging-providers-e2e ❌ failure

Failed jobs: messaging-providers-e2e. Check run artifacts for logs.

@cjagwani cjagwani self-assigned this May 22, 2026
@github-actions
Copy link
Copy Markdown
Contributor

E2E Scenario Advisor Recommendation

Required scenario E2E: None
Optional scenario E2E: None

Workflow run

Full scenario advisor summary

E2E Scenario Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required scenario E2E

  • None. No scenario workflow, scenario metadata, scenario runtime, or validation-suite files changed.

Optional scenario E2E

  • None.

Relevant changed files

  • None.

@cv cv merged commit 1f3f20c into main May 22, 2026
28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement: ui Use this label to identify requests to improve NemoClaw web interface. fix NemoClaw CLI Use this label to identify issues with the NemoClaw command-line interface (CLI). v0.0.50 Release target

Projects

None yet

Development

Successfully merging this pull request may close these issues.

UX issue: Why no skipping option for Messaging?

2 participants