From e6ebbb83433a50e69bb1a2246ff6f2002d3b5969 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Fri, 16 Jan 2026 13:34:29 +0000 Subject: [PATCH] Fix blurred thumbnail visuals and add moderation buttons to SimilarContentCard - Adds `blur-xl` class to `SimilarContentCard` thumbnails when blurred, ensuring visual consistency. - Implements `createModerationOverrideButton`, `createModerationHideButton`, and `createModerationBlockButton` in `SimilarContentCard.js` to provide missing interactivity. - Updates `VideoModal.js` to wire up moderation callbacks (`onModerationOverride`, `onModerationHide`, `onModerationBlock`) when initializing similar content cards, dispatching global moderation events. - Ensures moderation actions in the similar content sidebar function identically to the main video player. --- js/ui/components/SimilarContentCard.js | 325 ++++++++++++++++- js/ui/components/VideoModal.js | 16 + npm_output.log | 2 +- python_server.log | 462 +++++++++++++++++++++++++ 4 files changed, 786 insertions(+), 19 deletions(-) create mode 100644 python_server.log diff --git a/js/ui/components/SimilarContentCard.js b/js/ui/components/SimilarContentCard.js index f844e4bd..b9321967 100644 --- a/js/ui/components/SimilarContentCard.js +++ b/js/ui/components/SimilarContentCard.js @@ -1,7 +1,10 @@ import { normalizeDesignSystemContext } from "../../designSystem.js"; import { formatShortNpub } from "../../utils/formatters.js"; import { sanitizeProfileMediaUrl } from "../../utils/profileMedia.js"; -import { normalizeVideoModerationContext } from "../moderationUiHelpers.js"; +import { + getModerationOverrideActionLabels, + normalizeVideoModerationContext, +} from "../moderationUiHelpers.js"; import { buildModerationBadgeText } from "../moderationCopy.js"; const SVG_NAMESPACE = "http://www.w3.org/2000/svg"; @@ -99,7 +102,12 @@ export class SimilarContentCard { ? fallbackThumbnailSrc.trim() : ""; - this.callbacks = { onPlay: null }; + this.callbacks = { + onPlay: null, + onModerationOverride: null, + onModerationBlock: null, + onModerationHide: null, + }; this.root = null; this.cardStyleId = ""; @@ -117,6 +125,15 @@ export class SimilarContentCard { this.moderationBadgeEl = null; this.moderationBadgeLabelEl = null; this.moderationBadgeTextEl = null; + this.moderationActionsContainer = null; + this.moderationActionButton = null; + this.moderationActionButtonMode = ""; + this.moderationBlockButton = null; + this.boundShowAnywayHandler = (event) => this.handleShowAnywayClick(event); + this.boundModerationHideHandler = (event) => + this.handleModerationHideClick(event); + this.boundModerationBlockHandler = (event) => + this.handleModerationBlockClick(event); this.build(); } @@ -125,6 +142,18 @@ export class SimilarContentCard { this.callbacks.onPlay = typeof fn === "function" ? fn : null; } + set onModerationOverride(fn) { + this.callbacks.onModerationOverride = typeof fn === "function" ? fn : null; + } + + set onModerationBlock(fn) { + this.callbacks.onModerationBlock = typeof fn === "function" ? fn : null; + } + + set onModerationHide(fn) { + this.callbacks.onModerationHide = typeof fn === "function" ? fn : null; + } + getRoot() { return this.root; } @@ -418,21 +447,227 @@ export class SimilarContentCard { return normalizeVideoModerationContext(this.video?.moderation); } + shouldShowModerationBlockButton(context = this.getModerationContext()) { + if (!context || !context.trustedMuted) { + return false; + } + if (context.activeHidden && !context.overrideActive) { + return false; + } + return true; + } + + createModerationOverrideButton() { + const { text: label, ariaLabel } = getModerationOverrideActionLabels({ + overrideActive: false, + }); + const button = this.document.createElement("button"); + button.classList.add( + "moderation-badge__action", + "flex-shrink-0", + "text-xs", + "py-1", + "px-2" + ); + button.type = "button"; + button.dataset.moderationAction = "override"; + button.setAttribute("aria-pressed", "false"); + button.setAttribute("aria-label", ariaLabel); + button.textContent = "Show"; + button.addEventListener("click", this.boundShowAnywayHandler); + // Explicit pointer events since container is none + button.style.pointerEvents = "auto"; + return button; + } + + createModerationHideButton() { + const { text: label, ariaLabel } = getModerationOverrideActionLabels({ + overrideActive: true, + }); + const button = this.document.createElement("button"); + button.classList.add( + "moderation-badge__action", + "flex-shrink-0", + "text-xs", + "py-1", + "px-2" + ); + button.type = "button"; + button.dataset.moderationAction = "hide"; + button.setAttribute("aria-label", ariaLabel); + button.textContent = "Hide"; + button.addEventListener("click", this.boundModerationHideHandler); + button.style.pointerEvents = "auto"; + return button; + } + + createModerationBlockButton() { + const button = this.document.createElement("button"); + button.classList.add( + "moderation-badge__action", + "flex-shrink-0", + "text-xs", + "py-1", + "px-2" + ); + button.type = "button"; + button.dataset.moderationAction = "block"; + button.textContent = "Block"; + button.addEventListener("click", this.boundModerationBlockHandler); + button.style.pointerEvents = "auto"; + return button; + } + + handleShowAnywayClick(event) { + event?.preventDefault?.(); + event?.stopPropagation?.(); + + if (this.moderationActionButton) { + this.moderationActionButton.disabled = true; + this.moderationActionButton.setAttribute("aria-busy", "true"); + } + + if (!this.callbacks.onModerationOverride) { + if (this.moderationActionButton) { + this.moderationActionButton.disabled = false; + this.moderationActionButton.removeAttribute("aria-busy"); + } + return; + } + + let result; + try { + result = this.callbacks.onModerationOverride({ + event, + video: this.video, + card: this, + }); + } catch (error) { + if (this.moderationActionButton) { + this.moderationActionButton.disabled = false; + this.moderationActionButton.removeAttribute("aria-busy"); + } + return; + } + + Promise.resolve(result).then((handled) => { + if (handled !== false) { + this.refreshModerationUi(); + } else if (this.moderationActionButton) { + this.moderationActionButton.disabled = false; + this.moderationActionButton.removeAttribute("aria-busy"); + } + }); + } + + handleModerationHideClick(event) { + event?.preventDefault?.(); + event?.stopPropagation?.(); + + if (this.moderationActionButton) { + this.moderationActionButton.disabled = true; + this.moderationActionButton.setAttribute("aria-busy", "true"); + } + + if (!this.callbacks.onModerationHide) { + if (this.moderationActionButton) { + this.moderationActionButton.disabled = false; + this.moderationActionButton.removeAttribute("aria-busy"); + } + return; + } + + let result; + try { + result = this.callbacks.onModerationHide({ + event, + video: this.video, + card: this, + }); + } catch (error) { + if (this.moderationActionButton) { + this.moderationActionButton.disabled = false; + this.moderationActionButton.removeAttribute("aria-busy"); + } + return; + } + + Promise.resolve(result).then((handled) => { + if (handled !== false) { + this.refreshModerationUi(); + } else if (this.moderationActionButton) { + this.moderationActionButton.disabled = false; + this.moderationActionButton.removeAttribute("aria-busy"); + } + }); + } + + handleModerationBlockClick(event) { + event?.preventDefault?.(); + event?.stopPropagation?.(); + + if (this.moderationBlockButton) { + this.moderationBlockButton.disabled = true; + this.moderationBlockButton.setAttribute("aria-busy", "true"); + } + + if (!this.callbacks.onModerationBlock) { + if (this.moderationBlockButton) { + this.moderationBlockButton.disabled = false; + this.moderationBlockButton.removeAttribute("aria-busy"); + } + return; + } + + let result; + try { + result = this.callbacks.onModerationBlock({ + event, + video: this.video, + card: this, + }); + } catch (error) { + if (this.moderationBlockButton) { + this.moderationBlockButton.disabled = false; + this.moderationBlockButton.removeAttribute("aria-busy"); + } + return; + } + + Promise.resolve(result).then((handled) => { + if (handled !== false) { + this.refreshModerationUi(); + } else if (this.moderationBlockButton) { + this.moderationBlockButton.disabled = false; + this.moderationBlockButton.removeAttribute("aria-busy"); + } + }); + } + buildModerationBadge(context = this.getModerationContext()) { if (!context.shouldShow || !context.trustedMuted) { + this.moderationBadgeEl = null; + this.moderationActionsContainer = null; + this.moderationActionButton = null; + this.moderationActionButtonMode = ""; + this.moderationBlockButton = null; return null; } const badge = this.document.createElement("div"); badge.className = "moderation-badge moderation-badge--interactive opacity-95"; - badge.dataset.variant = "warning"; + badge.dataset.variant = context.overrideActive ? "neutral" : "warning"; badge.dataset.moderationBadge = "true"; - badge.dataset.moderationState = "trusted-mute"; + badge.dataset.moderationState = context.overrideActive + ? "override" + : "trusted-mute"; + + // Allow interaction with children + badge.style.pointerEvents = "auto"; const label = this.document.createElement("span"); label.className = "moderation-badge__label inline-flex items-center gap-xs"; - // Simplified icon for small card const iconWrapper = this.document.createElement("span"); iconWrapper.className = "moderation-badge__icon"; iconWrapper.setAttribute("aria-hidden", "true"); @@ -444,7 +679,13 @@ export class SimilarContentCard { const path = this.document.createElementNS(SVG_NAMESPACE, "path"); path.setAttribute("fill", "currentColor"); - path.setAttribute("d", "M10 18a8 8 0 100-16 8 8 0 000 16zm-.75-11.75a.75.75 0 011.5 0v4.5a.75.75 0 01-1.5 0v-4.5zm.75 8.5a1 1 0 100-2 1 1 0 000 2z"); + + if (context.overrideActive) { + path.setAttribute("d", "M10 18a8 8 0 100-16 8 8 0 000 16zm3.78-9.72a.75.75 0 00-1.06-1.06L9 11.94l-1.72-1.72a.75.75 0 10-1.06 1.06l2.25 2.25a.75.75 0 001.06 0l3.25-3.25z"); + } else { + path.setAttribute("d", "M10 18a8 8 0 100-16 8 8 0 000 16zm-.75-11.75a.75.75 0 011.5 0v4.5a.75.75 0 01-1.5 0v-4.5zm.75 8.5a1 1 0 100-2 1 1 0 000 2z"); + } + path.setAttribute("fill-rule", "evenodd"); path.setAttribute("clip-rule", "evenodd"); @@ -453,13 +694,40 @@ export class SimilarContentCard { label.appendChild(iconWrapper); const text = this.document.createElement("span"); - text.className = "moderation-badge__text"; - // Shorten text for small cards if needed, but keeping standard for now - text.textContent = "Blocked by trusted contact"; + text.className = "moderation-badge__text text-xs"; + text.textContent = "Blocked by trusted"; label.appendChild(text); badge.appendChild(label); + const actions = this.document.createElement("div"); + actions.className = "moderation-badge__actions flex items-center gap-1 mt-1"; + + if (context.allowOverride) { + if (context.overrideActive) { + const hideButton = this.createModerationHideButton(); + actions.appendChild(hideButton); + this.moderationActionButton = hideButton; + this.moderationActionButtonMode = "hide"; + } else { + const showButton = this.createModerationOverrideButton(); + actions.appendChild(showButton); + this.moderationActionButton = showButton; + this.moderationActionButtonMode = "override"; + } + } + + if (this.shouldShowModerationBlockButton(context)) { + const blockButton = this.createModerationBlockButton(); + actions.appendChild(blockButton); + this.moderationBlockButton = blockButton; + } + + if (actions.childElementCount > 0) { + badge.appendChild(actions); + this.moderationActionsContainer = actions; + } + this.moderationBadgeEl = badge; return badge; } @@ -471,24 +739,39 @@ export class SimilarContentCard { this.moderationBadgeEl.remove(); this.moderationBadgeEl = null; } + this.moderationActionsContainer = null; + this.moderationActionButton = null; + this.moderationActionButtonMode = ""; + this.moderationBlockButton = null; + + // Apply blurring class if needed + if (this.thumbnailEl) { + const shouldBlur = + (this.shouldMaskNsfwForOwner || + this.video?.moderation?.blurThumbnail) && + !context.overrideActive; + + if (shouldBlur) { + this.thumbnailEl.dataset.thumbnailState = "blurred"; + this.thumbnailEl.classList.add("blur-xl"); + } else { + delete this.thumbnailEl.dataset.thumbnailState; + this.thumbnailEl.classList.remove("blur-xl"); + } + } // Check specifically for muted/blurred state where we want the overlay - if (context.shouldShow && context.trustedMuted && !context.overrideActive) { - // Ensure media link exists + if (context.shouldShow && context.trustedMuted) { if (!this.mediaLinkEl) return; const badge = this.buildModerationBadge(context); if (badge) { - // Create a wrapper for centering if needed, or use classes on badge if possible. - // Similar to VideoCard, let's create a container for absolute positioning const container = this.document.createElement("div"); - container.className = "absolute inset-0 flex items-center justify-center p-2 z-10 pointer-events-none"; + container.className = + "absolute inset-0 flex flex-col items-center justify-center p-2 z-10 pointer-events-none"; container.appendChild(badge); this.mediaLinkEl.appendChild(container); - // We track the container removal via moderationBadgeEl reference if we wanted strict cleanup, - // but for now just rebuilding is fine if we store the container. - // Let's store badge el as the container actually to make removal easier this.moderationBadgeEl = container; } } @@ -502,7 +785,12 @@ export class SimilarContentCard { img.dataset.videoThumbnail = "true"; // Modified: Add transition classes for hover zoom - img.classList.add("transition-transform", "duration-300", "ease-out", "group-hover:scale-105"); + img.classList.add( + "transition-transform", + "duration-300", + "ease-out", + "group-hover:scale-105" + ); const rawThumbnail = typeof this.video.thumbnail === "string" @@ -537,6 +825,7 @@ export class SimilarContentCard { if (this.shouldMaskNsfwForOwner || this.video?.moderation?.blurThumbnail) { img.dataset.thumbnailState = "blurred"; + img.classList.add("blur-xl"); } const handleLoad = () => { diff --git a/js/ui/components/VideoModal.js b/js/ui/components/VideoModal.js index 73ce4bf8..fee035dc 100644 --- a/js/ui/components/VideoModal.js +++ b/js/ui/components/VideoModal.js @@ -4947,6 +4947,22 @@ export class VideoModal { cardIndex ); + // Wire up moderation callbacks + if (card) { + card.onModerationOverride = (detail) => { + this.dispatch("video:moderation-override", detail); + return true; + }; + card.onModerationHide = (detail) => { + this.dispatch("video:moderation-hide", detail); + return true; + }; + card.onModerationBlock = (detail) => { + this.dispatch("video:moderation-block", detail); + return true; + }; + } + const root = card.getRoot(); if (!root) { return; diff --git a/npm_output.log b/npm_output.log index 1d359655..7e5c87cc 100644 --- a/npm_output.log +++ b/npm_output.log @@ -6,4 +6,4 @@ npm error npm stars # View packages marked as favorites npm error npm error To see a list of scripts, run: npm error npm run -npm error A complete log of this run can be found in: /home/jules/.npm/_logs/2026-01-09T18_38_57_901Z-debug-0.log +npm error A complete log of this run can be found in: /home/jules/.npm/_logs/2026-01-16T13_26_28_834Z-debug-0.log diff --git a/python_server.log b/python_server.log new file mode 100644 index 00000000..8ba44e47 --- /dev/null +++ b/python_server.log @@ -0,0 +1,462 @@ +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET / HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /css/tailwind.generated.css?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/lists.js?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/nostrToolsBootstrap.js?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/accessControl.js?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/config.js?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/webtorrent.js?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/viewManager.js?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/bootstrap.js?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /assets/svg/default-profile.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/index.js?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/disclaimer.js?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/utils/logger.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/config.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/adminListStore.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/nostr/toolkit.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/webtorrent.min.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /config/instance-config.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/utils/safeDecode.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/constants.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/app.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/services/nostrService.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/viewManager.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/services/r2Service.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/services/hashtagPreferencesService.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /assets/svg/filter.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /assets/svg/search.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/channelProfile.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/subscriptions.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/designSystem.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /config/asset-version.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/applicationContext.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/ui/components/staticModalAccessibility.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /config/validate-config.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/services/authService.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/bufferPolyfill.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/themeController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/accessControl.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/services/authProviders/index.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/nostrClientFacade.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/userBlocks.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/relayManager.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/nostrToolsBootstrap.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/bootstrap.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/nostrClientRegistry.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/nostrEventSchemas.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/nostrPublish.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/nostr/index.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/services/moderationService.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/directMessagesStore.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/state/appState.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/r2.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/storage/r2-s3.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:15] "GET /js/storage/r2-mgmt.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/services/storageService.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/utils/formatters.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/services/videoNotePayload.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/nostrViewEventsFacade.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/webtorrent.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/magnetUtils.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/playbackUtils.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/gridHealth.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/urlHealthObserver.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/utils/cardSourceVisibility.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/utils/videoTags.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/utils/profileMedia.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/lists.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/feedEngine/index.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/watchHistoryService.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/r2-quick.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/components/videoMenuRenderers.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/overlay/popoverEngine.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/watchHistoryDebug.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/sidebarLoading.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/viewCounter.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/payments/zapSplit.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/reactionCounter.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/utils/domUtils.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/components/tagPreferenceMenu.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/utils/videoPointer.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/loginModalController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/utils/pointer.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/utils/videoDeduper.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/utils/magnetValidators.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/utils/serviceWorkerFallbackMessages.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/utils/profileBatchFetcher.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/utils/videoTimestamps.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/state/cache.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/applicationBootstrap.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/videoModalCommentController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/services/moderationActionController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/services/trustBootstrap.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/views/VideoListView.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/components/modalAccessibility.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/components/VideoCard.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/feedEngine/stages.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/moderationUiHelpers.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/moderationCopy.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/payments/zapSharedState.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/payments/zapNotifications.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/payments/platformAddress.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/payments/nwcClient.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/payments/lnurl.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/nostr/defaultClient.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/services/authProviders/nip07.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/services/authProviders/nip46.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/nostr/nip46Client.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/services/authProviders/nsec.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/services/authProviders/generate.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/nostr/client.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/nostr/nip07Permissions.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/nostr/nip71.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/nostr/watchHistory.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/nostr/watchHistoryBindings.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/nostr/viewEvents.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/nostr/reactionEvents.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/nostr/commentEvents.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /vendor/crypto-helpers.bundle.min.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/nostr/viewEventBindings.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/magnet.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/magnetShared.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/magnets.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/feedEngine/engine.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/dom/cardObserver.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/feedEngine/sorters.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/feedEngine/sources.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/designSystem/metrics.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/feedEngine/watchHistoryFeed.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /vendor/floating-ui.dom.bundle.min.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/nostr/publishHelpers.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/overlay/overlayRoot.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/payments/zapReceiptValidator.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/payments/platformFee.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/utils/hex.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/utils/qrcode.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/historyView.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/utils/mediaLoader.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/watchHistoryController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/services/playbackService.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/services/watchHistoryTelemetry.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/services/discussionCountService.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/services/commentThreadService.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/services/nwcSettingsService.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/profileIdentityController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/videoListViewController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/utils/storage.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/state/profileSettingsStore.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/profileModalController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/moreMenuController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/ModalManager.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/appChromeController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/payments/zapMessages.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/components/tagPillList.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/feedEngine/utils.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/videoEventUtils.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/nostr/maxListenerDiagnostics.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/nostr/sessionActor.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/designSystem/dynamicStyles.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/nostrWatchHistoryFacade.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/nwcSettings.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/nostr/countDiagnostics.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/initEditModal.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/initUploadModal.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/components/RevertModal.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/components/VideoModal.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/initDeleteModal.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/components/EventDetailsModal.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/zapController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/components/EditModal.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/components/UploadModal.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/components/DeleteModal.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/components/nip71FormManager.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/ambientBackground.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/components/video-modal/utils/commentAvatar.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/components/video-modal/similarContentController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/components/video-modal/commentsController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/components/video-modal/moderationController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/components/video-modal/reactionsController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/ui/components/SimilarContentCard.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /js/utils/torrentHash.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /components/login-modal.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /components/content-appeals-form.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /components/bug-fix-form.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /components/general-feedback-form.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /components/application-form.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /components/feature-request-form.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /components/video-modal.html HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /components/upload-modal.html HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /components/edit-video-modal.html HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /components/profile-modal.html HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /components/iframe_forms/iframe-content-appeals-form.html HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /components/iframe_forms/iframe-bug-fix-form.html HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /components/iframe_forms/iframe-feedback-form.html HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /components/iframe_forms/iframe-request-form.html HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /components/iframe_forms/iframe-application-form.html HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /components/sidebar.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /components/iframe_forms/theme-sync.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:16] "GET /css/tailwind.generated.css HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /views/most-recent-videos.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /assets/svg/recent-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /assets/svg/ellipsis.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /assets/svg/explore-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /assets/svg/about-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /assets/svg/history-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /assets/svg/subscriptions-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /assets/svg/guidelines-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /assets/svg/getting-started-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /assets/svg/upload-content-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /assets/svg/github-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /assets/svg/roadmap-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /assets/svg/blog-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /assets/svg/nostr-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /assets/svg/beacon-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /assets/svg/beta-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /assets/svg/links-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /assets/svg/ipns-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /assets/svg/dns-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /js/sidebar.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /js/index.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /components/login-modal.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /components/general-feedback-form.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /components/bug-fix-form.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /components/application-form.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /components/feature-request-form.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /components/disclaimer.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /components/content-appeals-form.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /views/most-recent-videos.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /js/disclaimer.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:28:17] "GET /components/sidebar.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /index.html HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/config.js?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/nostrToolsBootstrap.js?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/accessControl.js?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/lists.js?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/webtorrent.js?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /css/tailwind.generated.css?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/viewManager.js?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/bootstrap.js?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/disclaimer.js?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/index.js?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/utils/logger.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/config.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /config/instance-config.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/webtorrent.min.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/nostr/toolkit.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/adminListStore.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/constants.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/utils/safeDecode.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/channelProfile.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/subscriptions.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/designSystem.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/app.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /config/asset-version.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/applicationContext.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/services/nostrService.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/services/r2Service.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/viewManager.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/services/hashtagPreferencesService.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/components/staticModalAccessibility.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /config/validate-config.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/bufferPolyfill.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/themeController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/services/authService.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/services/authProviders/index.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/accessControl.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/nostrClientFacade.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/userBlocks.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/relayManager.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /assets/svg/default-profile.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/bootstrap.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /assets/svg/filter.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /assets/svg/search.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/nostrToolsBootstrap.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/nostrEventSchemas.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/nostrViewEventsFacade.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/nostrClientRegistry.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/nostrPublish.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/sidebarLoading.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/nostr/index.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/views/VideoListView.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/services/moderationService.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/urlHealthObserver.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/gridHealth.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/overlay/popoverEngine.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/components/VideoCard.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/utils/domUtils.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/utils/formatters.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/components/videoMenuRenderers.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/utils/profileMedia.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/feedEngine/stages.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/moderationCopy.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/payments/zapSharedState.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/moderationUiHelpers.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/payments/zapNotifications.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/payments/zapSplit.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/payments/lnurl.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/payments/platformAddress.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/state/appState.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/payments/nwcClient.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/r2.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/directMessagesStore.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/storage/r2-mgmt.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/storage/r2-s3.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/services/videoNotePayload.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/services/storageService.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/components/modalAccessibility.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/webtorrent.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/playbackUtils.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/utils/cardSourceVisibility.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/magnetUtils.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/utils/videoTags.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/lists.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/r2-quick.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/watchHistoryService.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/feedEngine/index.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/watchHistoryDebug.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/viewCounter.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/reactionCounter.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/components/tagPreferenceMenu.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/utils/pointer.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/utils/videoPointer.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/loginModalController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/utils/magnetValidators.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/utils/videoDeduper.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/utils/serviceWorkerFallbackMessages.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/utils/profileBatchFetcher.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/utils/videoTimestamps.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/state/cache.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/applicationBootstrap.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/videoModalCommentController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/services/moderationActionController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/services/trustBootstrap.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/nostr/defaultClient.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/services/authProviders/nip46.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/nostr/viewEventBindings.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/services/authProviders/nsec.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/services/authProviders/nip07.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/services/authProviders/generate.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/nostr/viewEvents.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/nostr/client.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/nostr/nip07Permissions.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/nostr/nip71.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/nostr/watchHistory.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/nostr/watchHistoryBindings.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/nostr/reactionEvents.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/nostr/nip46Client.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/components/tagPillList.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/nostr/commentEvents.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/dom/cardObserver.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/designSystem/metrics.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/overlay/overlayRoot.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /vendor/floating-ui.dom.bundle.min.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/magnets.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/feedEngine/utils.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/payments/zapReceiptValidator.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/payments/zapMessages.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/nostr/publishHelpers.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/payments/platformFee.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/magnet.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/magnetShared.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /vendor/crypto-helpers.bundle.min.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/feedEngine/sources.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/feedEngine/sorters.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/feedEngine/engine.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/feedEngine/watchHistoryFeed.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/utils/hex.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/utils/qrcode.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/utils/storage.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/state/profileSettingsStore.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/utils/mediaLoader.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/historyView.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/watchHistoryController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/services/playbackService.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/services/watchHistoryTelemetry.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/services/discussionCountService.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/services/commentThreadService.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/services/nwcSettingsService.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/profileIdentityController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/videoListViewController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/moreMenuController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/ModalManager.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/profileModalController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/appChromeController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/nostr/countDiagnostics.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/videoEventUtils.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/nostr/maxListenerDiagnostics.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/nostr/sessionActor.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/nostrWatchHistoryFacade.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/components/VideoModal.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/nwcSettings.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/designSystem/dynamicStyles.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/initUploadModal.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/components/RevertModal.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/initEditModal.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/initDeleteModal.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/zapController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/components/EventDetailsModal.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/ambientBackground.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/components/video-modal/commentsController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/components/video-modal/moderationController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/components/video-modal/similarContentController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/components/video-modal/utils/commentAvatar.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/components/video-modal/reactionsController.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/components/SimilarContentCard.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/components/EditModal.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/components/DeleteModal.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/components/UploadModal.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/ui/components/nip71FormManager.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /js/utils/torrentHash.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /components/login-modal.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /components/application-form.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /components/content-appeals-form.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /components/feature-request-form.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /components/general-feedback-form.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /components/bug-fix-form.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /components/upload-modal.html HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /components/video-modal.html HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /components/edit-video-modal.html HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:45] "GET /components/profile-modal.html HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /components/iframe_forms/iframe-application-form.html HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /components/iframe_forms/iframe-content-appeals-form.html HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /components/iframe_forms/iframe-request-form.html HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /components/iframe_forms/iframe-feedback-form.html HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /components/iframe_forms/iframe-bug-fix-form.html HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /components/sidebar.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /css/tailwind.generated.css HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /components/iframe_forms/theme-sync.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /assets/png/favicon-32x32.png HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /views/most-recent-videos.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /assets/svg/explore-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /assets/svg/recent-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /assets/svg/history-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /assets/svg/subscriptions-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /assets/svg/ellipsis.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /assets/svg/about-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /assets/svg/guidelines-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /assets/svg/upload-content-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /assets/svg/nostr-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /assets/svg/getting-started-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /assets/svg/roadmap-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /assets/svg/blog-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /assets/svg/beacon-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /assets/svg/github-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /assets/svg/beta-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /assets/svg/ipns-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /assets/svg/dns-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /assets/svg/links-icon.svg HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /js/sidebar.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /js/index.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /components/general-feedback-form.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /components/application-form.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /components/feature-request-form.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /components/content-appeals-form.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /components/login-modal.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /components/bug-fix-form.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /components/disclaimer.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /views/most-recent-videos.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /components/sidebar.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /js/disclaimer.js HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:46] "GET /views/most-recent-videos.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:47] "GET /components/disclaimer.html?v=2024.11.09 HTTP/1.1" 200 - +127.0.0.1 - - [16/Jan/2026 13:29:47] "GET /views/most-recent-videos.html?v=2024.11.09 HTTP/1.1" 200 -