Skip to content

feat(prompts): move the arrow to the edge of the page before the list scrolls - #254

Merged
SakshiKoli-CS merged 1 commit into
v2-devfrom
cl-7168
Oct 26, 2026
Merged

SakshiKoli-CS merged 1 commit into
v2-devfrom
cl-7168

Conversation

@SakshiKoli-CS

Copy link
Copy Markdown
Contributor

What

Ticket: CL-7168. Follow-up to #251.

#251 made every list show seven options and scroll. inquirer's own paginator held the arrow in the middle of the page and slid the list under it, then let the arrow move again over the last few rows. So the arrow seemed stuck while the options jumped up and down.

Every list, checklist and the organization and project pickers now page through pageScroller in src/core/search-list.ts:

  • The page stays still while the arrow moves down to its bottom row, or up to its top row.
  • Only then does the list scroll, one row at a time, with the arrow kept on that row.
  • It stops at the first and last option, as before.

launchPaginated gives each list / checkbox prompt its own scroller, since it remembers which row the page starts at. That scroller also prints (Use ↑/↓ to see more options), so the upstream hint no longer needs rewriting. The org and project pickers use the same scroller. AGENTS.md is updated to match.

Tests

  • npm test: 139 suites, 2435 tests pass. The pageScroller tests cover:
    • the page staying still while the arrow moves down;
    • scrolling one row at a time from the bottom row;
    • stopping at the end;
    • the same on the way back up;
    • opening on the page that holds a choice offered further down the list;
    • each prompt getting its own scroller.
  • On a real terminal against dev11, the env:update checklist (12 settings, 7 per page):
Presses of ↓ Page shown Arrow on
3 Name … Output directory Framework preset (row 4)
6 Name … Output directory Output directory (row 7)
7 Description … Response mode Response mode (row 7)
9 Framework preset … Contentstack Authentication Contentstack Authentication (row 7)
11 Server command … Password protection Password protection (row 7)

#claude_code#
🤖 Generated with Claude Code

… scrolls

inquirer's paginator held the arrow in the middle of the page and slid the list under it, then let
the arrow move again over the last rows, so the arrow seemed stuck and the options jumped. Every
list, checklist and the org and project pickers now page through pageScroller: the page stays
still while the arrow moves to its top or bottom row, then scrolls one row at a time with the
arrow kept on that row, and stops at both ends. launchPaginated gives each list and checkbox
prompt its own scroller (it remembers the first row shown), which also prints
"(Use ↑/↓ to see more options)", so the upstream hint no longer needs rewriting.

#claude_code#
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Harshi Shah <harshi.shah@contentstack.com>
Co-Authored-By: Claude <noreply@anthropic.com>
@SakshiKoli-CS
SakshiKoli-CS requested review from a team as code owners October 26, 2026 13:34
@snyk-io

snyk-io Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

✅ Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
✅ Open Source Security 0 0 0 0 0 issues
✅ Licenses 0 0 0 0 0 issues
✅ Code Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 1 9 25 ✅ Passed
🟡 Medium Severity 0 4 500 ✅ Passed
🔵 Low Severity 0 0 1000 ✅ Passed

⏱️ SLA Breach Summary

✅ No SLA breaches detected. All vulnerabilities are within acceptable time thresholds.

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 0 0 30 / 120 days ✅ Passed
🟡 Medium 0 0 90 / 365 days ✅ Passed
🔵 Low 0 0 180 / 365 days ✅ Passed

ℹ️ Vulnerabilities Without Available Fixes (Informational Only)

The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:

  • Critical without fixes: 0
  • High without fixes: 9
  • Medium without fixes: 4
  • Low without fixes: 0

✅ BUILD PASSED - All security checks passed

@SakshiKoli-CS
SakshiKoli-CS merged commit 63801c9 into v2-dev Oct 26, 2026
7 checks passed
@SakshiKoli-CS
SakshiKoli-CS deleted the cl-7168 branch October 26, 2026 14:17
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