Skip to content

Add deep linking #59

@dastratakos

Description

@dastratakos

Functional Requirements

  1. Deep link URL format — PR URLs accept optional query parameters for file, lines, and comment that target a specific location within the review.

  2. 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.

  3. 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.

  4. 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.

  5. Copy Link action on files — Every file header has a "Copy link" action that copies a deep link URL pointing to that file.

  6. 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.

  7. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions