diff --git a/docs/img/popup-loading.png b/docs/img/popup-loading.png new file mode 100644 index 0000000000000000000000000000000000000000..c64b8cc836fd287cf8851272a32b3788e6ce6cb0 GIT binary patch literal 70709 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 R2?mY)db;|#taD0e0s!GI*zo`W literal 0 HcmV?d00001 diff --git a/docs/status-states.md b/docs/status-states.md index 55660e9..cfce3c1 100644 --- a/docs/status-states.md +++ b/docs/status-states.md @@ -57,6 +57,7 @@ cover is red when the label is an alert. |---|---| | ![no publication](img/popup-none.png) | No publication on the page: a single informational line. | | ![publication](img/popup-publication.png) | A verified publication, signed out, after clicking the greyed-out Subscribe: the click raises a warning pill pointing at Atmosphere sign-in. Before the click there are no pills. Captured on standard.site, which carries no link-tag hint — the origin well-known probe found it. | +| ![loading](img/popup-loading.png) | The same publication as the row above, caught mid-load: the account card and the subscriber row stand placeholders at the height their content will take, while the publication itself is already drawn. Placeholders only appear once a lookup has run past `SHOW_AFTER_MS` (`src/popup/cards/loading.ts`), so a cache hit never shows one. Captured with those two lookups held open — a slow network, not a failed one. | | ![subscribed](img/popup-subscribed.png) | Signed in and subscribed: no pills, the card speaks for itself. Captured on permadeath.com, the author's own publication, which emits the link hint and answers the origin well-known both. | | ![unverified](img/popup-unverified.png) | The page shows a publication but is not its verified home; the warning links the real one. Captured on Standard Reader's view of the AT Protocol blog. | | ![blocked](img/popup-blocked.png) | The publication belongs to an account you have blocked: the alert pill names it and links its profile, the account card shows "Blocked user" and the handle instead of their avatar, name and bio, and Subscribe has been clicked once, so it is armed as the red "Subscribe anyway?" that the second click would go through with. | diff --git a/scripts/capture-status-docs.mjs b/scripts/capture-status-docs.mjs index 7c452a5..bef73b9 100644 --- a/scripts/capture-status-docs.mjs +++ b/scripts/capture-status-docs.mjs @@ -395,6 +395,24 @@ async function stubLabelerAnswers(cdp, sessionId, byHost) { return asked } +/** + * Hold some of one popup's lookups open, so a capture can show what it draws + * while it waits. The requests are paused and never answered — a slow network, + * not a failed one, which is the difference between the state the placeholders + * are for and the state the error pills are for. + */ +async function stallRequests(cdp, sessionId, patterns) { + cdp.on('Fetch.requestPaused', ({ request }, from) => { + if (from !== sessionId) return + console.log(`capture: holding ${new URL(request.url).host} open`) + }) + await cdp.send( + 'Fetch.enable', + { patterns: patterns.map((p) => ({ urlPattern: `*${p}*` })) }, + sessionId, + ) +} + // --- main -------------------------------------------------------------------- /** Files whose contents end up in the loaded extension, newest mtime wins. */ @@ -439,10 +457,32 @@ function assertFreshBuild() { } } +/** + * `--only ` re-shoots one capture and leaves the rest of docs/img + * alone. Every image here is a real screenshot over the real network, so a + * full run rewrites fifteen files to say one thing; this is how a change to + * one popup state is captured without a diff full of resampled pixels. + */ +const ONLY = (() => { + const at = process.argv.indexOf('--only') + if (at === -1) return undefined + const name = process.argv[at + 1] + if (!name) throw new Error('--only needs the name of a capture, e.g. --only popup-loading') + return name +})() + +/** Whether this run is shooting `name`. */ +function wanted(name) { + return !ONLY || name === ONLY +} + async function main() { assertFreshBuild() BUILT_VERSION = JSON.parse(readFileSync(path.join(DIST, 'manifest.json'), 'utf8')).version mkdirSync(OUT, { recursive: true }) + // Both runs start whatever `--only` selected; the one whose captures were + // all filtered out spends a couple of seconds on a browser it never uses, + // which is cheaper than keeping a second list of which run shoots what. await withChrome({ online: false }, captureFixtureStates) await withChrome({ online: true }, captureRealStates) console.log(`capture: wrote images to ${OUT}`) @@ -528,7 +568,7 @@ async function captureFixtureStates({ cdp, inWorker, popupUrl }) { claiming: `http://127.0.0.1:${await listen(servers.claiming)}/`, } try { - await captureBadges(cdp, inWorker) + if (BADGE_STATES.some((state) => wanted(`badge-${state}`))) await captureBadges(cdp, inWorker) /** @type {Scenario[]} */ const scenarios = [ @@ -539,7 +579,9 @@ async function captureFixtureStates({ cdp, inWorker, popupUrl }) { // Real offline detection: the worker's navigator reports no connection. { name: 'popup-offline', url: urls.plain, workerOffline: true, expectPills: 1, expectCard: false }, ] - for (const s of scenarios) await captureScenario(cdp, inWorker, popupUrl, s) + for (const s of scenarios.filter((s) => wanted(s.name))) { + await captureScenario(cdp, inWorker, popupUrl, s) + } } finally { servers.plain.close() servers.claiming.close() @@ -549,12 +591,17 @@ async function captureFixtureStates({ cdp, inWorker, popupUrl }) { // --- online run: the states that show a publication -------------------------- async function captureRealStates({ cdp, inWorker, popupUrl }) { + // Both of these are network setup for one capture each, so `--only` skips + // the one it is not shooting. + // // Detected up front so the unverified capture can show this publication // from a page that is not its home. - const atproto = await probePublication(inWorker, REAL.atprotoBlog) + const atproto = wanted('popup-unverified') + ? await probePublication(inWorker, REAL.atprotoBlog) + : undefined // Resolved against the real network, so a labeler that moved its endpoint // fails the capture rather than silently going unstubbed. - const stubLabels = await stubLabelersByHost() + const stubLabels = wanted('popup-labeled') ? await stubLabelersByHost() : undefined // The moderated publication is invented, so its page is local: a plain page // detection finds nothing on, with the fixture state seeded over it. const plain = plainServer() @@ -617,7 +664,7 @@ async function captureRealStates({ cdp, inWorker, popupUrl }) { // verified home: the warn pill links back to the real one. { name: 'popup-unverified', - url: readerUrl(atproto), + url: atproto && readerUrl(atproto), reader: 'leaflet', state: (detected) => ({ ...detected, @@ -671,9 +718,28 @@ async function captureRealStates({ cdp, inWorker, popupUrl }) { expectPills: 1, expectCard: true, }, + // The same publication as popup-publication, caught while it is still + // waiting: the account lookup and the subscriber count are held open, so + // the card shows the placeholders it draws once a lookup has run past + // SHOW_AFTER_MS (src/popup/cards/loading.ts). Held open rather than + // hurried — the popup sees a slow network, not a failure, which is the + // state the placeholders exist for. + { + name: 'popup-loading', + url: REAL.standardSite, + reader: 'standardReader', + stall: ['plc.directory', 'constellation.microcosm.blue'], + // Long enough that the delay has passed with room to spare, whatever + // the machine running this is doing. + hold: 800, + expectPills: 0, + expectCard: true, + }, ] try { - for (const s of scenarios) await captureScenario(cdp, inWorker, popupUrl, s) + for (const s of scenarios.filter((s) => wanted(s.name))) { + await captureScenario(cdp, inWorker, popupUrl, s) + } } finally { plain.close() } @@ -827,6 +893,10 @@ async function screenshotPage(cdp, url, { width, height }) { * the popup asks these rather than only Bluesky's own moderation service * @property {Map} [stubLabels] stub labeler answers by host * (stubLabelersByHost); queryLabels is served from these for this popup + * @property {string[]} [stall] url substrings whose requests this popup never + * gets an answer to, for capturing what it shows while it waits + * @property {number} [hold] ms to wait before the shot, over the settle + * (default 200); a capture of a transient state waits out its own delays * @property {{sel: string, settles?: string}[]} [clicks] clicked in order once * the popup settles, each waiting for its own `settles` expression (or for * the popup to reach expectPills) before the next one @@ -950,6 +1020,7 @@ async function captureScenario(cdp, inWorker, popupUrl, s) { const asked = s.stubLabels ? await stubLabelerAnswers(cdp, sessionId, s.stubLabels) : undefined + if (s.stall) await stallRequests(cdp, sessionId, s.stall) await inWorker(`chrome.tabs.update(${tab.id}, { active: true })`) await cdp.send('Page.navigate', { url: popupUrl }, sessionId) @@ -957,6 +1028,10 @@ async function captureScenario(cdp, inWorker, popupUrl, s) { // the rest; a scenario whose pills are already up says so with settledPills. const clicks = s.clicks ?? [] const settledPills = clicks.length ? (s.settledPills ?? 0) : s.expectPills + // Every capture is of a popup that has finished: no card may still be + // standing a placeholder where its lookup will go + // (src/popup/cards/loading.ts). The one capture that is *of* those + // placeholders waits for exactly the opposite. const ready = `(() => { const pub = document.getElementById('pub') if (!pub || document.readyState !== 'complete') return false @@ -991,7 +1066,19 @@ async function captureScenario(cdp, inWorker, popupUrl, s) { `${s.name} images to load`, SETTLE_MS, ) - await new Promise((r) => setTimeout(r, 200)) + // Every capture but one is of a popup that has finished: the card marks + // itself busy while any of its lookups is still out, and a shot taken + // before they land is a shot of the placeholders those lookups stand + // behind (src/popup/cards/loading.ts). The exception is the capture that + // is *of* the placeholders, whose lookups are stalled and never land. + if (!s.stall) { + await poll( + () => evaluate(cdp, sessionId, `!document.getElementById('pub').hasAttribute('aria-busy')`), + `${s.name} lookups to land`, + SETTLE_MS, + ) + } + await new Promise((r) => setTimeout(r, s.hold ?? 200)) if (asked) { // Every stub labeler must have been asked, and every stubbed label must