fix: prevent duplicate preview URL auth tokens
Stops embedded browser URLs from accumulating repeated oc_url_token params Strips preview-only query params before persisting browser navigation Adds regression coverage for replacing URL auth tokens
This commit is contained in:
@@ -91,14 +91,12 @@ const withUrlAuth = (urlValue: string): string => {
|
||||
const token = getRuntimeUrlAuthTokenSync();
|
||||
if (!token) return urlValue;
|
||||
|
||||
if (ABSOLUTE_URL_PATTERN.test(urlValue)) {
|
||||
const url = new URL(urlValue);
|
||||
url.searchParams.set('oc_url_token', token);
|
||||
return url.toString();
|
||||
}
|
||||
|
||||
const separator = urlValue.includes('?') ? '&' : '?';
|
||||
return `${urlValue}${separator}oc_url_token=${encodeURIComponent(token)}`;
|
||||
const url = ABSOLUTE_URL_PATTERN.test(urlValue)
|
||||
? new URL(urlValue)
|
||||
: new URL(urlValue, 'http://openchamber.local');
|
||||
url.searchParams.set('oc_url_token', token);
|
||||
if (ABSOLUTE_URL_PATTERN.test(urlValue)) return url.toString();
|
||||
return `${url.pathname}${url.search}${url.hash}`;
|
||||
};
|
||||
|
||||
const toWebSocketUrl = (candidate: string, config: RuntimeUrlConfig): string => {
|
||||
|
||||
Reference in New Issue
Block a user