mirror of
https://github.com/expo/code-review-cli.git
synced 2026-11-13 20:28:06 -10:00
* feat: stop repeating inline findings in the main comment * fix: keep inlined finding ids in the main comment, and cover dismissals and truncation * fix: trim inlined findings first when the aggregate comment is too large * fix: keep 3 inlined findings per scope, and restore threads before the /undismiss render * fix: keep the size floor at 3 per scope, and link a thread only once it shows the finding - The aggregate size cap kept 3 inlined plus 3 listed findings per scope, twice the old floor, so a comment that fit before could exceed GitHub's limit. Now every inlined finding is trimmed before a listed one, and a scope keeps at least 3 in total. The trim note says the trimmed ids can't be dismissed. - syncInline linked an existing thread before patching it. A stub whose restore failed or was skipped after a rate limit was linked, so the finding was shown nowhere. Now a thread is linked only when it already shows the finding or its update succeeded. - The inline row shows each finding's location: the fingerprint leaves out the line, so a moved finding keeps its thread on the old line. - The thread footer no longer says the main comment has the full review. * fix: give back room the size cap over-trimmed, and link only threads that show the finding - The inlined limit is shared by every scope, so one scope's overflow trimmed scopes that fit and dropped their input hash. Once the body fits, both limits are raised again by binary search, inlined first. - When 3 large findings still don't fit, the cap goes below the floor instead of returning a body GitHub rejects. - An outdated thread (GitHub returns line null once its line left the diff) is not linked, so its finding is listed in full. - /dismiss and /undismiss link a thread only when it shows the stored finding as it renders now, the rule syncInline uses, and pick the newest of duplicates. - LLP 0008 is split into shorter sections without the history, and LLP 0005, the plan, README and template describe the cap and the live-thread rule. --------- Co-authored-by: Brent Vatne <[email protected]>