Merge branch 'memo-signer' into 'main'

NostrProvider: memoize the signer

See merge request soapbox-pub/soapbox!2958
environments/review-main-yi2y9f/deployments/4465
Alex Gleason 2024-03-22 14:19:10 +00:00
commit c24fc10c93
1 zmienionych plików z 5 dodań i 2 usunięć

Wyświetl plik

@ -1,5 +1,5 @@
import { NRelay, NRelay1, NostrSigner } from '@soapbox/nspec';
import React, { createContext, useContext, useState, useEffect } from 'react';
import React, { createContext, useContext, useState, useEffect, useMemo } from 'react';
import { NKeys } from 'soapbox/features/nostr/keys';
import { useOwnAccount } from 'soapbox/hooks';
@ -27,7 +27,10 @@ export const NostrProvider: React.FC<NostrProviderProps> = ({ children }) => {
const pubkey = instance.nostr?.pubkey;
const accountPubkey = account?.nostr.pubkey;
const signer = (accountPubkey ? NKeys.get(accountPubkey) : undefined) ?? window.nostr;
const signer = useMemo(
() => (accountPubkey ? NKeys.get(accountPubkey) : undefined) ?? window.nostr,
[accountPubkey],
);
useEffect(() => {
if (url) {