Animate the restart figure, and pin down the path matching - #125
Merged
Merged
Conversation
The restart figure was the only one on the page that did not move. It now uses the same staggered fig-pop the other figures use: the board, then the restart, then the board again, so the second window arriving after the first is what the eye follows. Same 6.5s cycle and 0/.3/.6 delays as f4, f8 and f10, and it rests on both windows for most of the loop. The short-path limitation reported against this feature does not exist. Path.GetFullPath expands 8.3 components against the directory entries, so a slot holding C:\MARCOR~1\board.wboard already matches the same board opened by its long name - verified by deriving a real short path with GetShortPathName and comparing. A GetLongPathName interop was written to fix it and then removed, because it did nothing. IsSameFile moves to SessionStore, where the smoke tests can reach it, and the case is now covered rather than argued about. Its remark records that the expansion needs the file to be there to read, which is exactly when this is asked. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
Two things, and one of them is a correction.
The figure now moves
Pick up where you left offwas the only figure on the page that sat still. It now uses thesame staggered
fig-popas f4, f8 and f10 — same 6.5s cycle, same 0 / .3 / .6 delays:So the second window arriving after the first is the thing the eye follows. It rests on both
windows for most of the loop, per the comment at the top of that CSS block, and inherits the
existing
is-visibleobserver and theprefers-reduced-motiongate without touching either.The short-path limitation does not exist
I reported that
IsSameFilewould miss a match betweenC:\Users\MARCOR~1\board.wboardandC:\Users\MarcoRusso\board.wboard. That was wrong.Path.GetFullPathexpands 8.3components against the directory entries, so the original code already handled it.
I found out by writing the fix: a
GetLongPathNameinterop went in, and the new test passedjust as well with it disabled. Deriving a real short path with
GetShortPathNameand printingwhat
GetFullPathreturns settled it — the long form comes back. The interop is removed; itdid nothing.
What survives is the part that has value:
IsSameFilemoves fromMainWindowtoSessionStore, where the smoke tests can reachit. That move is what made the question answerable instead of arguable.
against a hand-written one. It also covers case differences and a redundant path component.
On a volume with 8.3 names turned off it degrades to comparing a path with itself rather
than failing.
IsSameFilerecords why it is correct and the one condition it rests on:the expansion needs the file to be there to read. That holds here, since the board being
opened exists and the slot that matches it names that same file.
No version bump
VersionPrefixstays at 1.5.0. Nothing here changes what the application does — a refactor,a test, and a site figure. Say the word if you want 1.5.1 anyway and I will add it with an
honest entry.
Both smoke harnesses pass; the figure checked in light and dark, and frame-sampled mid-cycle
to confirm the order.
🤖 Generated with Claude Code