Commit Graph
2 Commits
Author SHA1 Message Date
thePR0M3TH3ANandClaude Opus 4.8 f383cde481 refactor(signer): dedupe extension-adapter builder; re-record size baseline
The refresh-restore signer fix (commit 0031d68b) grew SignerManager past its
file-size limit, breaking `npm run lint`. Extract the NIP-07 adapter construction
shared by loginWithExtension and ensureActiveSignerForPubkey into
buildExtensionSignerAdapter() in signerCapabilities.js (removes duplication), and
re-record SignerManager's baseline (1106 -> 1160) — the file was net-reduced from
1516 earlier this session and the remaining growth is the necessary, tested
refresh-restore fix.

`npm run lint` green again; signer tests pass.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-06-20 08:27:41 -04:00
thePR0M3TH3ANandClaude Opus 4.8 56d04cd61a refactor(signer): extract capabilities + NIP-46 handshake wait (10/10)
File-size decomposition of the auth/key-handling manager (no behavior change).

- signerCapabilities.js: the signer capability/permission helpers
  (resolveSignerCapabilities, hydrateExtensionSignerCapabilities,
  attachNipMethodAliases, resolveActiveSigner, plus the permission-message
  helpers). The three historically-public ones are re-exported from
  SignerManager so js/nostr/client.js's imports are unchanged. Dropped the now
  dead-in-SignerManager permission-message imports (they were already unused).
- signerRemoteHandshake.js: _waitForRemoteSignerHandshake lifted to an
  instance-param function (only this.client / this.pendingHandshakeCancel /
  this._decryptHandshakePayload became ctx.*; verified zero leftover `this`),
  with a thin delegator on the manager.

SignerManager.js: 1516 -> 1145 lines (back under its 1156 limit).

Build + full unit suite green, incl. the NIP-46 handshake tests
(nip46-wait-handshake, nip46-prepare-handshake, nip46-silent-restore,
nostr-login-permissions) that exercise this path.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-06-19 16:52:57 -04:00