Repository navigation
feat(merge_requests): connect original review snapshots - #639
Conversation
Capture single-parent original review references and strict literal row selections through an account-bound session, rejecting changed origins and complete file fingerprints. Signed-off-by: sjungwon03 <sjungwon03@gmail.com>
sjungwon03-ai
left a comment
There was a problem hiding this comment.
Reviewed commit 981a345: All five remote PR blobs match the reviewed local commit. One captured controller origin routes exact project/IID/global MR/commit identity and checks account/provider/generation currency around every await. Original refs support only a single canonical distinct parent; unknown/root/multiple parents remain unselectable. Strict immutable literal files reject ambiguous paths and fabricated/foreign row selections. Whole-file DTO and MR origin fingerprints reject changes beyond selected text. Multiline positions are canonical and return captured immutable rows; shared cached path hashes preserve display compatibility. Full format/analyze and 7,914 local tests pass, including 37 new cases and real-adapter traversal. No blocking findings. This is read/selection state, not write authorization; shared guarded private-save/recovery UI remains a follow-up.
Summary
Connect captured original MR commit reads to strict immutable review snapshots and resource-bound selection fingerprints. One explicitly reported parent supplies original base/start references and the selected commit supplies head. Unknown/root/multiple parents remain unselectable. Selected rows must belong to the captured literal snapshot; changed MR origin, references, full raw file text or metadata invalidates selection.
An auto-dispose controller captures account/repository currency and changes its session on reload. Obsolete reads/errors are discarded, and current typed failures remain visible. Existing display range behavior remains compatible; literal path hashes are shared and cached per file.
Closes #638
Validation
dart format .: 973 files, no outstanding changes.flutter analyze: no issues.Checklist
dev, linked issue, Conventional Commit and DCO sign-off.Notes for reviewers
Single-parent references implement GitLab's original commit convention; this is not a new REST field or all-version guarantee. Root and multiple-parent commits are intentionally unselectable. Snapshot/selection state does not authorize writes: fresh original references/availability, captured session checks and the shared pending-review write reservation/settled recovery must be connected before exposing private-save UI.