Remove miette#17110
Draft
zanieb wants to merge 7 commits into
Draft
Conversation
af516f2 to
8ef0c55
Compare
8ef0c55 to
633cf84
Compare
konstin
added a commit
that referenced
this pull request
Dec 15, 2025
Split out from #17110 Indent multiline error messages properly, and add test since it wasn't captured previously.
konstin
added a commit
that referenced
this pull request
Dec 15, 2025
Split out from #17110 Indent multiline error messages properly, and add a test with a multiline context and a context below since that combination isn't captured atm. --------- Co-authored-by: Zanie Blue <contact@zanie.dev>
16f450d to
4e56519
Compare
53e8893 to
73b9b0c
Compare
3932c28 to
66db1a1
Compare
zanieb
commented
Jan 17, 2026
Merging this PR will not alter performance
Comparing Footnotes
|
Merging this PR will improve performance by 5.07%
Performance Changes
Comparing |
zanieb
added a commit
that referenced
this pull request
May 20, 2026
This adds abstractions for handing hints, pulling them out of ad-hoc addendums to error messages and treating them as a first-class concept so we can render them more consistently. The key concepts are: - `Hints`: a wrapper struct for `Vec<Cow<'a, str>>` - `Hint`: a trait with `hints(&self) -> Hints<'_>` Error types now `impl Hint` to provide hints. This means errors need to carry more information to construct the `Hint` lazily instead of ahead of time. The majority of refactoring around error types is to support that change. When displaying errors, we [downcast](https://github.com/astral-sh/uv/pull/18090/changes#r2935662966) to each type known to implement the trait and extract hints. We then display all the hints after the error chain is complete. The user-facing affect of this is that hints are now always rendered outside the error chain. This is a blocker to #17110 and is pulled out of that project. There is still some weirdness with miette's `help:` prompts that will be removed entirely in a following change. --------- Co-authored-by: Codex <noreply@openai.com>
6d00af1 to
538e9be
Compare
zanieb
commented
May 27, 2026
zanieb
commented
May 27, 2026
zanieb
commented
May 28, 2026
zanieb
commented
May 28, 2026
zanieb
commented
May 28, 2026
zanieb
commented
May 28, 2026
zanieb
commented
May 28, 2026
1ef8e53 to
3fbbb93
Compare
uv test inventory changesThis PR changes the tests when compared with the latest
|
549ed8c to
d33bd17
Compare
This was referenced Jul 7, 2026
zanieb
added a commit
that referenced
this pull request
Jul 7, 2026
Keep `ExitStatus` code-only and represent propagated command errors explicitly as `UvError::User` or `UvError::Unexpected`. Command handlers classify and propagate their errors; the entrypoint renders user errors as a single line with exit code 1 and renders unclassified error chains with exit code 2. This preserves the existing default text and exit codes while providing a behavior-focused alternative to the error-carrying `ExitStatus` introduced in #20114. The stacked follow-up #20163 routes this centralized rendering through `Printer` and defines the resulting `-q` and `-qq` behavior. Part of #17110.
zanieb
added a commit
that referenced
this pull request
Jul 7, 2026
Render final `UvError` values through `Printer` at the command entrypoint. The default error-chain renderer accepts the `Printer` directly and owns hint collection and stream selection; `-q` preserves final errors and `-qq` suppresses them while exit codes remain 1 for user errors and 2 for unexpected errors. Stacked on #20188. Part of #17110. Closes #19326.
This was referenced Jul 7, 2026
zanieb
added a commit
that referenced
this pull request
Jul 7, 2026
Render `UvError::User` with the standard error-chain renderer instead of formatting only the outer message. This preserves causal context while retaining exit code 1 and the existing printer behavior: `-q` preserves the error and `-qq` suppresses it. The stacked #20160 relies on this to preserve the cause of an invalid `--with` requirement. Part of #17110.
zanieb
added a commit
that referenced
this pull request
Jul 7, 2026
Classify invalid `uv tool run --with` requirements as `UvError::User` so the entrypoint owns final rendering and exit-status selection instead of printing a local miette report. The expected error retains exit code 1 and its full cause chain. Builds on the user-error renderer from #20217. Part of #17110.
d33bd17 to
ce3669a
Compare
ce3669a to
b48ee5e
Compare
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.
Remove the direct miette dependency and global hook now that the supporting error-model and printer changes have landed. Operational failures now flow through
UvError, with user and unexpected errors retaining distinct exit statuses while the standard printer renders typed source chains and centralized hints. No-solution errors carry their contextual header as an error source, so-qand-qqcontinue to follow the printer policy.This is the remaining change after #20188, #20163, #20217, and #20160 were split out and merged.