fix(tui): stream large Git index and status output for project tree (#2120) - #2580
Closed
turkonthelurk wants to merge 2 commits into
Closed
turkonthelurk wants to merge 2 commits into
turkonthelurk wants to merge 2 commits into
Conversation
Project-tree Git reads used execFile without maxBuffer, so indexes over 1 MiB failed and the tree silently fell back to a 10k/depth-8 scan. Parse ls-files and status incrementally from a spawned process with explicit byte and entry bounds, and keep timeout or output-limit failures distinct from a non-Git workspace. Closes tetsuo-ai#2120 Co-authored-by: turk <turkonthelurk@users.noreply.github.com>
Use a flushed payload for >1 MiB fake Git output, and read the workspace listing warning field so truncated listings stay visible on the tree. Co-authored-by: turk <turkonthelurk@users.noreply.github.com>
|
turkonthelurk
marked this pull request as ready for review
September 18, 2026 10:48
Contributor
Author
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.



Closes #2120
Draft for review only. Not to be merged by automation; a maintainer decides when and whether it lands. Opened from fork
turkonthelurk/agenc-core. Nothing pushed tomainon either repo. Based on upstreammainonly. Independent of #2117/#2579 and #2119. Does not change Neovim write-gate or sync frame budgeting.Problem
Project-tree Git commands used
execFilewithoutmaxBuffer. Node’s 1 MiB default turned successful large-repo Git output into errors, after which the tree fell back to a 10k/depth-8 filesystem scan and could silently omit files.Verified still present on upstream
mainat6a2a92dbefore changing anything.Change
ls-files -z/ status incrementally (noexecFiledefault ceiling).ok,truncated,not-git,timeout,output-limit,error.Tests
Hermetic: 80 passed across project-tree Git listing / tree / branch-footer suites, including >1 MiB NUL-delimited output, a real >1 MiB index, newline filenames, and no silent scan on Git failure.
This does not merge.
Opened from fork
turkonthelurk/agenc-core. Companion fork PR (to close): turkonthelurk#22