Cannot shutdown proxmox by mobile UI Web after execute post-pve-install #1659

Closed
opened 2026-02-05 01:53:20 +03:00 by OVERLORD · 2 comments
Owner

Originally created by @ngoc-minh-do on GitHub (Sep 23, 2025).

Originally assigned to: @MickLesk on GitHub.

Have you read and understood the above guidelines?

yes

📜 What is the name of the script you are using?

post-pve-install

📂 What was the exact command used to execute the script?

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/post-pve-install.sh)"

⚙️ What settings are you using?

  • Default Settings
  • Advanced Settings

🖥️ Which Linux distribution are you using?

Debian 13

📈 Which Proxmox version are you on?

9.0.10

📝 Provide a clear and concise description of the issue.

Cannot shutdown proxmox by mobile UI Web after execute post-pve-install.
The shutdown confirmation modal not show.

🔄 Steps to reproduce the issue.

Run script

Paste the full error output (if available).

NA

🖼️ Additional context (optional).

No response

Originally created by @ngoc-minh-do on GitHub (Sep 23, 2025). Originally assigned to: @MickLesk on GitHub. ### ✅ Have you read and understood the above guidelines? yes ### 📜 What is the name of the script you are using? post-pve-install ### 📂 What was the exact command used to execute the script? bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/post-pve-install.sh)" ### ⚙️ What settings are you using? - [x] Default Settings - [ ] Advanced Settings ### 🖥️ Which Linux distribution are you using? Debian 13 ### 📈 Which Proxmox version are you on? 9.0.10 ### 📝 Provide a clear and concise description of the issue. Cannot shutdown proxmox by mobile UI Web after execute post-pve-install. The shutdown confirmation modal not show. ### 🔄 Steps to reproduce the issue. Run script ### ❌ Paste the full error output (if available). NA ### 🖼️ Additional context (optional). _No response_
OVERLORD added the buginvestigation labels 2026-02-05 01:53:20 +03:00
Author
Owner

@MickLesk commented on GitHub (Sep 23, 2025):

you need to run the script after merge again, or you do following:

rm /usr/share/pve-yew-mobile-gui/index.html.tpl

nano /usr/local/bin/pve-remove-nag.sh
Enter Following (Remove all Content before)

#!/bin/sh
WEB_JS=/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
if [ -s "$WEB_JS" ] && ! grep -q NoMoreNagging "$WEB_JS"; then
    echo "Patching Web UI nag..."
    sed -i -e "/data\.status/ s/!//" -e "/data\.status/ s/active/NoMoreNagging/" "$WEB_JS"
fi

MOBILE_TPL=/usr/share/pve-yew-mobile-gui/index.html.tpl
MARKER="<!-- MANAGED BLOCK FOR MOBILE NAG -->"
if [ -f "$MOBILE_TPL" ] && ! grep -q "$MARKER" "$MOBILE_TPL"; then
    echo "Patching Mobile UI nag..."
    printf "%s\n" \
      "$MARKER" \
      "<script>" \
      "  function removeSubscriptionElements() {" \
      "    // --- Remove subscription dialogs ---" \
      "    const dialogs = document.querySelectorAll('dialog.pwt-outer-dialog');" \
      "    dialogs.forEach(dialog => {" \
      "      const text = (dialog.textContent || '').toLowerCase();" \
      "      if (text.includes('subscription')) {" \
      "        dialog.remove();" \
      "        console.log('Removed subscription dialog');" \
      "      }" \
      "    });" \
      "" \
      "    // --- Remove subscription cards, but keep Reboot/Shutdown/Console ---" \
      "    const cards = document.querySelectorAll('.pwt-card.pwt-p-2.pwt-d-flex.pwt-interactive.pwt-justify-content-center');" \
      "    cards.forEach(card => {" \
      "      const text = (card.textContent || '').toLowerCase();" \
      "      const hasButton = card.querySelector('button');" \
      "      if (!hasButton && text.includes('subscription')) {" \
      "        card.remove();" \
      "        console.log('Removed subscription card');" \
      "      }" \
      "    });" \
      "  }" \
      "" \
      "  const observer = new MutationObserver(removeSubscriptionElements);" \
      "  observer.observe(document.body, { childList: true, subtree: true });" \
      "  removeSubscriptionElements();" \
      "  setInterval(removeSubscriptionElements, 300);" \
      "  setTimeout(() => {observer.disconnect();}, 10000);" \
      "</script>" \
      "" >> "$MOBILE_TPL"

apt --reinstall install pve-yew-mobile-gui

@MickLesk commented on GitHub (Sep 23, 2025): you need to run the script after merge again, or you do following: rm /usr/share/pve-yew-mobile-gui/index.html.tpl nano /usr/local/bin/pve-remove-nag.sh Enter Following (Remove all Content before) ```bash #!/bin/sh WEB_JS=/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js if [ -s "$WEB_JS" ] && ! grep -q NoMoreNagging "$WEB_JS"; then echo "Patching Web UI nag..." sed -i -e "/data\.status/ s/!//" -e "/data\.status/ s/active/NoMoreNagging/" "$WEB_JS" fi MOBILE_TPL=/usr/share/pve-yew-mobile-gui/index.html.tpl MARKER="<!-- MANAGED BLOCK FOR MOBILE NAG -->" if [ -f "$MOBILE_TPL" ] && ! grep -q "$MARKER" "$MOBILE_TPL"; then echo "Patching Mobile UI nag..." printf "%s\n" \ "$MARKER" \ "<script>" \ " function removeSubscriptionElements() {" \ " // --- Remove subscription dialogs ---" \ " const dialogs = document.querySelectorAll('dialog.pwt-outer-dialog');" \ " dialogs.forEach(dialog => {" \ " const text = (dialog.textContent || '').toLowerCase();" \ " if (text.includes('subscription')) {" \ " dialog.remove();" \ " console.log('Removed subscription dialog');" \ " }" \ " });" \ "" \ " // --- Remove subscription cards, but keep Reboot/Shutdown/Console ---" \ " const cards = document.querySelectorAll('.pwt-card.pwt-p-2.pwt-d-flex.pwt-interactive.pwt-justify-content-center');" \ " cards.forEach(card => {" \ " const text = (card.textContent || '').toLowerCase();" \ " const hasButton = card.querySelector('button');" \ " if (!hasButton && text.includes('subscription')) {" \ " card.remove();" \ " console.log('Removed subscription card');" \ " }" \ " });" \ " }" \ "" \ " const observer = new MutationObserver(removeSubscriptionElements);" \ " observer.observe(document.body, { childList: true, subtree: true });" \ " removeSubscriptionElements();" \ " setInterval(removeSubscriptionElements, 300);" \ " setTimeout(() => {observer.disconnect();}, 10000);" \ "</script>" \ "" >> "$MOBILE_TPL" ``` apt --reinstall install pve-yew-mobile-gui
Author
Owner

@michelroegl-brunner commented on GitHub (Sep 23, 2025):

Fix merged, you need to rerun the post pve script once pls

@michelroegl-brunner commented on GitHub (Sep 23, 2025): Fix merged, you need to rerun the post pve script once pls
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ProxmoxVE#1659