From 06182366bd5523ae711d4a89f7001d11d492a7f8 Mon Sep 17 00:00:00 2001 From: testvalue Date: Fri, 3 Apr 2026 21:25:06 -0400 Subject: [PATCH 01/11] feat: adds Open Graph and Twitter Card meta tags --- index.html | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/index.html b/index.html index 5f121633..816538e0 100644 --- a/index.html +++ b/index.html @@ -4,6 +4,19 @@ GitHub Tracker + + + + + + + + + + + + + From a2d5c523ab3ddcca8f4bd8e83fc40d1beb5edabc Mon Sep 17 00:00:00 2001 From: testvalue Date: Fri, 3 Apr 2026 21:29:06 -0400 Subject: [PATCH 02/11] chore: adds Playwright screenshot capture script --- e2e/capture-screenshot.spec.ts | 476 +++++++++++++++++++++++++ package.json | 3 +- playwright.config.screenshot.ts | 25 ++ playwright.config.ts | 1 + public/assets/dashboard-screenshot.png | Bin 0 -> 66365 bytes 5 files changed, 504 insertions(+), 1 deletion(-) create mode 100644 e2e/capture-screenshot.spec.ts create mode 100644 playwright.config.screenshot.ts create mode 100644 public/assets/dashboard-screenshot.png diff --git a/e2e/capture-screenshot.spec.ts b/e2e/capture-screenshot.spec.ts new file mode 100644 index 00000000..1d896078 --- /dev/null +++ b/e2e/capture-screenshot.spec.ts @@ -0,0 +1,476 @@ +import { test } from "@playwright/test"; + +const RESET_AT = new Date(Date.now() + 3600_000).toISOString(); + +// ── Synthetic data ──────────────────────────────────────────────────────────── + +// GraphQL node IDs are base64-encoded strings like "PR_kgDOBsomeId" +const lightPRNodes = [ + { + id: "PR_kgDOBcAcmeCorp001", + databaseId: 100001, + number: 247, + title: "feat: migrate authentication to passkey support", + state: "OPEN", + isDraft: false, + url: "https://github.com/acme-corp/web-platform/pull/247", + createdAt: "2026-03-28T09:15:00Z", + updatedAt: "2026-04-03T10:30:00Z", + author: { login: "jdoe", avatarUrl: "https://avatars.githubusercontent.com/u/12345?v=4" }, + repository: { nameWithOwner: "acme-corp/web-platform", stargazerCount: 1842 }, + headRefName: "feat/passkey-auth", + baseRefName: "main", + reviewDecision: "APPROVED", + labels: { nodes: [{ name: "feature", color: "0075ca" }, { name: "security", color: "e4e669" }] }, + }, + { + id: "PR_kgDOBcAcmeCorp002", + databaseId: 100002, + number: 312, + title: "fix: resolve N+1 query in user profile endpoint", + state: "OPEN", + isDraft: false, + url: "https://github.com/acme-corp/api-gateway/pull/312", + createdAt: "2026-04-01T14:20:00Z", + updatedAt: "2026-04-03T08:45:00Z", + author: { login: "msmith", avatarUrl: "https://avatars.githubusercontent.com/u/67890?v=4" }, + repository: { nameWithOwner: "acme-corp/api-gateway", stargazerCount: 573 }, + headRefName: "fix/n-plus-one-profile", + baseRefName: "main", + reviewDecision: "CHANGES_REQUESTED", + labels: { nodes: [{ name: "bug", color: "d73a4a" }, { name: "performance", color: "fef2c0" }] }, + }, + { + id: "PR_kgDOBcAcmeCorp003", + databaseId: 100003, + number: 89, + title: "chore: update design token naming to match Figma variables", + state: "OPEN", + isDraft: true, + url: "https://github.com/acme-corp/design-system/pull/89", + createdAt: "2026-04-02T11:00:00Z", + updatedAt: "2026-04-03T09:00:00Z", + author: { login: "jdoe", avatarUrl: "https://avatars.githubusercontent.com/u/12345?v=4" }, + repository: { nameWithOwner: "acme-corp/design-system", stargazerCount: 228 }, + headRefName: "chore/design-token-rename", + baseRefName: "main", + reviewDecision: "REVIEW_REQUIRED", + labels: { nodes: [{ name: "design", color: "bfd4f2" }] }, + }, + { + id: "PR_kgDOBJdoe004", + databaseId: 100004, + number: 15, + title: "docs: add fish shell configuration and plugin bootstrap", + state: "OPEN", + isDraft: false, + url: "https://github.com/jdoe/dotfiles/pull/15", + createdAt: "2026-03-30T16:45:00Z", + updatedAt: "2026-04-02T20:10:00Z", + author: { login: "rlee", avatarUrl: "https://avatars.githubusercontent.com/u/99001?v=4" }, + repository: { nameWithOwner: "jdoe/dotfiles", stargazerCount: 47 }, + headRefName: "docs/fish-shell-guide", + baseRefName: "main", + reviewDecision: "APPROVED", + labels: { nodes: [{ name: "documentation", color: "0075ca" }] }, + }, + { + id: "PR_kgDOBOpenStack005", + databaseId: 100005, + number: 4821, + title: "perf: parallelize volume attachment in compute scheduler", + state: "OPEN", + isDraft: false, + url: "https://github.com/openstack/nova/pull/4821", + createdAt: "2026-03-25T07:30:00Z", + updatedAt: "2026-04-03T11:15:00Z", + author: { login: "jdoe", avatarUrl: "https://avatars.githubusercontent.com/u/12345?v=4" }, + repository: { nameWithOwner: "openstack/nova", stargazerCount: 5102 }, + headRefName: "perf/parallel-volume-attach", + baseRefName: "master", + reviewDecision: "REVIEW_REQUIRED", + labels: { nodes: [{ name: "performance", color: "fef2c0" }, { name: "compute", color: "c5def5" }] }, + }, + { + id: "PR_kgDOBcAcmeCorp006", + databaseId: 100006, + number: 248, + title: "refactor: extract shared rate-limiting middleware", + state: "OPEN", + isDraft: false, + url: "https://github.com/acme-corp/web-platform/pull/248", + createdAt: "2026-04-03T08:00:00Z", + updatedAt: "2026-04-03T12:00:00Z", + author: { login: "jdoe", avatarUrl: "https://avatars.githubusercontent.com/u/12345?v=4" }, + repository: { nameWithOwner: "acme-corp/web-platform", stargazerCount: 1842 }, + headRefName: "refactor/rate-limit-middleware", + baseRefName: "main", + reviewDecision: null, + labels: { nodes: [{ name: "refactor", color: "e4e669" }] }, + }, +]; + +const heavyPRNodes = [ + { + databaseId: 100001, + headRefOid: "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2", + headRepository: { owner: { login: "jdoe" }, nameWithOwner: "jdoe/web-platform-fork" }, + mergeStateStatus: "CLEAN", + assignees: { nodes: [] }, + reviewRequests: { nodes: [] }, + latestReviews: { + totalCount: 2, + nodes: [{ author: { login: "msmith" } }, { author: { login: "rlee" } }], + }, + additions: 312, + deletions: 47, + changedFiles: 8, + comments: { totalCount: 6 }, + reviewThreads: { totalCount: 1 }, + commits: { nodes: [{ commit: { statusCheckRollup: { state: "SUCCESS" } } }] }, + }, + { + databaseId: 100002, + headRefOid: "b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3", + headRepository: { owner: { login: "msmith" }, nameWithOwner: "acme-corp/api-gateway" }, + mergeStateStatus: "BLOCKED", + assignees: { nodes: [{ login: "jdoe" }] }, + reviewRequests: { nodes: [] }, + latestReviews: { + totalCount: 1, + nodes: [{ author: { login: "jdoe" } }], + }, + additions: 89, + deletions: 23, + changedFiles: 4, + comments: { totalCount: 12 }, + reviewThreads: { totalCount: 3 }, + commits: { nodes: [{ commit: { statusCheckRollup: { state: "SUCCESS" } } }] }, + }, + { + databaseId: 100003, + headRefOid: "c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4", + headRepository: { owner: { login: "jdoe" }, nameWithOwner: "acme-corp/design-system" }, + mergeStateStatus: "DRAFT", + assignees: { nodes: [] }, + reviewRequests: { nodes: [{ requestedReviewer: { login: "msmith" } }] }, + latestReviews: { totalCount: 0, nodes: [] }, + additions: 1240, + deletions: 890, + changedFiles: 31, + comments: { totalCount: 2 }, + reviewThreads: { totalCount: 0 }, + commits: { nodes: [{ commit: { statusCheckRollup: { state: "PENDING" } } }] }, + }, + { + databaseId: 100004, + headRefOid: "d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5", + headRepository: { owner: { login: "rlee" }, nameWithOwner: "jdoe/dotfiles" }, + mergeStateStatus: "CLEAN", + assignees: { nodes: [] }, + reviewRequests: { nodes: [] }, + latestReviews: { + totalCount: 1, + nodes: [{ author: { login: "jdoe" } }], + }, + additions: 45, + deletions: 8, + changedFiles: 3, + comments: { totalCount: 1 }, + reviewThreads: { totalCount: 0 }, + commits: { nodes: [{ commit: { statusCheckRollup: { state: "SUCCESS" } } }] }, + }, + { + databaseId: 100005, + headRefOid: "e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6", + headRepository: { owner: { login: "jdoe" }, nameWithOwner: "openstack/nova" }, + mergeStateStatus: "BLOCKED", + assignees: { nodes: [] }, + reviewRequests: { nodes: [{ requestedReviewer: { login: "msmith" } }, { requestedReviewer: { login: "rlee" } }] }, + latestReviews: { totalCount: 0, nodes: [] }, + additions: 678, + deletions: 142, + changedFiles: 14, + comments: { totalCount: 8 }, + reviewThreads: { totalCount: 2 }, + commits: { nodes: [{ commit: { statusCheckRollup: { state: "FAILURE" } } }] }, + }, + { + databaseId: 100006, + headRefOid: "f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1", + headRepository: { owner: { login: "jdoe" }, nameWithOwner: "acme-corp/web-platform" }, + mergeStateStatus: "UNKNOWN", + assignees: { nodes: [] }, + reviewRequests: { nodes: [{ requestedReviewer: { login: "msmith" } }] }, + latestReviews: { totalCount: 0, nodes: [] }, + additions: 156, + deletions: 34, + changedFiles: 6, + comments: { totalCount: 0 }, + reviewThreads: { totalCount: 0 }, + commits: { nodes: [{ commit: { statusCheckRollup: null } }] }, + }, +]; + +const lightIssueNodes = [ + { + databaseId: 200001, + number: 1023, + title: "OAuth login fails on Safari when third-party cookies are blocked", + state: "OPEN", + url: "https://github.com/acme-corp/web-platform/issues/1023", + createdAt: "2026-03-29T10:00:00Z", + updatedAt: "2026-04-02T15:30:00Z", + author: { login: "bwilson", avatarUrl: "https://avatars.githubusercontent.com/u/44444?v=4" }, + assignees: { nodes: [{ login: "jdoe" }] }, + labels: { nodes: [{ name: "bug", color: "d73a4a" }, { name: "auth", color: "e4e669" }] }, + comments: { totalCount: 14 }, + repository: { nameWithOwner: "acme-corp/web-platform", stargazerCount: 1842 }, + }, + { + databaseId: 200002, + number: 445, + title: "Add request tracing headers for distributed debugging", + state: "OPEN", + url: "https://github.com/acme-corp/api-gateway/issues/445", + createdAt: "2026-04-01T09:20:00Z", + updatedAt: "2026-04-03T11:00:00Z", + author: { login: "jdoe", avatarUrl: "https://avatars.githubusercontent.com/u/12345?v=4" }, + assignees: { nodes: [] }, + labels: { nodes: [{ name: "enhancement", color: "a2eeef" }, { name: "observability", color: "c5def5" }] }, + comments: { totalCount: 3 }, + repository: { nameWithOwner: "acme-corp/api-gateway", stargazerCount: 573 }, + }, + { + databaseId: 200003, + number: 62, + title: "Button component missing aria-disabled when loading state active", + state: "OPEN", + url: "https://github.com/acme-corp/design-system/issues/62", + createdAt: "2026-03-31T13:45:00Z", + updatedAt: "2026-04-01T09:00:00Z", + author: { login: "jdoe", avatarUrl: "https://avatars.githubusercontent.com/u/12345?v=4" }, + assignees: { nodes: [{ login: "jdoe" }] }, + labels: { nodes: [{ name: "accessibility", color: "7057ff" }, { name: "bug", color: "d73a4a" }] }, + comments: { totalCount: 7 }, + repository: { nameWithOwner: "acme-corp/design-system", stargazerCount: 228 }, + }, + { + databaseId: 200004, + number: 7834, + title: "Live migration fails when instance has SR-IOV NIC attached", + state: "OPEN", + url: "https://github.com/openstack/nova/issues/7834", + createdAt: "2026-03-20T08:00:00Z", + updatedAt: "2026-04-03T10:00:00Z", + author: { login: "kpatel", avatarUrl: "https://avatars.githubusercontent.com/u/55555?v=4" }, + assignees: { nodes: [{ login: "jdoe" }, { login: "msmith" }] }, + labels: { nodes: [{ name: "bug", color: "d73a4a" }, { name: "compute", color: "c5def5" }, { name: "high-priority", color: "e11d48" }] }, + comments: { totalCount: 31 }, + repository: { nameWithOwner: "openstack/nova", stargazerCount: 5102 }, + }, +]; + +const workflowRunsResponse = { + total_count: 8, + workflow_runs: [ + { + id: 9001, + name: "CI", + status: "completed", + conclusion: "success", + event: "push", + workflow_id: 801, + head_sha: "a1b2c3d4", + head_branch: "main", + run_number: 412, + html_url: "https://github.com/acme-corp/web-platform/actions/runs/9001", + created_at: "2026-04-03T09:00:00Z", + updated_at: "2026-04-03T09:12:00Z", + run_started_at: "2026-04-03T09:00:30Z", + completed_at: "2026-04-03T09:12:00Z", + run_attempt: 1, + display_title: "feat: passkey auth", + actor: { login: "jdoe" }, + }, + { + id: 9002, + name: "Deploy Preview", + status: "completed", + conclusion: "failure", + event: "pull_request", + workflow_id: 802, + head_sha: "b2c3d4e5", + head_branch: "fix/n-plus-one-profile", + run_number: 87, + html_url: "https://github.com/acme-corp/api-gateway/actions/runs/9002", + created_at: "2026-04-03T08:30:00Z", + updated_at: "2026-04-03T08:41:00Z", + run_started_at: "2026-04-03T08:30:15Z", + completed_at: "2026-04-03T08:41:00Z", + run_attempt: 1, + display_title: "fix: resolve N+1 query", + actor: { login: "msmith" }, + }, + { + id: 9003, + name: "CI", + status: "in_progress", + conclusion: null, + event: "pull_request", + workflow_id: 803, + head_sha: "c3d4e5f6", + head_branch: "chore/design-token-rename", + run_number: 34, + html_url: "https://github.com/acme-corp/design-system/actions/runs/9003", + created_at: "2026-04-03T11:55:00Z", + updated_at: "2026-04-03T12:01:00Z", + run_started_at: "2026-04-03T11:55:30Z", + completed_at: null, + run_attempt: 1, + display_title: "chore: design token rename", + actor: { login: "jdoe" }, + }, + ], +}; + +// ── Test ────────────────────────────────────────────────────────────────────── + +test("capture dashboard screenshot", async ({ page }) => { + // 1a. Seed localStorage before any navigation + await page.addInitScript(() => { + localStorage.setItem("github-tracker:auth-token", "ghu_fake_screenshot_token"); + localStorage.setItem( + "github-tracker:config", + JSON.stringify({ + onboardingComplete: true, + selectedOrgs: ["acme-corp", "jdoe", "openstack"], + selectedRepos: [ + { owner: "acme-corp", name: "web-platform", fullName: "acme-corp/web-platform" }, + { owner: "acme-corp", name: "api-gateway", fullName: "acme-corp/api-gateway" }, + { owner: "acme-corp", name: "design-system", fullName: "acme-corp/design-system" }, + { owner: "jdoe", name: "dotfiles", fullName: "jdoe/dotfiles" }, + { owner: "jdoe", name: "blog", fullName: "jdoe/blog" }, + { owner: "openstack", name: "nova", fullName: "openstack/nova" }, + ], + trackedUsers: [ + { + login: "jdoe", + avatarUrl: "https://avatars.githubusercontent.com/u/12345?v=4", + name: "Jane Doe", + type: "user", + }, + ], + theme: "dark", + }) + ); + }); + + // 1b. Mock all GitHub API routes before navigation. + // Routes are matched in reverse registration order (last registered = highest priority). + // Register the catch-all first so specific routes take priority. + await page.route("https://api.github.com/**", (route) => { + // Allow requests to fall through to more-specific handlers registered after this one. + // If nothing else matched, fulfill with an empty 200 to prevent hangs. + return route.fulfill({ status: 200, json: {} }); + }); + + await page.route("https://api.github.com/notifications*", (route) => + route.fulfill({ status: 200, json: [] }) + ); + + await page.route("https://api.github.com/repos/*/*/actions/runs*", (route) => + route.fulfill({ + status: 200, + json: workflowRunsResponse, + }) + ); + + await page.route("https://api.github.com/graphql", async (route) => { + const body = route.request().postDataJSON() as { query?: string; variables?: Record } | null; + const query = body?.query ?? ""; + const variables = body?.variables ?? {}; + + // Heavy backfill: nodes(ids: [...]) + if (query.includes("nodes(ids:") || "ids" in variables) { + return route.fulfill({ + status: 200, + json: { + data: { + nodes: heavyPRNodes, + rateLimit: { limit: 5000, remaining: 4900, resetAt: RESET_AT }, + }, + }, + }); + } + + // Light combined search: LIGHT_COMBINED_SEARCH_QUERY uses issueQ/prInvQ/prRevQ variables + if ("issueQ" in variables || "prInvQ" in variables || "prRevQ" in variables) { + return route.fulfill({ + status: 200, + json: { + data: { + issues: { + issueCount: lightIssueNodes.length, + pageInfo: { hasNextPage: false, endCursor: null }, + nodes: lightIssueNodes, + }, + prInvolves: { + issueCount: lightPRNodes.length, + pageInfo: { hasNextPage: false, endCursor: null }, + nodes: lightPRNodes, + }, + prReviewReq: { + issueCount: 0, + pageInfo: { hasNextPage: false, endCursor: null }, + nodes: [], + }, + rateLimit: { limit: 5000, remaining: 4950, resetAt: RESET_AT }, + }, + }, + }); + } + + // Fallback: minimal rate limit response + return route.fulfill({ + status: 200, + json: { + data: { + rateLimit: { limit: 5000, remaining: 4900, resetAt: RESET_AT }, + }, + }, + }); + }); + + // /user is registered last so it has highest priority (matched before the catch-all) + await page.route("https://api.github.com/user", (route) => + route.fulfill({ + status: 200, + json: { + login: "jdoe", + name: "Jane Doe", + avatar_url: "https://avatars.githubusercontent.com/u/12345?v=4", + id: 12345, + }, + }) + ); + + // 1c. Navigate and capture + await page.goto("/dashboard"); + await page.getByRole("tablist").waitFor(); + await page.waitForTimeout(1500); + + // Switch to Pull Requests tab for a richer screenshot + await page.getByRole("tab", { name: /pull requests/i }).click(); + await page.waitForTimeout(500); + + // Expand the first collapsed repo group by clicking its header button + const firstCollapsedGroup = page.getByRole("button", { expanded: false }).first(); + if (await firstCollapsedGroup.isVisible()) { + await firstCollapsedGroup.click(); + await page.waitForTimeout(500); + } + + await page.setViewportSize({ width: 1280, height: 800 }); + await page.screenshot({ path: "public/assets/dashboard-screenshot.png" }); +}); diff --git a/package.json b/package.json index 598102a3..e19fac9c 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,8 @@ "deploy": "wrangler deploy", "typecheck": "tsc --noEmit", "test:e2e": "E2E_PORT=$(node -e \"const s=require('net').createServer();s.listen(0,()=>{console.log(s.address().port);s.close()})\") playwright test", - "test:waf": "bash scripts/waf-smoke-test.sh" + "test:waf": "bash scripts/waf-smoke-test.sh", + "screenshot": "pnpm exec playwright test --config playwright.config.screenshot.ts" }, "dependencies": { "@kobalte/core": "0.13.11", diff --git a/playwright.config.screenshot.ts b/playwright.config.screenshot.ts new file mode 100644 index 00000000..c6dc3cbb --- /dev/null +++ b/playwright.config.screenshot.ts @@ -0,0 +1,25 @@ +import { defineConfig, devices } from "@playwright/test"; + +const port = Number(process.env.E2E_PORT) || 5173; + +export default defineConfig({ + testDir: "./e2e", + testMatch: ["**/capture-screenshot.spec.ts"], + timeout: 60_000, + use: { + baseURL: `http://localhost:${port}`, + viewport: { width: 1280, height: 800 }, + }, + projects: [ + { + name: "chromium", + use: { ...devices["Desktop Chrome"], channel: "chrome" }, + }, + ], + webServer: { + command: `pnpm exec vite dev --port ${port} --strictPort`, + url: `http://localhost:${port}`, + timeout: 120_000, + reuseExistingServer: !process.env.CI, + }, +}); diff --git a/playwright.config.ts b/playwright.config.ts index 6b72203c..4b2d684f 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -4,6 +4,7 @@ const port = Number(process.env.E2E_PORT) || 5173; export default defineConfig({ testDir: "./e2e", + testIgnore: ["**/capture-screenshot.spec.ts"], reporter: [["html", { open: "never" }]], use: { baseURL: `http://localhost:${port}`, diff --git a/public/assets/dashboard-screenshot.png b/public/assets/dashboard-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..bad4fa51271c2deee6171f81d3e75801ec27a1df GIT binary patch literal 66365 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