fix: Don't flash TUI on a >>> FULL TURBO#11306
Merged
Merged
Conversation
Initialize the TUI terminal only when a task cache miss occurs, improving startup performance for cached builds. Co-authored-by: anthony.shew <[email protected]>
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
ch4og
pushed a commit
to csmplay/mapban
that referenced
this pull request
Dec 24, 2025
This PR contains the following updates: | Package | Change | Age | Confidence | |---|---|---|---| | [turbo](https://turborepo.com) ([source](https://github.com/vercel/turborepo)) | [`2.7.1` -> `2.7.2`](https://renovatebot.com/diffs/npm/turbo/2.7.1/2.7.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>vercel/turborepo (turbo)</summary> ### [`v2.7.2`](https://github.com/vercel/turborepo/releases/tag/v2.7.2): Turborepo v2.7.2 [Compare Source](vercel/turborepo@v2.7.1...v2.7.2) <!-- Release notes generated using configuration in .github/release.yml at v2.7.2 --> #### What's Changed ##### Docs - perf(create-turbo): Download files faster by [@​anthonyshew](https://github.com/anthonyshew) in [#​11297](vercel/turborepo#11297) ##### Examples - examples(dev-deps): bump turbo from 2.6.3 to 2.7.1 in /examples/with-shell-commands in the with-shell-commands group by [@​dependabot](https://github.com/dependabot)\[bot] in [#​11291](vercel/turborepo#11291) - examples(dev-deps): bump the with-svelte group in /examples/with-svelte with 3 updates by [@​dependabot](https://github.com/dependabot)\[bot] in [#​11292](vercel/turborepo#11292) - examples(deps): bump the basic group in /examples/basic with 4 updates by [@​dependabot](https://github.com/dependabot)\[bot] in [#​11293](vercel/turborepo#11293) ##### Changelog - fix: Use newline for separator in misuse text by [@​anthonyshew](https://github.com/anthonyshew) in [#​10834](vercel/turborepo#10834) - fix(create-turbo): Loader UI states by [@​anthonyshew](https://github.com/anthonyshew) in [#​11300](vercel/turborepo#11300) - fix: Exclude framework-inferred env vars with wildcards by [@​anthonyshew](https://github.com/anthonyshew) in [#​11303](vercel/turborepo#11303) - fix: Don't flash TUI on a >>> FULL TURBO by [@​anthonyshew](https://github.com/anthonyshew) in [#​11306](vercel/turborepo#11306) - fix: Transit nodes in Devtools by [@​anthonyshew](https://github.com/anthonyshew) in [#​11307](vercel/turborepo#11307) **Full Changelog**: <vercel/turborepo@v2.7.1...v2.7.2> </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xNC4yIiwidXBkYXRlZEluVmVyIjoiNDIuMTQuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Reviewed-on: https://git.csmpro.ru/csmpro/mapban/pulls/79 Co-authored-by: Renovate Bot <[email protected]> Co-committed-by: Renovate Bot <[email protected]>
1 task
anthonyshew
added a commit
that referenced
this pull request
Jan 5, 2026
Previously, the TUI would not start when using --output-logs=errors-only or --output-logs=none because the Status event with CacheResult::Miss was not sent in these cases. This was a regression from #11306 which introduced lazy TUI initialization. Now we always send the cache miss status event so the TUI knows to start rendering, but with an empty message when output should be suppressed. The Direct (non-TUI) output handler skips printing empty messages to avoid spurious output. Fixes #11352
anthonyshew
added a commit
that referenced
this pull request
Jan 5, 2026
## Summary - Fixes the TUI not showing when using `--output-logs=errors-only` or `--output-logs=none` with cache misses - Always sends the cache miss status event so TUI knows to start rendering - Skips printing empty messages in non-TUI mode to avoid spurious output ## Root Cause PR #11306 introduced lazy TUI initialization - the TUI only starts when it receives a `Status` event with `CacheResult::Miss`. However, when using `--output-logs=errors-only` or `--output-logs=none`, the `status()` call was being skipped entirely, so the TUI never received the notification to start. ## Testing Tested manually: 1. `turbo run build --force --output-logs=errors-only` - TUI now appears 2. `turbo run build --output-logs=errors-only` (cached) - No TUI (FULL TURBO), as expected 3. `turbo run build --force --output-logs=errors-only` - No spurious extra lines get printed Fixes #11352
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.
Description
Previously, our TUI would render when we started up tasks. However, this would cause a "flicker" in the case that all tasks hit cache. The flash was a bit annoying.
Now, we only render the TUI once we see that we won't hit cache for all tasks. This comes with a small delay in rendering the TUI, but the tradeoff seems to right in my UX testing. Also, when we consider that we're about to do a bunch of performance work, we're going to be faster at evaluating these states, so this side-effect will become much smaller.
Testing Instructions
Added some tests and tested manually in both small and large Turborepos.
CLOSES #9470