Skip to content

Add shareable DisplayList encoding URLs - #4

Merged
Kyle-Ye merged 1 commit into
mainfrom
codex/shareable-encoding-urls
Aug 4, 2026
Merged

Add shareable DisplayList encoding URLs#4
Kyle-Ye merged 1 commit into
mainfrom
codex/shareable-encoding-urls

Conversation

@Kyle-Ye

@Kyle-Ye Kyle-Ye commented Aug 4, 2026

Copy link
Copy Markdown
Member

Summary

  • encode the canonical minimalDescription as versioned UTF-8 Base64URL in the URL fragment
  • add a Copy link action and restore shared links in reverse-conversion mode
  • keep URL state synchronized without sending DisplayList data in HTTP requests
  • add URL codec coverage and run it in CI and Pages builds

Why

Sharing the original DisplayList.description produces unnecessarily long URLs and preserves details that are not needed to inspect the encoding. In the checked fixture, the source description is 3,505 bytes while its canonical minimalDescription is 91 bytes. The compact form retains the encoding structure and makes reconstruction loss explicit with the existing ? and * placeholders.

User impact

Users can copy a self-contained link, open it in another browser, and immediately inspect the same encoding. The URL fragment stays browser-local and is removed when the editor is cleared or becomes invalid.

Validation

  • swift test — 11 tests passed
  • npm test — 4 tests passed
  • SwiftWasm release build
  • Vite Pages production build
  • browser verification of copy, reload/decode, reverse mode, and clear behavior
  • preview endpoint returned HTTP 200

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

Cloudflare Pages preview

Latest PR preview: https://pr-4.display-list-explorer.pages.dev

Commit Immutable snapshot
b963c15 Open snapshot

The PR URL always points to the latest deployment. Each commit snapshot is immutable.

@Kyle-Ye
Kyle-Ye merged commit d38d768 into main Aug 4, 2026
1 check passed
@Kyle-Ye
Kyle-Ye deleted the codex/shareable-encoding-urls branch August 4, 2026 15:58
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