Skip to content

Add IL comparison path copy buttons to HTML reports - #211

Merged
Widthdom merged 3 commits into
mainfrom
agent/copy-il-comparison-paths
Jul 22, 2026
Merged

Add IL comparison path copy buttons to HTML reports#211
Widthdom merged 3 commits into
mainfrom
agent/copy-il-comparison-paths

Conversation

@Widthdom

@Widthdom Widthdom commented Jul 22, 2026

Copy link
Copy Markdown
Owner

Summary

  • add a distinct two-file copy button beside each ILMatch / ILMismatch label when ShouldOutputILText=true
  • embed the absolute old/new IL output roots in diff_report.html and copy a platform-appropriate quoted path pair for WinMerge, diff, and other text-based diff tools
  • use the report's shared translucent fading tooltip, show a brief check mark on success, and show a red exclamation mark plus a browser alert on failure; no copy toast is emitted
  • hide tooltips after a pointer click followed by mouse leave by limiting focus-driven display to :focus-visible, while preserving keyboard-focus behavior
  • synchronize the POSIX-style live HTML sample, English/Japanese user guide, changelog, and regression tests

Root cause

The shared tooltip rule used .btn-tooltip-wrap:focus-within, so clicking a copy button left focus inside the wrapper and kept the tooltip visible even after hover ended. The rule now targets the actual buttons with :focus-visible, which keeps keyboard accessibility without pinning the tooltip after pointer clicks.

Testing

  • npm run test:js -- --runInBand — 175 passed at the current head
  • dotnet test FolderDiffIL4DotNet.Tests/FolderDiffIL4DotNet.Tests.csproj -c Release --no-restore --disable-build-servers -m:1 --filter FullyQualifiedName~HtmlReport --nologo — 240 passed at the current head
  • env GIT_CONFIG_COUNT=1 GIT_CONFIG_KEY_0=commit.gpgsign GIT_CONFIG_VALUE_0=false dotnet test FolderDiffIL4DotNet.Tests/FolderDiffIL4DotNet.Tests.csproj -c Release --no-restore --disable-build-servers -m:1 --nologo — 2016 passed, 1 skipped at the current head
  • sample HTML script/DOM validation — JavaScript syntax valid; 11 IL rows mapped to 11 IL path buttons; no duplicate markup IDs; POSIX IL prefixes; no toast or JS tooltip-state class
  • git diff --check — clean

Notes

  • The full Release suite needs commit signing disabled for its temporary Git-repository fixtures in this local environment; with that test-only override, it passes.
  • The in-app browser blocks local file:// navigation, so visual verification was limited to the supplied screenshots plus script/DOM/CSS validation.
  • The project-wide dotnet format --verify-no-changes command still reports existing whitespace differences in unrelated source regions; this change does not rewrite those files.
  • cdidx v1.39.3 was rerun after the latest follow-up commit. It indexed the changed C#/JS/CSS/Markdown/HTML files, but the overall run remains partial because of the known JSON worker failure tracked in v1.39.3: JSON symbol-extraction worker fails with JsonSerializerIsReflectionDisabled, leaving rebuilt index partial CodeIndex#4709.

@Widthdom
Widthdom marked this pull request as ready for review July 22, 2026 03:32
@Widthdom
Widthdom merged commit dd899b1 into main Jul 22, 2026
8 checks passed
@Widthdom
Widthdom deleted the agent/copy-il-comparison-paths branch July 22, 2026 08:56
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