(p: string)
| 36 | * URL. The scheme is already https-forced by the backend (/api/repo-info); |
| 37 | * this is defense-in-depth on the path. */ |
| 38 | function encodePath(p: string): string { |
| 39 | return p.split("/").map(encodeURIComponent).join("/"); |
| 40 | } |
| 41 | |
| 42 | /* GitHub (or GitLab) deep-link, or null when we lack remote/path/line info. */ |
| 43 | function githubUrl(node: GraphNode, repoInfo: RepoInfo | null): string | null { |