Skip to content

fix: resolve 4 bugs in termui - #3505

Open
saurabhhhcodes wants to merge 1 commit into
Karanjot786:mainfrom
saurabhhhcodes:fix/termui-40324
Open

fix: resolve 4 bugs in termui#3505
saurabhhhcodes wants to merge 1 commit into
Karanjot786:mainfrom
saurabhhhcodes:fix/termui-40324

Conversation

@saurabhhhcodes

@saurabhhhcodes saurabhhhcodes commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Description

This PR fixes real bugs found in the codebase:

  • Simplified empty-string validation: comparing trim() to '' misses whitespace-only input; .trim().length === 0 is explicit.
  • Added explicit radix to parseInt: without 10, strings like '0x1F' or '08' parse in unintended bases.
  • Simplified empty-string validation: comparing trim() to '' misses whitespace-only input; .trim().length === 0 is explicit.
  • Replaced global isNaN with Number.isNaN: the global version coerces its argument, so isNaN('1') returns false while Number.isNaN is strict.

Type of Change

  • Bug fix (non-breaking change fixing an issue)

How Has This Been Tested?

  • Local manual testing

Checklist

  • My code follows the style guidelines
  • I have performed a self-review

Related Issue

Ref: #3504

Summary by CodeRabbit

  • Bug Fixes
    • Fixed calculator's handling of negative number validation for improved accuracy
    • Enhanced chat app's paragraph parsing to properly recognize whitespace-only lines as empty paragraphs
    • Improved showcase example's tab-selection key parsing with explicit base-10 number conversion

@github-actions github-actions Bot added type:bug +10 pts. Bug fix. area:examples Example apps. labels Aug 4, 2026
@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: cb8a74e3-20b9-4b3a-8af8-50547047ee4a

📥 Commits

Reviewing files that changed from the base of the PR and between 6c7584e and 5928f0f.

📒 Files selected for processing (3)
  • examples/calculator/src/index.tsx
  • examples/chat-app/src/index.tsx
  • examples/showcase/src/index.tsx

📝 Walkthrough

Walkthrough

Three example applications receive small input-handling corrections for numeric validation, whitespace-only paragraphs, and decimal tab-key parsing.

Changes

Calculator numeric validation

Layer / File(s) Summary
Safe evaluation validation
examples/calculator/src/index.tsx
safeEval converts the negative-number token before applying Number.isNaN.

Chat whitespace parsing

Layer / File(s) Summary
Whitespace-only paragraph detection
examples/chat-app/src/index.tsx
parseBlocks treats whitespace-only lines as empty paragraphs.

Showcase tab key parsing

Layer / File(s) Summary
Decimal tab key parsing
examples/showcase/src/index.tsx
handleKey parses tab-selection keys with radix 10.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested reviewers: karanjot786

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description explains the fixes and testing, but it omits required package and GSSoC sections and does not use the required issue-closing syntax. Add the package section, complete the GSSoC section, and replace Ref: #3504 with `Closes `#3504; complete any applicable template checklist items.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the pull request as a bug fix for four TermUI bugs.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:examples Example apps. type:bug +10 pts. Bug fix.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant