diff options
| author | Adam Soltys <[email protected]> | 2026-10-13 16:23:39 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-10-13 16:23:39 -0700 |
| commit | 558a7c5a08cb172dbe229675a6b330611000d3fc (patch) | |
| tree | 417137684074004e4334e78be9d682d61c1d4797 /src/lib/nostr.ts | |
| parent | e9ae62fe22c104e9403dfba299d6ac6a3210b757 (diff) | |
| download | coinos-ui-master.tar.gz coinos-ui-master.zip | |
Without the sk cookie from a password login (nostr logins, older
sessions) the reveal button was hidden and signing failed. Ask for the
password and get the key from /nsec instead.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01UjHzoBmW1iPpEe5qC2LDYB
Diffstat (limited to 'src/lib/nostr.ts')
| -rw-r--r-- | src/lib/nostr.ts | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/nostr.ts b/src/lib/nostr.ts index 69e21286..2e993f9d 100644 --- a/src/lib/nostr.ts +++ b/src/lib/nostr.ts @@ -75,8 +75,13 @@ export const getPrivateKey = async (user: User): Promise<Uint8Array> => { // /me no longer returns the encrypted key; /login decrypts it into the // sk cookie instead. user.nsec is only present on a fresh login response. + // Sessions without either (nostr or older logins) fetch it with the + // password. const sk = browser && cookies.get("sk"); - const { nsec } = user; + let { nsec } = user; + + if (!sk && !nsec && user.hasnsec) + ({ nsec } = await post("/nsec", { password: await getPassword() })); if (sk) { k = hexToBytes(sk); |
