#!/usr/bin/env bash
set -euo pipefail

JOINPHP="${1:-/home/itahukamedia/public_html/studio.itahukamedia.com/public/join.php}"
TS="$(date +%Y%m%d_%H%M%S)"

cp -a "$JOINPHP" "$JOINPHP.bak.$TS"
echo "Backup created: $JOINPHP.bak.$TS"

perl -0pi -e '
s@function attachRemoteFromParticipant\(p\)\s*\{.*?\n  \}\n\n  function refreshGuestStrip\(\)\{@function attachRemoteFromParticipant(p){
    if (!p){
      clearRemote();
      if (remoteVU) remoteVU.detach();
      return;
    }

    const v = firstSubscribedTrack(p.videoTrackPublications);
    detachRemoteVideo();

    if (!v){
      if (els.remoteEmpty) els.remoteEmpty.style.display = "flex";
      if (els.tagRemote) els.tagRemote.textContent = `Remote: ${p.identity || p.name || "participant"}`;
    } else {
      remoteVideoTrack = v;
      try { v.attach(els.remoteVideo); } catch(_){}
      if (els.remoteEmpty) els.remoteEmpty.style.display = "none";
      if (els.tagRemote) els.tagRemote.textContent = `Remote: ${p.identity || p.name || "participant"}`;
    }

    const a = firstSubscribedTrack(p.audioTrackPublications);
    if (remoteVU){
      if (a) remoteVU.attachTrack(a);
      else remoteVU.detach();
    }
  }

  function refreshGuestStrip(){@s
' "$JOINPHP"

echo
echo "Patch complete."
echo
echo "Run syntax check:"
echo "php -l \"$JOINPHP\""
echo
echo "Verify function:"
grep -n "function attachRemoteFromParticipant" "$JOINPHP"
