mirror of
https://github.com/PR0M3TH3AN/bitvid.git
synced 2026-10-27 07:52:24 +00:00
Ensure NIP-07 permissions are granted before signing and encrypting
This commit is contained in:
1 parent
a36d807361
commit
deffbf7670
6 files changed
+232
-80
No files matched your search
+19
-1
@@ -1,5 +1,9 @@
|
||||
import { isDevMode } from "./config.js";
|
||||
import { DEFAULT_RELAY_URLS, nostrClient } from "./nostr.js";
|
||||
import {
|
||||
DEFAULT_RELAY_URLS,
|
||||
nostrClient,
|
||||
requestDefaultExtensionPermissions,
|
||||
} from "./nostr.js";
|
||||
import { buildRelayListEvent } from "./nostrEventSchemas.js";
|
||||
import { devLogger, userLogger } from "./utils/logger.js";
|
||||
import {
|
||||
@@ -596,6 +600,20 @@ class RelayPreferencesManager {
|
||||
throw error;
|
||||
}
|
||||
|
||||
const permissionResult = await requestDefaultExtensionPermissions();
|
||||
if (!permissionResult.ok) {
|
||||
userLogger.warn(
|
||||
"[RelayPreferencesManager] Extension permissions denied while publishing relay preferences.",
|
||||
permissionResult.error,
|
||||
);
|
||||
const error = new Error(
|
||||
"The NIP-07 extension must allow signing before publishing relay preferences.",
|
||||
);
|
||||
error.code = "extension-permission-denied";
|
||||
error.cause = permissionResult.error;
|
||||
throw error;
|
||||
}
|
||||
|
||||
if (!window?.nostr?.signEvent) {
|
||||
const error = new Error(
|
||||
"A NIP-07 extension is required to publish relay preferences."
|
||||
|
||||
Reference in new issue
Block a user