mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-12 12:06:16 -08:00
* docs(playback): design recovery recommendations * docs(playback): plan recovery recommendations * refactor(playback): extract diagnostic utilities * feat(playback): define recovery recommendation contracts * feat(playback): rank recovery recommendations * feat(playback): track session recovery attempts * feat(playback): identify content recovery sessions * feat(ui): add ranked playback diagnostic panel * feat(playback): switch temporarily to recommended players * test(playback): cover temporary player recommendation * test(playback): verify recommendation capability guards * docs(playback): document recovery recommendations * fix(playback): keep recovery keys credential-free * fix(playback): remove derived tracking ownership * fix(playback): preserve distinct recovery fallbacks * fix(playback): reset resume for new sources * fix(playback): preserve desktop recovery guidance * docs(playback): clarify recovery policy exceptions * fix(playback): reject stale progress updates * fix(playback): keep protected recovery guidance neutral * test(playback): cover stale progress output * fix(playback): neutralize protected diagnostic copy * fix(playback): harden runtime guidance ownership * fix(playback): stabilize recovery application ownership * fix(ci): classify playback util coverage * fix(e2e): preserve playback fixture bytes
19 lines
772 B
TypeScript
19 lines
772 B
TypeScript
export function isBrowserAccessFailure(details: string): boolean {
|
|
return (
|
|
details.includes('cors') ||
|
|
details.includes('cross-origin') ||
|
|
details.includes('cross origin') ||
|
|
details.includes('access-control') ||
|
|
details.includes('access control') ||
|
|
details.includes('content security policy') ||
|
|
details.includes('mixed content') ||
|
|
details.includes('private network access') ||
|
|
details.includes('blocked by content security') ||
|
|
details.includes('blocked by cors') ||
|
|
details.includes('blocked by mixed content') ||
|
|
details.includes('not allowed to load local resource') ||
|
|
details.includes('err_blocked') ||
|
|
details.includes('err_cleartext')
|
|
);
|
|
}
|