Skip to content

chore(lane): daily maintenance 2026-10-16 - #124

Merged
kirillDevPro merged 2 commits into
masterfrom
lane/daily-2026-10-16
Oct 16, 2026
Merged

kirillDevPro merged 2 commits into
masterfrom
lane/daily-2026-10-16

Conversation

@kirillDevPro

Copy link
Copy Markdown
Collaborator

Docs

docs/MOON_PATCH_QUEUE.md lists 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_show decides whether a tooltip may show, and check_is_hovered alone 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 in 0c4a7c4^. cargo xtask component-mirror --check-baseline and cargo xtask component-audit --check-baseline both 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).

  • Input: RelPath::new(Path::new("C:\\"), PathStyle::Windows), also "C:/" and "d:\\\\".
  • Wrong output: Ok("C:"). Trailing separators were trimmed before the absolute-path check, so the drive root lost the separator that paths::is_absolute needs (letter, colon, separator). PathStyle::strip_prefix with an empty parent therefore returned Some("C:").
  • Expected output: an error. The function's doc says it returns an error for an absolute path, paths::is_absolute("C:\\", Windows) is true, and C:\foo and C:\. were already rejected.
  • Fix: check is_absolute on the input before trimming. Only a drive letter and colon followed by nothing but separators gives a different result.
  • Test: rel_path::rel_path_tests::new_rejects_a_windows_drive_root failed before the fix and passes now. Re-run with cargo test -p moon-util --lib new_rejects_a_windows_drive_root.
  • Reviewer: Codex. It confirmed the defect and that no other input changes result. Only the error text of already-rejected inputs now quotes the untrimmed path.

Another bug I proved along the way is filed as #123: RelPath::file_stem depends on the host OS for POSIX names that contain a backslash.

Quiet jobs

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.
@kirillDevPro
kirillDevPro merged commit da49471 into master Oct 16, 2026
4 checks passed
@kirillDevPro
kirillDevPro deleted the lane/daily-2026-10-16 branch October 16, 2026 04:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant