From 6c73ebda08ddca53fcc2e6c36a034a338191cc56 Mon Sep 17 00:00:00 2001 From: thePR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> Date: Wed, 7 Jan 2026 22:48:04 -0500 Subject: [PATCH 1/4] Ensure upload modal events rebind after reload --- js/ui/components/UploadModal.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/js/ui/components/UploadModal.js b/js/ui/components/UploadModal.js index 6cd56475..31590298 100644 --- a/js/ui/components/UploadModal.js +++ b/js/ui/components/UploadModal.js @@ -143,7 +143,11 @@ export class UploadModal { async load({ container } = {}) { if (this.root) { - return this.root; + if (this.root.isConnected) { + return this.root; + } + this.root = null; + this.eventsBound = false; } if (this.loadPromise) { @@ -192,8 +196,12 @@ export class UploadModal { throw new Error("Upload modal markup missing after load."); } + const previousRoot = this.root; this.container = targetContainer; this.root = modal; + if (previousRoot && previousRoot !== modal) { + this.eventsBound = false; + } this.cacheElements(modal); this.setupModalAccessibility(); From 797490507cb631ebb8e59b6d10d49ddffb025868 Mon Sep 17 00:00:00 2001 From: thePR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> Date: Wed, 7 Jan 2026 22:54:01 -0500 Subject: [PATCH 2/4] Add dev logging for upload modal toggles --- js/ui/components/UploadModal.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/js/ui/components/UploadModal.js b/js/ui/components/UploadModal.js index 31590298..f712201f 100644 --- a/js/ui/components/UploadModal.js +++ b/js/ui/components/UploadModal.js @@ -2,7 +2,7 @@ import { createModalAccessibility } from "./modalAccessibility.js"; import { Nip71FormManager } from "./nip71FormManager.js"; -import { userLogger } from "../../utils/logger.js"; +import logger, { userLogger } from "../../utils/logger.js"; import { getVideoNoteErrorMessage, normalizeVideoNotePayload, @@ -485,6 +485,11 @@ export class UploadModal { if (!toggleButton || !container) return; const handleToggle = () => { + logger.dev.info("[UploadModal] toggle advanced", { + toggleId: toggleButton.id || null, + containerId: container.id || null, + isHidden: container.classList.contains('hidden') + }); const isHidden = container.classList.contains('hidden'); if (isHidden) { container.classList.remove('hidden'); @@ -524,6 +529,13 @@ export class UploadModal { } bindEvents() { + logger.dev.info("[UploadModal] bindEvents", { + rootConnected: Boolean(this.root?.isConnected), + customAdvancedToggle: Boolean(this.customAdvancedToggle), + cloudflareUploadAdvancedToggle: Boolean(this.cloudflareUploadAdvancedToggle), + cloudflareAdvancedToggle: Boolean(this.cloudflareAdvancedToggle) + }); + if (this.closeButton) { this.closeButton.addEventListener("click", () => { this.close(); From d2ffa8971e2ad024be3a718be186225903c4e20d Mon Sep 17 00:00:00 2001 From: thePR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> Date: Wed, 7 Jan 2026 22:57:30 -0500 Subject: [PATCH 3/4] Add after-toggle diagnostics for upload modal --- js/ui/components/UploadModal.js | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/js/ui/components/UploadModal.js b/js/ui/components/UploadModal.js index f712201f..8d559a6a 100644 --- a/js/ui/components/UploadModal.js +++ b/js/ui/components/UploadModal.js @@ -485,13 +485,13 @@ export class UploadModal { if (!toggleButton || !container) return; const handleToggle = () => { - logger.dev.info("[UploadModal] toggle advanced", { + const wasHidden = container.classList.contains('hidden'); + logger.dev.info("[UploadModal] toggle advanced (before)", { toggleId: toggleButton.id || null, containerId: container.id || null, - isHidden: container.classList.contains('hidden') + isHidden: wasHidden }); - const isHidden = container.classList.contains('hidden'); - if (isHidden) { + if (wasHidden) { container.classList.remove('hidden'); toggleButton.setAttribute('aria-expanded', 'true'); if (toggleButton.querySelector('span')) toggleButton.querySelector('span').textContent = "Hide advanced options"; @@ -502,6 +502,17 @@ export class UploadModal { if (toggleButton.querySelector('span')) toggleButton.querySelector('span').textContent = "Show advanced options"; if (icon) icon.classList.remove('rotate-90'); } + const computedDisplay = + typeof window !== "undefined" && window.getComputedStyle + ? window.getComputedStyle(container).display + : null; + logger.dev.info("[UploadModal] toggle advanced (after)", { + toggleId: toggleButton.id || null, + containerId: container.id || null, + isHidden: container.classList.contains('hidden'), + computedDisplay, + offsetParent: container.offsetParent ? "visible" : "hidden" + }); }; toggleButton.addEventListener('click', handleToggle); From 99e2c60e52c37a3ab282d71a60231ff65b296398 Mon Sep 17 00:00:00 2001 From: thePR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> Date: Wed, 7 Jan 2026 23:05:37 -0500 Subject: [PATCH 4/4] Make upload modal body scrollable --- components/upload-modal.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/upload-modal.html b/components/upload-modal.html index c3b448d6..cea44bdf 100644 --- a/components/upload-modal.html +++ b/components/upload-modal.html @@ -11,7 +11,7 @@
-