feat(web): add dedicated VLC integration section with Linux support#473
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6dcc47916b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if [[ "$URL" =~ ^(https?)([^/].*) ]]; then | ||
| URL="${BASH_REMATCH[1]}://${BASH_REMATCH[2]}" |
There was a problem hiding this comment.
Fix Linux handler rewriting valid HTTPS URLs
On Linux after running vlc-setup.sh, normal ARVIO stream launches pass URLs like vlc://https://... into this handler. After the prefix strip that becomes https://..., but this regex still matches because : satisfies [^/], so line 33 rewrites it to https://://...; Chrome-style https//... is also rewritten to http://s//.... VLC then receives a malformed URL, so direct VLC launching fails for HTTPS streams. Restrict the repair to genuinely missing/collapsed separators instead of matching already-valid http(s):// URLs.
Useful? React with 👍 / 👎.
Please test on a real machine with a URL containing ?token=...&x=1 before pushing.
Happy to merge once fixed — the blur-detection check is clever. 🙌 |
…protocol probe, and custom icon
… and gate platform setup hints
6dcc479 to
9a6c7c9
Compare
This pull request adds comprehensive cross-platform VLC integration to the settings UI, allowing users to enable direct vlc:// protocol launching from the browser across Windows, Linux, macOS, Android, and iOS. It introduces a new settings section for VLC, setup scripts for Windows and Linux, and UI for testing and managing VLC protocol handler status.
Key changes:
VLC Integration UI and Logic:
VlcIcon, protocol handler status, integration check, and download buttons for setup scripts. The section provides platform-specific setup instructions and allows users to test and toggle protocol handler readiness. (web/components/settings/SettingsScreen.tsx) [1] [2] [3]web/components/settings/SettingsScreen.tsx) [1] [2]Platform Detection and Setup Scripts:
isLinux()utility andVLC_SETUP_SH_URLconstant for Linux support. (web/lib/externalPlayers.ts)vlc-setup.sh) that creates a protocol handler for vlc:// links using xdg-mime and a .desktop entry. (web/public/vlc-setup.sh)web/netlify.toml)Miscellaneous:
version.jsonto reflect the new release. (web/public/version.json)