verification: github #24151 / git.cafe #24152 baseline: github/main f17c9d202b38ea9a009a2d6dc3932e212bad4c24 pr head: 5f60c38861a5bc61254a6ef23077bee5060da451 (unmodified) real app: Playwright 1.60.0 from repo dependencies, /usr/bin/google-chrome, vp run dev, real local Forgejo 12 and tea 0.16.0, real git repository. projects and threads created through the web UI; Codex gpt-6.1-sol turns created/committed/pushed hello there and hello friend on main; a PR-head Codex turn read the file and confirmed its blob without changing it. 2026-10-28T08:52:11Z main showed hello there (blob 66ace89). 2026-10-28T08:52:13Z Forgejo served pushed hello friend (blob baf56bc). The client still drew hello there immediately before the tick. 08:52:14 client: pullRequests.setFilesViewed files=[{path:src/greeting.ts,viewed:true}] 08:52:15 sqlite read: PR2 revision=baf56bc (unseen pushed blob). After Refresh pull requests, main drew hello friend and checkbox=true Viewed. 2026-10-28T09:17:15Z PR head showed hello there (blob 66ace89). 09:17:19 Forgejo served pushed hello friend; client still drew hello there. 09:17:19 client: files=[{path:src/greeting.ts,viewed:true,revision:66ace89}] 09:17:20 sqlite read: PR3 revision=66ace89; checkbox=false Changed. 09:17:25 after Refresh pull requests: hello friend, checkbox=false Changed. 09:17:27 client retick: revision=baf56bc. 09:17:29 sqlite read: revision=baf56bc; checkbox=true Viewed, file folded. 09:17:29 client untick: viewed=false. 09:17:31 checkbox=false, file expanded with hello friend. Reload: clearing persisted. commit-specific / warm-cache fallback: selected cc267c2 (feat: add greeting), which displays hello there. 09:18:56 tick with no revision; head hello friend cached, then unticked. pushed hello neighbor; waited until Forgejo diff served it. 09:19:18 client tick carried no revision, 22 seconds after warm read. 09:19:18 sqlite read: revision=8ab0628 (hello neighbor); checkbox=true Viewed. This confirms fresh bypasses the 60-second cache and commit view omits revision. The documented fallback can count an unseen head as viewed. blacksmith: 138 tests passed across PullRequestService.test.ts (105), filesViewedStore.test.ts (9), BitbucketPullRequestApi.test.ts (24). Existing CI: 27 successful, 0 failing, 0 pending at exact PR head. No code changes, commits, pushes, labels, merges, rebases or force-pushes to target PR. finding: first PR client startup stalled >10 minutes. Server logged event-loop stalls up to 77,719 ms; VM memory pressure full avg10 was 49.37%. Recovered after stopping only task-owned dev/browser processes, restarting Chrome with GPU disabled and limiting Node heap to 1536 MiB. All verification above then completed. This is recorded as an environment/startup limitation; no causal attribution to the PR is established. not verified: native desktop/mobile, macOS/Windows, real GitLab/Bitbucket/ Azure DevOps/GitHub viewed-file integrations, remote/relay/tunnel clients.