Fix remaining low-priority view-transition bugs (#40) - #54
Merged
Conversation
- EssayCard: use id (with version suffix) instead of extractBaseSlug
for transition:name, preventing duplicate view-transition-name
collisions when two versions of an essay appear in the same list.
- ChatHistoryTabs: pass { once: true } to the image load listener so
it doesn't accumulate when switching tabs before images load.
Item #9 (WebMentions state preservation) is intentionally left as-is —
the audit classifies it as a UX choice, not a bug.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
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.
Closes the last two actionable items from #40.
Summary
transition:namecollision (item [code-quality] Fix DOMContentLoaded usage breaking interactivity after view transitions #8): switched the transition name fromtitle-${slug}totitle-${id}. The slug is produced byextractBaseSlug(), which strips version suffixes — so two versions of the same essay in one list would share aview-transition-nameand abort the transition. Usingidkeeps version info and guarantees uniqueness. Not visibly broken today (no list mixes versions), but the fix removes the latent fragility.loadlistener accumulation (item Add WordEntry component and New Words note page with contextual sentences #6): added{ once: true }so each tab switch doesn't pile uploadhandlers on the same image when the user toggles before load completes.Test plan
/essaysand/gardenstill render essay cards and the title element animates between list and detail views.<ChatHistoryTabs />, click between Claude/ChatGPT tabs rapidly; container height adjusts and no console warnings appear.view-transition-nameconsole warnings on/essays,/garden, or topic pages.🤖 Generated with Claude Code