Repository navigation
chore(lane): daily maintenance 2026-10-16 - #124
Merged
Merged
Conversation
What was stale: MOON_PATCH_QUEUE lists the Moon GPUI patches a Zed re-sync must keep, but the tooltip entry described only the 800 ms show delay, the five-second expiry and hoverable persistence. #119 (0c4a7c4) added a Moon-only behaviour that a re-sync would silently drop. What the code does now: a mouse press on a regular tooltip's trigger replaces its state with SuppressedUntilMouseLeaves (hiding it or cancelling a pending show); TooltipTrigger::check_can_show gates showing while check_is_hovered alone clears the suppression once the pointer leaves, even with the button held. Upstream only cleared the tooltip on press and let the next pointer move after release schedule it again. Verified against crates/moon-gpui/src/elements/div.rs (register_tooltip_mouse_handlers, handle_tooltip_mouse_move) and the pre-change code in 0c4a7c4^. cargo xtask component-mirror and component-audit --check-baseline both PASS. Reviewer: Codex. It disputed the first wording of the upstream sentence (release does not itself reschedule; the next pointer move does); the sentence was corrected to match.
Input: RelPath::new(Path::new("C:\\"), PathStyle::Windows), also "C:/"
and "d:\\\\".
Wrong output: Ok("C:"). RelPath::new trimmed trailing separators before
its absolute-path check, so the drive root lost the separator that
paths::is_absolute needs (letter, colon, separator) and was accepted as
a relative path. PathStyle::strip_prefix with an empty parent handed the
drive root out as Some("C:").
Expected output: an error. The function's doc says it returns an error
if the path is absolute, and paths::is_absolute("C:\\", Windows) is true;
C:\foo and C:\. were already rejected.
The fix checks is_absolute on the input before trimming. It changes the
result only for a drive letter and colon followed by nothing but
separators; every other input takes the same path as before.
Test: rel_path::rel_path_tests::new_rejects_a_windows_drive_root failed
before the fix ("C:\\" is an absolute drive root, not a relative path)
and passes now. Re-run:
cargo test -p moon-util --lib new_rejects_a_windows_drive_root
Reviewer: Codex.
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.
Docs
docs/MOON_PATCH_QUEUE.mdlists the Moon GPUI patches a Zed re-sync must keep. Its tooltip entry covered only the 800 ms show delay, the five-second expiry and how hoverable tooltips persist. It did not mention the Moon-only press suppression that #119 (0c4a7c4) added, so a re-sync would silently drop it.What the code does now: a mouse press on a regular tooltip's trigger replaces its state with
SuppressedUntilMouseLeaves, which hides the tooltip or cancels a pending show.TooltipTrigger::check_can_showdecides whether a tooltip may show, andcheck_is_hoveredalone clears the suppression once the pointer leaves, even with the button still held. Upstream only cleared the tooltip on press, and the next pointer move after the release scheduled it again.How I verified it: I read the entry against
crates/moon-gpui/src/elements/div.rs(register_tooltip_mouse_handlers,handle_tooltip_mouse_move) and against the pre-change code in0c4a7c4^.cargo xtask component-mirror --check-baselineandcargo xtask component-audit --check-baselineboth pass.Reviewer: Codex. It disputed the first wording of the upstream sentence: the release itself does not reschedule the tooltip, the next pointer move does. I corrected that sentence.
Also read and found current:
README.md,docs/PALETTE_SPEC.md,docs/COMPONENT_AUDIT.md.Hunt
Ground:
moon-util(rel_path.rs).RelPath::new(Path::new("C:\\"), PathStyle::Windows), also"C:/"and"d:\\\\".Ok("C:"). Trailing separators were trimmed before the absolute-path check, so the drive root lost the separator thatpaths::is_absoluteneeds (letter, colon, separator).PathStyle::strip_prefixwith an empty parent therefore returnedSome("C:").paths::is_absolute("C:\\", Windows)is true, andC:\fooandC:\.were already rejected.is_absoluteon the input before trimming. Only a drive letter and colon followed by nothing but separators gives a different result.rel_path::rel_path_tests::new_rejects_a_windows_drive_rootfailed before the fix and passes now. Re-run withcargo test -p moon-util --lib new_rejects_a_windows_drive_root.Another bug I proved along the way is filed as #123:
RelPath::file_stemdepends on the host OS for POSIX names that contain a backslash.Quiet jobs
auto-foundissue, Legacy PowerShell drops empty native task arguments after 06aa89a #113, carriesneeds-human.