chore: configure clippy rules for non-vite crates via .non-vite.clippy.toml#151
Merged
branchseer merged 8 commits intomainfrom Feb 12, 2026
Merged
Conversation
…y.toml Non-vite crates previously used blanket `#![allow(clippy::disallowed_types, disallowed_methods, disallowed_macros)]` to opt out of vite_str/vite_path rules, but this also silenced generic rules like HashMap→FxHashMap and cow_utils. Replace the blanket allows with a dedicated `.non-vite.clippy.toml` that keeps generic rules but omits vite-specific ones. Each non-vite crate gets a symlinked `.clippy.toml` pointing to the shared config. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Member
Author
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ConPTY reprocesses output and inserts escape sequences between individually-printed characters, so "abcd" never appears contiguous in the raw PTY stream. Print the full string at once instead — boundary spanning is still tested since the reader can return partial data. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
On Linux, writing to a PTY master after the child exits can succeed (kernel buffers the data), unlike macOS which returns EIO. The background thread sets writer=None after setting exit_status, but read_to_end returns right after exit_status is set, creating a window where write() still succeeds. Close the writer in read_to_end itself. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Make clippy non-blocking so tests still run even when clippy fails, while preserving the job failure via a deferred check at the end. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- resize_terminal: compare terminal size before/after instead of unconditionally printing RESIZE_DETECTED - send_ctrl_c: clear the "ignore CTRL_C" flag (set by Rust runtime) with SetConsoleCtrlHandler(None, 0) so CTRL_C_EVENT actually terminates the process via the default handler, proving send_ctrl_c delivers the signal. On Unix, verify via SIGINT handler as before. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace platform-divergent signal-hook (Unix) / default-handler (Windows) approach with the `ctrlc` crate on both platforms. The handler writes "INTERRUPTED" and exits directly, avoiding race conditions between the callback thread and main thread. On Windows, the Rust runtime sets SetConsoleCtrlHandler(NULL, TRUE) during init which ignores CTRL_C_EVENT — clear this flag before registering the handler so ConPTY-generated events reach it. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This was referenced Feb 11, 2026
Member
Author
Merge activity
|
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.

Non-vite crates previously used blanket
#![allow(clippy::disallowed_types, disallowed_methods, disallowed_macros)]to opt out of vite_str/vite_path rules,but this also silenced generic rules like HashMap→FxHashMap and cow_utils.
Replace the blanket allows with a dedicated
.non-vite.clippy.tomlthat keepsgeneric rules but omits vite-specific ones. Each non-vite crate gets a symlinked
.clippy.tomlpointing to the shared config.Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com