From 756b78e72422c6ab9737be5272d51b7f6849d4a6 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sat, 31 Jan 2026 01:44:33 +0000 Subject: [PATCH] fix(nostr): Request all NIP-07 permissions on login Updated `loginWithExtension` to request `DEFAULT_NIP07_PERMISSION_METHODS` instead of `DEFAULT_NIP07_CORE_METHODS`. This ensures encryption permissions (NIP-04/44) are requested upfront and cached, preventing permission errors or unexpected popups during subsequent operations like DM decryption or preference loading. Also includes artifacts from TODO triage: - `artifacts/todos.txt`: Scanned TODOs list. - `artifacts/issue_moderation_tests.md`: Issue report for moderation test TODOs. Co-authored-by: PR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> --- artifacts/issue_moderation_tests.md | 25 +++++++++++++++++++++++++ js/nostr/client.js | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 artifacts/issue_moderation_tests.md diff --git a/artifacts/issue_moderation_tests.md b/artifacts/issue_moderation_tests.md new file mode 100644 index 00000000..7ac7357e --- /dev/null +++ b/artifacts/issue_moderation_tests.md @@ -0,0 +1,25 @@ +# todo: Investigate why visibility check fails in fixture environment + +Found TODOs in `tests/visual/moderation.spec.ts` related to Playwright test failures in headless mode. + +## Context +Several tests in `tests/visual/moderation.spec.ts` have commented-out assertions and interactions due to visibility checks failing or clicks timing out when running in the fixture environment (headless). + +## TODOs +- `// TODO: Investigate why visibility check fails in fixture environment (headless)` +- `// TODO: Investigate why click times out in fixture environment (headless)` +- `// TODO: Investigate visibility check failure` +- `// TODO: Investigate click timeout failure` + +## Code Excerpt +```typescript + // TODO: Investigate why visibility check fails in fixture environment (headless) + // await expect(showAnywayButton).toBeVisible(); + await expect(restoreButtonQuery).toHaveCount(0); + + // TODO: Investigate why click times out in fixture environment (headless) + // await showAnywayButton.click({ force: true }); +``` + +## Suggested Next Step +Investigate the `tests/visual/moderation.spec.ts` execution in headless mode. It might be related to rendering timing, fixture loading state, or specific CSS properties affecting visibility in the headless renderer. diff --git a/js/nostr/client.js b/js/nostr/client.js index 1ab71bac..2b7e5ae3 100644 --- a/js/nostr/client.js +++ b/js/nostr/client.js @@ -2079,7 +2079,7 @@ export class NostrClient { } const permissionResult = await this.ensureExtensionPermissions( - DEFAULT_NIP07_CORE_METHODS, + DEFAULT_NIP07_PERMISSION_METHODS, { context: "login", logMetrics: true, showStatus: false }, ); if (!permissionResult.ok) {