shim: shorten subtitle stream labels in detail dropdowns
Stock Jellyfin renders subtitle stream entries as "<lang> - <CODEC> - (External|Internal|Embedded)[ - flag]". For ARRFLIX, which has at most one subtitle format per language, the codec and source suffix are noise. Add a small JS shim to web-overrides/index.html that matches that exact shape and collapses the label to "<lang>" (with "(Forced)" / "(SDH)" / "(Hearing Impaired)" if those flags are present; "Default" is dropped since it's redundant when there's only one stream of that language). Audio labels like "5.1Ch Surround Sound - English - AAC - Stereo - Default" have a different number of segments and don't match, so they pass through untouched. The shim runs after DOMContentLoaded and re-walks any nodes added later via MutationObserver (covers actionsheet dropdowns that mount lazily). Bracketed by /* SUB-LABEL-SHIM-BEGIN */ and /* SUB-LABEL-SHIM-END */ markers; bin/revert-sub-label-shim.sh deletes between the markers in one sed pass and saves a timestamped backup. No container restart needed (index.html is bind-mounted).
This commit is contained in:
parent
43f55643be
commit
b3ead71b7e
2 changed files with 83 additions and 0 deletions
37
bin/revert-sub-label-shim.sh
Executable file
37
bin/revert-sub-label-shim.sh
Executable file
|
|
@ -0,0 +1,37 @@
|
|||
#!/usr/bin/env bash
|
||||
# Revert the SUB-LABEL-SHIM injected into web-overrides/index.html on 2026-05-10.
|
||||
#
|
||||
# What it removes:
|
||||
# /* SUB-LABEL-SHIM-BEGIN ... */ ... /* SUB-LABEL-SHIM-END */
|
||||
#
|
||||
# Idempotent: safe to re-run.
|
||||
# After reverting, hard-refresh the browser (Ctrl+Shift+R) so the cached
|
||||
# index.html is fetched fresh.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
TARGET="$REPO_ROOT/web-overrides/index.html"
|
||||
|
||||
if [[ ! -f "$TARGET" ]]; then
|
||||
echo "ERROR: $TARGET not found" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! grep -q "SUB-LABEL-SHIM-BEGIN" "$TARGET"; then
|
||||
echo "shim already absent — nothing to do"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
cp "$TARGET" "$TARGET.bak.$(date -u +%Y%m%dT%H%M%SZ)"
|
||||
|
||||
# delete from BEGIN marker line through END marker line, inclusive
|
||||
sed -i '/SUB-LABEL-SHIM-BEGIN/,/SUB-LABEL-SHIM-END/d' "$TARGET"
|
||||
|
||||
if grep -q "SUB-LABEL-SHIM" "$TARGET"; then
|
||||
echo "ERROR: revert left orphan markers in $TARGET" >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
echo "reverted. backup at $TARGET.bak.*"
|
||||
echo "next: container needs no restart (index.html is bind-mounted); hard-refresh browser."
|
||||
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue