v1.2.2 - Fix network error on background, auto-retry streaming with reconnect

This commit is contained in:
admin
2026-05-19 15:50:45 +04:00
Unverified
parent 2e327317e4
commit 1026259a20
3831 changed files with 384316 additions and 39 deletions

View File

@@ -0,0 +1,59 @@
function getSearchParams(val, url) {
const defaultUrl = typeof window !== "undefined" ? window.location.href : "";
const finalUrl = url || defaultUrl || "";
const searchParams = finalUrl.split("?")?.[1] || "";
const params = new URLSearchParams(searchParams);
return params.get(val) || "";
}
function addSearchParams(urlLike, searchParams) {
const [urlBase = "", urlSearch = ""] = urlLike.split("?");
const params = new URLSearchParams(urlSearch);
Object.keys(searchParams).forEach((key) => {
params.set(key, searchParams[key]);
});
const urlSearchParams = params.toString();
if (!urlSearchParams)
return urlBase;
return `${urlBase}?${urlSearchParams}`;
}
function removeSearchParams(urlLike, searchParamKeys) {
const [urlBase = "", urlSearch = ""] = urlLike.split("?");
const params = new URLSearchParams(urlSearch);
searchParamKeys.forEach((key) => {
params.delete(key);
});
const urlSearchParams = params.toString();
if (!urlSearchParams)
return urlBase;
return `${urlBase}?${urlSearchParams}`;
}
function unsecuredCopyToClipboard(text) {
const textArea = document.createElement("textarea");
textArea.value = text;
Object.assign(textArea.style, {
position: "fixed",
right: "0",
bottom: "0",
opacity: "0",
width: "0",
height: "0",
pointerEvents: "none"
});
document.body.appendChild(textArea);
textArea.focus();
textArea.select();
try {
document.execCommand("copy");
} catch (err) {
throw new Error(`Unable to copy to clipboard${err}`);
}
document.body.removeChild(textArea);
}
async function copyToClipboard(content) {
if (window.isSecureContext && navigator.clipboard)
await navigator.clipboard.writeText(content);
else
unsecuredCopyToClipboard(content);
}
export { addSearchParams, copyToClipboard, getSearchParams, removeSearchParams, unsecuredCopyToClipboard };