Back to all reviewers

Safe URL operations

kubeflow/kubeflow
Based on 2 comments
TypeScript

When handling URLs for API interactions and navigation, use precise methods for both comparison and construction to avoid subtle bugs: 1. For URL path comparison, use `startsWith()` instead of `includes()` to prevent false positives from substring matches:

API TypeScript

Reviewer Prompt

When handling URLs for API interactions and navigation, use precise methods for both comparison and construction to avoid subtle bugs:

  1. For URL path comparison, use startsWith() instead of includes() to prevent false positives from substring matches:
// AVOID: May lead to incorrect matches
return browserUrl.includes(url);

// BETTER: More precise path matching
return browserUrl.startsWith(url);
  1. When constructing URLs, use the URL constructor with proper base parameter rather than manual string concatenation:
// AVOID: Potential issues with relative paths
const href = window.location.origin + url;
const urlObject = new URL(href);

// BETTER: Robust URL construction
const urlObject = new URL(url, window.location.origin);

These practices ensure reliable API interactions and prevent navigation edge cases when handling routes and endpoints.

2
Comments Analyzed
TypeScript
Primary Language
API
Category

Source Discussions