Skip to content

Document and test the Universal Checkout Web preview - #844

Open
tiagocandido wants to merge 2 commits into
uc-sample-overlayfrom
uc-web-conformance
Open

tiagocandido wants to merge 2 commits into
uc-sample-overlayfrom
uc-web-conformance

Conversation

@tiagocandido

@tiagocandido tiagocandido commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

What changes are you making?

Document the experimental Universal Checkout Web contract, package entry point, local sample configuration and remaining release gates. Explain full per-shop snapshots, aggregate timing, malformed-member isolation and the distinction between completion, failure and presentation close.

Add integration coverage that drives protocol batches through the registered element into the sample overlay DOM. The fixtures cover ready, start/update, partial and explicit completion, optional undefined normalization and close/reopen. All fixture values are synthetic.

Live partial/final completion and healthy-shop completion after a sibling error are verified below. Successful completed-session replay, startup edge cases and resource retry/replacement/ejection remain contract and release-validation follow-ups. The API remains an experimental preview; ready-for-review publication does not establish broad release readiness.

How to test

From the repository root, with dependencies installed:

pnpm --dir platforms/web lint
pnpm --dir platforms/web test
pnpm --dir platforms/web build
pnpm --dir platforms/web verify
pnpm --dir platforms/web sample:build
pnpm --dir protocol test
pnpm --dir protocol lint
pnpm --dir telemetry/languages/typescript test
pnpm --dir platforms/web compare-snapshot

At integrated stack revision 57dec1a4, 440 Web, 88 protocol and 14 telemetry tests passed; lint/typechecks, library/sample builds, package verification and the package snapshot check passed. These automated results and the live runs below are anchored to that revision, not an untested later head.

tophat results

30 September 2026, Chrome, integrated stack at 57dec1a4, using approved test-payment stores and generic resource labels:

  • Loaded both catalogs, created separate carts, prepared a session and opened checkout through Kit. The overlay received start and update events for both shops.
  • Submitted the test checkout. A Shop 2 completed update at revision 6 retained Shop 1 as incomplete. An explicit final complete batch at revision 7 then showed both shops completed. The completion notice left the window available; closing emitted close separately. The per-shop timeline entries are projections of the received batch, not evidence of separate DOM dispatches.
  • In a separate fresh session, reloading one child checkout produced a resource error. The healthy sibling then completed while the failed shop's last snapshot and error remained visible, and the presentation remained open. Earlier delivery-choice changes also exercised ready_for_complete → incomplete → ready_for_complete for the healthy shop without clearing its sibling's error.
  • Closing and reopening the same completed URL reset Kit's resources and event history. The producer displayed an error page before sending any protocol events. Successful completed-session replay remains unverified; this was not an observed session-scoped protocol error or a demonstrated Kit defect.

The final live completion batch changed one shop's state; preservation of a fully identical final snapshot is covered by synthetic tests, not established by this run. The completion runs were observed live but were not recorded. The deployed producer revision was not independently pinned.

Earlier configuration invalidation and unfinished-session close/reopen checks remain separate evidence. The in-app-browser attempt opened the host overlay without a visible popup or received live events; Chrome was used for the successful live runs above.

Review-feedback verification

After the foundation review fixes and restack, integrated stack revision a9919ca8 passed all 440 Web tests, source/sample typechecks, lint/format checks, library and sample builds, package verification and the package snapshot check. The same-origin sender-isolation regression fails with the source guard removed and passes with it restored; the generated manifest retains one typed, class-documented close event. These changes do not alter runtime checkout behavior. Live browser evidence remains anchored to 57dec1a4 above.

@tiagocandido
tiagocandido added this pull request to stack #845 September 28, 2026 15:20
@github-actions github-actions Bot added the #gsd:50662 Rebase Checkout Kit on UCP label Sep 28, 2026
@tiagocandido
tiagocandido force-pushed the uc-web-conformance branch 2 times, most recently from 0e3a883 to 57dec1a Compare September 29, 2026 12:46
@tiagocandido
tiagocandido marked this pull request as ready for review September 30, 2026 21:39
@tiagocandido
tiagocandido requested a review from a team as a code owner September 30, 2026 21:39
@github-actions

Copy link
Copy Markdown

Web — Coverage Report

Lines Statements Branches Functions
Coverage: 91%
89.25% (764/856) 84.8% (491/579) 95.31% (183/192)

@github-actions

Copy link
Copy Markdown

Package Size

Platform Artifact Base Head Delta
Web npm tarball 126.3 KiB 126.9 KiB +591 B
Web file breakdown
File Base Head Delta
dist/telemetry-BhYuVVw_.js.map 215.7 KiB 215.7 KiB 0 B
dist/custom-elements.json 90.7 KiB 90.7 KiB 0 B
dist/universal.js.map 63.9 KiB 63.9 KiB 0 B
dist/index.d.ts 47.7 KiB 47.7 KiB 0 B
dist/universal.d.ts 44.7 KiB 44.7 KiB 0 B
dist/index.js.map 34.8 KiB 34.8 KiB 0 B
dist/telemetry-BhYuVVw_.js 34.4 KiB 34.4 KiB 0 B
README.md 20.1 KiB 22.0 KiB +1.9 KiB
dist/universal.js 18.9 KiB 18.9 KiB 0 B
dist/index.js 8.3 KiB 8.3 KiB 0 B
package.json 3.1 KiB 3.1 KiB 0 B
LICENSE 1.1 KiB 1.1 KiB 0 B

Measured from the PR base SHA and PR head SHA. The file breakdown shows uncompressed sizes within each package artifact, so individual files do not sum to the compressed artifact total. This comment reports package artifact sizes only; it is not a final app binary-size report.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

#gsd:50662 Rebase Checkout Kit on UCP

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant