fix(forge): show formal reviews and inline feedback in view #310
No reviewers
Labels
No labels
area/accessibility
area/audio
area/input
area/install
area/menu
area/renderer
area/saves
area/upscaling
beanstalk: approved @ 1697603
beanstalk: approved @ 2c5a62e
beanstalk: approved @ 4fd82b7
beanstalk: approved @ 64d6d09
beanstalk: approved @ 6f91fae
beanstalk: approved @ 70a78f9
beanstalk: approved @ 8d361dc
beanstalk: approved @ 9d8356e
beanstalk: approved @ abf2227
beanstalk: approved @ d82f202
beanstalk: approved @ e5f1e40
beanstalk: approved @ ee8ab5f
ci: approved
good first issue
gpu/amd
gpu/igpu
gpu/intel
gpu/nvidia
help wanted
kind
bug
kind
chore
kind
docs
kind
feature
kind
performance
kind
question
needs measurements
platform/linux
platform/macos
platform/steam-deck
platform/windows
preview
priority
critical
priority
high
priority
low
regression
status
blocked
status
confirmed
status
duplicate
status
invalid
status
needs-info
status
wontfix
testing wanted
ci: approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Longshot!310
Loading…
Reference in a new issue
No description provided.
Delete branch "monsterlag/Longshot:fix/forge-review-feedback"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Why
Contributors following review feedback with
forge.py pr view --commentscannot see formal review summaries or inline comments. A requested-changes verdict can appear in status while its actual explanation is missing from the documented reading command.What changed
scripts/forge.py: include submitted review verdicts, summaries and inline feedback with the existing optional discussion output. Print the review commit and thread links, mark dismissed/stale reviews and resolved threads, and preserve the API's supplied file positions.tests/test_forge_pr.py: eight CLI regression methods cover the output, overlapping APIs and ID namespaces, state filtering, original/resolved locations, server caps of 20/50, ignored page parameters, unchanged default output and explicit API failure. Existing network guards remain active.docs/tested/files record the current CPU-only regression runs.docs/forge.md: document the added feedback and pagination behavior. Issue view and review posting are unchanged.Flags and settings
None. The existing
--commentsoption includes the additional feedback; default view output is unchanged.Measurements
main:
9c9d69ed09(2026-11-14)this PR: fix/forge-review-feedback @
4aa011a1e6Hardware: Ryzen 7 9800X3D, 96 GiB RAM, Windows 11 build 26300, native Python 3.14.7. No GPU used by this check.
Scene: authored, network-guarded CLI cases and live metadata from PR277. No game scene.
Method: focused check as warm-up; two sequential interleaved main/PR runs of the same eight new regression methods, then two interleaved live CLI pairs. Live calls now use ordinary Windows piped output without
-X utf8: main includes the separate stream fix from PR120. No performance improvement is claimed.How to reproduce: run the eight
PR.test_review_view_*methods intests/test_forge_pr.py; for main, load main'sscripts/forge.pywith the same new tests. Runpython -I -B scripts/forge.py pr view 277 --commentson both checkouts. All live calls are read-only API metadata requests; displayed HTML/attachment URLs are never opened.9c9d69ed4aa011a1The live summaries/positions were observed on 2026-11-14. The failing-assertion count includes pagination subtests, so it can exceed the number of methods.
Testing
Tested: native Windows focused CLI check; two fresh interleaved eight-method regression pairs on main9c9d69ed and the carried PR (9 assertion/subtest failures on main, zero here, errors/skips0); two live metadata-only PR277 pairs (main0/0 formal/inline, here2/2, all exits0); independent read-only review. Full
python -I -B tests/run_all.py --jobs 8ond00ff970: 533 passed, 3 failed, 34 skipped in 257s. The same three groups fail on untouched main9c9d69ed in fresh focused checks:test_oot_state_tap.py(Windows bridge connection race, issue481),test_tested_configurations.py(authored stream newline assumption, issue482), andtest_walk_key.py(missing stand-in after the Skip-title merge, already claimed by mooki). No assertion was weakened and no skip was added.The final head
4aa011a1adds only the four measured-run records after that suite; production/test files match the measured tree. The repository-fragment validation passes after those records, andgit diff --checkpasses. History was preserved by merging the frozen main rather than rewriting published commits.Not tested: live CLI on Linux/macOS, unpublished drafts on the server, concurrent API mutations or every Forgejo version. State/overlap fixtures remain guarded; live verification used submitted reviews. File positions are supplied by the API, not an inferred diff-side mapping. This change does not run in the game.
Needs other testers: None for this read-only CLI fix.
Screenshots
CLI output is shown in Measurements. Nothing in the game changes.
Risk and rollback
--commentsmakes additional read-only metadata requests and shows grouped review feedback after ordinary discussion. An API error is reported as a failed command rather than silently omitting reviews. Reverting this commit restores the old display. No review posting, authentication, game data or attachment handling changes.Reviewer notes
Start at
api_pagesandshow_pr_comments. Review IDs are distinct from issue-comment IDs; only inline IDs and supplied URLs suppress overlapping discussion entries. The pagination fixture exercises both real-world server behaviors: clamped page size and ignored page number. Main now includes PR120's output-stream setup; this change remains separate from the attachment listings in PR298/300.Issues
Fixes #301
Checklist
For everyone
type(scope): description).main.python -I -B tests/run_all.pyrun and passing (any failure that also fails onmainis named above).third_party/untouched (a new folder with aPROVENANCE.mdinstead).If applicable
docs/tested/for each new measured run (format indocs/tested-configurations.md; no appended row or assembled view).Assisted-by:/Co-Authored-By:trailers.mainand passing here.tests/that reads changed source updated in this PR, not weakened.WIP: fix(forge): show formal reviews and inline feedback in viewto fix(forge): show formal reviews and inline feedback in viewMerged main9c9d69ed without rewriting published history and refreshed two native regression/live pairs. Full suite533pass/3main-baseline-fail/34skip; the three Windows check failures are named with fresh main reproductions. Final record-only commit adds four CPU-only run files; fragment validation passes. Live output now works without the old UTF8 override because PR120 is on main.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.