You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Clear transient fetch progress and add matching team progress - #249
Fixes#247. Closes#248 (native enhancement sub-issue of #247).
Erase results-fetch progress on completion, including empty results, and before propagating errors instead of leaving a newline.
Preserve line-number-resolution progress cleanup.
Replace the static matching-team repository-fetch message with the same 20-block purple/grey bar, indentation and completed/total counter used by line resolution. Preserve the existing label and requested prefixes when terminal width permits.
Advance once per completed team after all its repository pages finish, including inaccessible teams (404), and erase progress on success or failure.
Reuse the existing concurrent worker helper (20 workers) so all work settles before cleanup and no late update redraws progress after an error. Cached data still bypasses fetching and its progress bar.
Address review findings: clear and pause progress while rate-limit callbacks own stderr; suppress concurrent updates until callbacks finish; keep countdown and all three bars within terminal width, truncating long labels while preserving bars/counters where space permits. Compare the exact parsed hostname in the raw-content test mock.
TDD history (all commits signed):
8e182ed — four failing bug reproduction tests.
31ccae4 — dedicated bug fix; four reproduction tests pass.
bb71f43 — five failing enhancement cases covering empty/one/multiple teams, pagination and errors.
8ad3310 — dedicated enhancement implementation.
ff5df7f — review regression tests and exact-hostname mock fix.
c68c960 — dedicated countdown/wrapping fix.
Manual verification: run github-code-search query hello --org <your-org> --group-by-team-prefix squad-,chapter- --no-cache with an authenticated token. Progress should remain visible during each fetch, use matching purple/grey blocks, and disappear when its phase completes. Team progress counts completed teams, not individual repository pages. At 80 columns, labels shorten without wrapping the bar. During rate-limit waits, the countdown temporarily owns the progress row.
How did you verify your code works?
Before the original bug fix: bun test src/api.test.ts --test-name-pattern 'fetch progress cleanup' --dots — four failures reproduce missing cleanup.
After the original bug fix: the same command — four tests pass; the filtered command still exits nonzero because repository-wide coverage thresholds are not met by a filtered run.
Before enhancement implementation: bun test src/api.test.ts --test-name-pattern 'fetch progress lifecycle' --dots — four existing cases pass, five enhancement cases fail as expected.
Before review fixes: bun test src/api.test.ts --test-name-pattern 'countdown|93-team' --dots — five failures reproduce countdown and 80-column defects.
bun test --dots — passed: 1,055 tests, zero failures, including six new review regression cases and repository coverage thresholds. Coverage includes newline-writing callbacks, rejecting callbacks, concurrent completion during a countdown, and all 94 updates for 93 teams at 80 columns.
bun run typecheck — passed, no type errors in 59 files.
bun run format:check — passed, all 149 files formatted.
bun run knip — passed; two existing configuration hints for native Bun subcommands.
bun run build.ts — passed, Darwin ARM64 binary compiled and codesign verified.
git diff --check — passed.
Live GitHub/TTY verification not run; API and stderr behavior are covered with mocked, offline tests.
Erase the transient line on success and failure instead of leaving a newline. Fixes#247.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Reuse the line-resolution progress style and count teams only after all repository pages finish. Drain concurrent workers before clearing the line on success or error. Closes#248.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Reproduce review findings for #249 before the fix; compare the exact hostname in the raw-content mock.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Pause concurrent progress while rate-limit callbacks own stderr and clear before callback output. Keep bars within the terminal width, preserving counters and blocks while truncating long labels.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
A terminal resize during a rate-limit countdown can restore a cached line at the old width, causing wrapping and leaving stale progress that subsequent updates and cleanup do not erase.
No open issues 🎉
1 previously missed issue
In code that hasn't changed since last review
Rebuild cached countdown line after terminal resize
src/api.ts:254
If the terminal narrows during a rate-limit countdown, latest still uses the old width, so restoring it can wrap onto another row. Later updates and cleanup erase only the last row, leaving stale progress behind. Clip or rebuild the cached line using the current terminal width before restoring it, and add a resize-during-countdown regression test.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Fixes #247.
Closes #248 (native enhancement sub-issue of #247).
TDD history (all commits signed):
8e182ed— four failing bug reproduction tests.31ccae4— dedicated bug fix; four reproduction tests pass.bb71f43— five failing enhancement cases covering empty/one/multiple teams, pagination and errors.8ad3310— dedicated enhancement implementation.ff5df7f— review regression tests and exact-hostname mock fix.c68c960— dedicated countdown/wrapping fix.Manual verification: run
github-code-search query hello --org <your-org> --group-by-team-prefix squad-,chapter- --no-cachewith an authenticated token. Progress should remain visible during each fetch, use matching purple/grey blocks, and disappear when its phase completes. Team progress counts completed teams, not individual repository pages. At 80 columns, labels shorten without wrapping the bar. During rate-limit waits, the countdown temporarily owns the progress row.How did you verify your code works?
bun test src/api.test.ts --test-name-pattern 'fetch progress cleanup' --dots— four failures reproduce missing cleanup.bun test src/api.test.ts --test-name-pattern 'fetch progress lifecycle' --dots— four existing cases pass, five enhancement cases fail as expected.bun test src/api.test.ts --test-name-pattern 'countdown|93-team' --dots— five failures reproduce countdown and 80-column defects.bun test --dots— passed: 1,055 tests, zero failures, including six new review regression cases and repository coverage thresholds. Coverage includes newline-writing callbacks, rejecting callbacks, concurrent completion during a countdown, and all 94 updates for 93 teams at 80 columns.bun run typecheck— passed, no type errors in 59 files.bun run format:check— passed, all 149 files formatted.bun run knip— passed; two existing configuration hints for native Bun subcommands.bun run build.ts— passed, Darwin ARM64 binary compiled and codesign verified.git diff --check— passed.