verification: github #29567 / git.cafe #29567 main: 60aec28a9c6fdb7417a7382ec094ccc4984d0738 pr head: e0af7906ea76bc0781c749d89fdbc0d1ade67e75 real local Forgejo 12, tea 0.16.0, Chrome + repository Playwright created project /home/user/review-verification using Add project > Local folder created thread and submitted real Codex gpt-6.1-sol turns through the composer GET /api/v1/repos/author/review-verification/pulls/1/reviews [ { "id": 1, "author": "reviewer", "state": "REQUEST_CHANGES", "dismissed": true }, { "id": 2, "author": "approver", "state": "APPROVED", "dismissed": false }, { "id": 3, "author": "obsolete-approver", "state": "APPROVED", "dismissed": true }, { "id": 4, "author": "active-reviewer", "state": "REQUEST_CHANGES", "dismissed": false } ] main web UI: dismissed request still says Changes requested; dismissed approval still says Approved; both appear in reviewer summary. pr web client WebSocket activity response (captured from actual browser network frames): [ { "id": "review:1", "body": "Please revise the verification change.", "reviewState": "DISMISSED" }, { "id": "review:2", "body": "Active approval remains visible.", "reviewState": "APPROVED" }, { "id": "5", "body": "Ordinary issue comment remains visible.", "reviewState": null }, { "id": "review:3", "body": "Obsolete approval must be hidden.", "reviewState": "DISMISSED" }, { "id": "review:4", "body": "Active change request remains visible.", "reviewState": "CHANGES_REQUESTED" } ] pr web UI: 5 comments, 2 hidden; active approval, active change request and ordinary comment remain. Filter > Resolved or dismissed reveals both dismissed bodies as Review dismissed; toggle off hides them again. Timeline and Code tabs load; change.txt renders the real added line. Codex turn on main completed in 12s: current branch review-change, added file change.txt. Codex turn on PR completed in 40s: read actual Forgejo API using tea, correctly separated the 2 active and 2 dismissed reviews. blacksmith: vp test run packages/source-control-forgejo/src/server/forgejoPullRequestJson.test.ts packages/source-control-forgejo/src/server/ForgejoPullRequestProvider.test.ts 2 test files passed, 10 tests passed. existing PR CI: 31 successful, 0 failing, 0 pending. unverified: native mobile, Electron shell, Gitea server, remote/relay/tunnel connections. no source changes or pushes.