Fix inconsistent URL handling with improved inline validation UX #651
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes a critical issue where Screenbox would crash on ARM64 devices and fail silently on x64 devices when users attempted to play YouTube URLs or other unsupported streaming platform URLs.
Problem
The application previously accepted any valid URI format without validating whether it was a supported media URL. This caused:
Solution
Implemented comprehensive URL validation with two layers of protection and improved user experience:
Primary Validation (OpenUrlDialog)
Fallback Validation (MediaListViewModel)
URL Classification Logic
Blocked URLs:
Allowed URLs:
User Experience Improvements
Example
Before: User enters
https://youtube.com/watch?v=abc123
→ crashes on ARM64, fails silently on x64After: User starts typing the URL → sees inline error message: "YouTube URLs are not supported. Please use direct media file URLs instead." → "Open" button remains disabled
The fix maintains full compatibility with legitimate media URLs while providing robust protection against unsupported streaming platforms and a significantly improved user experience.
Fixes #643.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.