From 8a4e4754f2d931237dd09b08008276e33c2e31de Mon Sep 17 00:00:00 2001 From: thePR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> Date: Mon, 5 Jan 2026 21:26:32 -0500 Subject: [PATCH] Revert "fix(logs): suppress dm sync spam and allow local image paths" --- js/nostr/client.js | 55 +++------------------------------ js/ui/applicationBootstrap.js | 2 +- js/ui/profileModalController.js | 13 +++----- js/utils/profileMedia.js | 4 --- 4 files changed, 9 insertions(+), 65 deletions(-) diff --git a/js/nostr/client.js b/js/nostr/client.js index 666cb82b..fe0477aa 100644 --- a/js/nostr/client.js +++ b/js/nostr/client.js @@ -1420,8 +1420,6 @@ export class NostrClient { let generated = null; if (typeof tools.generateSecretKey === "function") { generated = tools.generateSecretKey(); - } else if (typeof tools.generatePrivateKey === "function") { - generated = tools.generatePrivateKey(); } if (generated instanceof Uint8Array) { @@ -1449,27 +1447,7 @@ export class NostrClient { if (!tools || typeof tools.getPublicKey !== "function") { throw new Error("Public key derivation is unavailable for remote signing."); } - try { - publicKey = tools.getPublicKey(privateKey); - } catch (error) { - // Retry with bytes if string input failed (likely nostr-tools v2) - const hexToBytes = - typeof tools.utils?.hexToBytes === "function" - ? tools.utils.hexToBytes - : (hex) => { - if (typeof hex !== "string") return null; - const bytes = new Uint8Array(hex.length / 2); - for (let i = 0; i < hex.length; i += 2) - bytes[i / 2] = parseInt(hex.substring(i, i + 2), 16); - return bytes; - }; - const bytes = hexToBytes(privateKey); - if (bytes) { - publicKey = tools.getPublicKey(bytes); - } else { - throw error; - } - } + publicKey = tools.getPublicKey(privateKey); } if (!publicKey || !HEX64_REGEX.test(publicKey)) { @@ -2799,12 +2777,7 @@ export class NostrClient { let privateKey = ""; try { - if (typeof tools.generateSecretKey === "function") { - const secret = tools.generateSecretKey(); - if (secret instanceof Uint8Array) { - privateKey = bytesToHex(secret); - } - } else if (typeof tools.generatePrivateKey === "function") { + if (typeof tools.generatePrivateKey === "function") { privateKey = tools.generatePrivateKey(); } else if (window?.crypto?.getRandomValues) { const randomBytes = new Uint8Array(32); @@ -2831,28 +2804,8 @@ export class NostrClient { try { pubkey = getPublicKey(normalizedPrivateKey); } catch (error) { - // Retry with bytes if string input failed (likely nostr-tools v2) - try { - const hexToBytes = - typeof tools.utils?.hexToBytes === "function" - ? tools.utils.hexToBytes - : (hex) => { - if (typeof hex !== "string") return null; - const bytes = new Uint8Array(hex.length / 2); - for (let i = 0; i < hex.length; i += 2) - bytes[i / 2] = parseInt(hex.substring(i, i + 2), 16); - return bytes; - }; - const bytes = hexToBytes(normalizedPrivateKey); - if (bytes) { - pubkey = getPublicKey(bytes); - } else { - throw error; - } - } catch (retryError) { - devLogger.warn("[nostr] Failed to derive session pubkey:", error); - return null; - } + devLogger.warn("[nostr] Failed to derive session pubkey:", error); + return null; } const normalizedPubkey = diff --git a/js/ui/applicationBootstrap.js b/js/ui/applicationBootstrap.js index 22910063..1447170e 100644 --- a/js/ui/applicationBootstrap.js +++ b/js/ui/applicationBootstrap.js @@ -392,7 +392,7 @@ export default class ApplicationBootstrap { app.loginModalController = null; app.currentUserNpub = null; - app.initializeLoginModalController({ logIfMissing: false }); + app.initializeLoginModalController({ logIfMissing: true }); app.profileButton = doc?.getElementById("profileButton") || null; app.profileAvatar = doc?.getElementById("profileAvatar") || null; diff --git a/js/ui/profileModalController.js b/js/ui/profileModalController.js index 793f5c93..f30a33a9 100644 --- a/js/ui/profileModalController.js +++ b/js/ui/profileModalController.js @@ -1124,7 +1124,6 @@ export class ProfileModalController { this.directMessagesUnsubscribes = []; this.pendingMessagesRender = null; this.messagesStatusClearTimeout = null; - this.lastDirectMessageErrorTime = 0; this.profileHistoryRenderer = null; this.profileHistoryRendererConfig = null; @@ -2418,14 +2417,10 @@ export class ProfileModalController { handleDirectMessagesError(detail = {}) { const error = detail?.error || detail?.failure || detail; - const now = Date.now(); - if (now - this.lastDirectMessageErrorTime > 5000) { - userLogger.warn( - "[profileModal] Direct message sync issue detected:", - error, - ); - this.lastDirectMessageErrorTime = now; - } + userLogger.warn( + "[profileModal] Direct message sync issue detected:", + error, + ); if (this.activeMessagesRequest) { return; diff --git a/js/utils/profileMedia.js b/js/utils/profileMedia.js index bbb48440..07cb2dfd 100644 --- a/js/utils/profileMedia.js +++ b/js/utils/profileMedia.js @@ -62,10 +62,6 @@ export function sanitizeProfileMediaUrl(value) { return trimmed; } - if (/^images\//i.test(trimmed)) { - return trimmed; - } - if (!/^https?:\/\//i.test(trimmed)) { if (LOCALHOST_PATTERN.test(trimmed)) { trimmed = `http://${trimmed}`;