perf(trustlab): preload Airtable form embeds so dialogs open instantly#1496
Conversation
create reusable AirtableEmbed component with skeleton loading state add useAirtableEmbedPreload hook to preload embeds during browser idle time to avoid blocking initial page load add dns-prefetch and preconnect links for airtable domains in document head update HelplineCard, RowCard, and ActionBanner to use the new embed component and preload logic, replacing raw HTML embed injection add keepMounted to embed dialogs to preserve component state when closed
|
@codex review |
pasted embed code's iframe src attributes are html-escaped; decode entities before reusing the extracted url as the iframe src
|
Claude finished @kelvinkipruto's task in 3m 7s —— View job Claude finished reviewing @kelvinkipruto's PRTodo list
SummaryNice, well-scoped perf improvement. The idle-time preload, keep-mounted dialogs, and skeleton loading state are all reasonable, minimal implementations of what the description promises. Codex's finding — already fixed ✅The HTML-entity decoding issue Codex flagged ( Additional observations
Not verifiedI wasn't able to run |
|
Codex Review: Didn't find any major issues. Keep them coming! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
update trailing newline in package.json
Description
Airtable form embeds across TrustLab pages (helpline cards, row cards, and action banners) only started loading when a user clicked the button to open the dialog. Since an Airtable embed boots the entire Airtable app inside an iframe, users stared at a blank dialog for several seconds before the form appeared.
Changes
preconnect/dns-prefetchhints for Airtable domains to shave DNS/TLS handshake time off the first request.Fixes # (issue)
Type of change
Screenshots
Checklist: