You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Deep link URL format — PR URLs accept optional query parameters for file, lines, and comment that target a specific location within the review.
Link resolution with tab routing — When a deep link is opened, the app automatically navigates to the correct tab (Chapters or Files) and, if applicable, the specific chapter that contains the target file. If the user is already on a specific tab, that tab preference is respected.
Scroll-to-target — After navigating to the correct tab/chapter, the viewport scrolls to the targeted file, line range, or comment. Handles async-rendered content by retrying until the element appears in the DOM.
Copy Link action on comments — Every submitted comment and reply has a "Copy link" action in its dropdown menu that copies a deep link URL pointing to that comment.
Copy Link action on files — Every file header has a "Copy link" action that copies a deep link URL pointing to that file.
Graceful degradation — If the linked file or comment no longer exists in the PR (e.g., after a force-push), the user sees a toast error explaining what's missing instead of a broken experience.
Line range support — Deep links can target a range of lines with side information (additions/deletions), encoded in a compact syntax like R5-R8 or L10.
Functional Requirements
Deep link URL format — PR URLs accept optional query parameters for file, lines, and comment that target a specific location within the review.
Link resolution with tab routing — When a deep link is opened, the app automatically navigates to the correct tab (Chapters or Files) and, if applicable, the specific chapter that contains the target file. If the user is already on a specific tab, that tab preference is respected.
Scroll-to-target — After navigating to the correct tab/chapter, the viewport scrolls to the targeted file, line range, or comment. Handles async-rendered content by retrying until the element appears in the DOM.
Copy Link action on comments — Every submitted comment and reply has a "Copy link" action in its dropdown menu that copies a deep link URL pointing to that comment.
Copy Link action on files — Every file header has a "Copy link" action that copies a deep link URL pointing to that file.
Graceful degradation — If the linked file or comment no longer exists in the PR (e.g., after a force-push), the user sees a toast error explaining what's missing instead of a broken experience.
Line range support — Deep links can target a range of lines with side information (additions/deletions), encoded in a compact syntax like R5-R8 or L10.