Skip to content

Add SocialNetwork-React experimental workload - #596

Open
canova wants to merge 3 commits into
WebKit:mainfrom
canova:social-network-workload
Open

canova wants to merge 3 commits into
WebKit:mainfrom
canova:social-network-workload

Conversation

@canova

@canova canova commented Nov 11, 2026

Copy link
Copy Markdown
Contributor

This PR adds SocialNetwork-React, an experimental workload. It's an original React 19 + Tailwind app that models a social feed: a virtualized feed, a post dialog with threaded comments, profile navigation, search typeahead, and analytics running on every interaction.

Steps: refresh the feed, scroll and load more stories, expand truncated stories, open a post dialog, expand replies, change comment order, load more comments, type a comment, close the dialog, open own profile, go back to the home feed, search typeahead, open the header menus.

@netlify

netlify Bot commented Nov 11, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for webkit-speedometer-preview ready!

Built without sensitive environment variables

Name Link
🔨 Latest commit eb944fa
🔍 Latest deploy log https://app.netlify.com/projects/webkit-speedometer-preview/deploys/6af5d2629ae77a85b94b12b0
😎 Deploy Preview https://deploy-preview-596--webkit-speedometer-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@canova
canova force-pushed the social-network-workload branch from ffe57cb to 7fa6487 Compare November 11, 2026 17:40
Models a social network's home feed and what readers do around it: a
virtualized feed that loads more stories as it scrolls, a post dialog with
threaded comments and a composer, a profile route and back, a search typeahead
and the header menus. It also runs the instrumentation such apps attach to every
interaction: error-guard wrappers, auto-tracked events that are batched,
compressed and checksummed for upload, impression tracking, interaction timing
and feature-gate exposures.

Original React 19 + Vite + Tailwind code with deterministic, server-free
fixtures (an in-page server streams chunked responses) and no third-party
assets. Experimental, so it is off by default and does not affect the official
score.

Steps wait on window events the app fires once an interaction has committed.
After clicks and keystrokes they also await a microtask, because React 19
commits discrete updates from a microtask, which a step-dispatched event only
reaches once the step yields.
Output of `npm run build` in suites-experimental/social-network. Build artifacts
only, so it can be dropped and regenerated whenever the source commit below it
changes.
@canova
canova force-pushed the social-network-workload branch from 7fa6487 to 878fa4d Compare November 12, 2026 11:30
WebKit allows 100 pushState/replaceState calls per 10 seconds and counts
them on the main frame, so suites that ran earlier in the harness can use
up the budget. The router's pushState then threw a SecurityError before
the state update, and OpenPostDialog waited forever for its event. The
steps never go back or forward, so drop the History API entirely.
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