Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ Each release entry covers the motivation, new features, breaking changes (if any

| Version | Blog post |
| ------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------- |
| [v1.8.3](https://fulll.github.io/github-code-search/blog/release-v1-8-3) | Fix TUI layout: header/footer anchoring, viewport packing, narrow-terminal clipping, active-row contrast |
| [v1.8.2](https://fulll.github.io/github-code-search/blog/release-v1-8-2) | Fix rate-limit errors aborting multi-page searches; auto-wait and retry with live progress |
| [v1.8.1](https://fulll.github.io/github-code-search/blog/release-v1-8-1) | Fix silent hang after pagination bar — concurrency cap + progress bar for line-number resolution |
| [v1.8.0](https://fulll.github.io/github-code-search/blog/release-v1-8-0) | Purple TUI theme, fetch progress bar, position indicator, line-anchored file links, Esc to close help |
Expand Down
1 change: 1 addition & 0 deletions docs/blog/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ Full release notes and changelogs are always available on

| Release | Highlights |
| -------------------------- | ---------------------------------------------------------------------------------------------------------- |
| [v1.8.3](./release-v1-8-3) | Fix TUI layout: header/footer anchoring, viewport packing and narrow-terminal rendering |
| [v1.8.2](./release-v1-8-2) | Fix rate-limit errors aborting multi-page searches — auto-wait and resume with live feedback |
| [v1.8.1](./release-v1-8-1) | Fix silent hang after pagination bar — concurrency cap + progress bar for line-number resolution |
| [v1.8.0](./release-v1-8-0) | Purple TUI theme, fetch progress bar, position indicator, line-anchored file links, Esc to close help |
Expand Down
55 changes: 55 additions & 0 deletions docs/blog/release-v1-8-3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
title: "What's new in v1.8.3"
description: "Fix TUI layout: header/footer anchoring, viewport packing and narrow-terminal rendering"
date: 2026-03-09
---

# What's new in github-code-search v1.8.3

> Full release notes: <https://github.com/fulll/github-code-search/releases/tag/v1.8.3>

## Highlights

### Fix: header no longer scrolls off screen

In previous versions, scrolling down fast could push the `github-code-search`
title bar and the column headers (`PATH`, `MATCH`) out of the visible area,
leaving the TUI without any reference point. The header row is now anchored to
the top of the viewport regardless of scroll offset.

### Fix: footer always visible at the bottom

The keyboard-shortcut bar at the bottom of the TUI could float up into the
results area when the result list was shorter than the terminal height.
The viewport now fills any remaining vertical space with blank lines before
rendering the footer, keeping it pinned to the last row.

### Fix: correct rendering on narrow terminals (Unicode / emoji clipping)

The `clipAnsi` helper that truncates long lines to fit the terminal width was
splitting multi-byte UTF-8 sequences such as emoji (e.g. `🔍`) at a raw byte
boundary, producing garbled output or invisible characters on narrow terminals.
The helper now advances by full Unicode code points (`codePointAt`) and only
clips between complete characters.

---

## Other improvements

- **Title badge contrast** — the `github-code-search` badge in the header now
renders in black on magenta instead of a low-contrast colour combination,
making it readable on all common terminal themes.
- **Viewport packing** — `normalizeScrollOffset` prevents the scroll position
from drifting past the last result, ensuring the bottom of the list always
fills the screen.

---

## Upgrade

```sh
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

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

For consistency with the other release posts in docs/blog/, the upgrade snippet should use a bash fenced block (bash) rather than sh.

Suggested change
```sh
```bash

Copilot uses AI. Check for mistakes.
github-code-search upgrade
```

Or download the latest binary from
[GitHub Releases](https://github.com/fulll/github-code-search/releases/tag/v1.8.3).
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "github-code-search",
"version": "1.8.2",
"version": "1.8.3",
"description": "Interactive GitHub code search with per-repo aggregation",
Comment on lines 2 to 4
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

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

The PR description lists substantial changes in src/render.ts, src/render/rows.ts, and src/tui.ts, but this PR’s diff only shows a version bump + docs/changelog updates. Either include the missing source-code changes in this PR, or update the PR title/description so it accurately reflects what’s being merged.

Copilot uses AI. Check for mistakes.
"keywords": [
"bun",
Expand Down