Updates the privacy warning notifications in `ProfileModalController` to auto-dismiss after 5 seconds. This resolves an issue where warnings about direct message relays and NIP-17 delivery would persist indefinitely, requiring manual dismissal or page reload.
The fix applies `{ autoHideMs: 5000 }` to `this.showStatus` calls for:
- "Privacy warning: direct messages are using your default relays because no NIP-17 relay list is available."
- "Privacy warning: this recipient has not shared NIP-17 relays, so we'll use your default relays."
- "Privacy warning: this message used default relays because no NIP-17 relay list was found."
- Update CONTRIBUTING.md and README.md to clarify npm run format scope and recommend test shards
- Fix broken unit tests in sessionActor and tagPreferenceMenu to unblock shards
Implements `scripts/agent/interop-test.mjs` to validate Nostr event schemas and client publishing against public relays.
- Uses ephemeral keys (generated via `nostr-tools`) for safety.
- Connects to `wss://relay.damus.io` and `wss://nos.lol` for testing.
- Verifies:
- Video Post creation (via `buildVideoPostEvent`) and publishing.
- View Event creation (via `buildViewEvent`) and publishing.
- Direct Message sending and decryption (using client's encrypted DM logic).
- Includes necessary Node.js polyfills (`WebSocket`, `crypto`, `localStorage`, `window`) to run browser-targeted client code.
- Update smoke-test.mjs to output structured summary with logs
- Update telemetry-aggregator.mjs to collect from unit, smoke, and load tests
- Update run-unit-tests.mjs to log output to artifacts/test_unit.log
- Ensure PII sanitization in telemetry reports
- Added `scripts/agent/validate-events.mjs` to validate event builders.
- Added `GENERIC_REPOST` (kind 16) to `js/nostrEventSchemas.js` and `docs/nostr-event-schemas.md`.
- Updated `buildRepostEvent` to validate against `GENERIC_REPOST` when producing kind 16 events.
- Fix broken `SearchFiltersPopover.js` import in `views/dev/popover-demo.html` by replacing it with a local `wirePopover` implementation, resolving `tests/e2e/popover.spec.ts` failures.
- Update `.gitignore` to exclude `*.log` files to prevent accidental commits of local log files.
- Remove accidental `server.log` from the repository.
- Attempted to fix `tests/visual/moderation.spec.ts` but confirmed "element not found" issues in fixture environment; reverted to preserve passing state.
- Formatted code.
- Generate artifacts/todos.txt containing identified TODOs in visual tests.
- Create an issue artifact documenting investigation needs for headless test failures.
- Filter out false positives from scan results.
- Renamed "Public URL / Prefix" to "Public Access URL" in Profile Modal to differentiate from S3 API Endpoint.
- Added helper text clarifying that Account ID is used for connection and Public URL is for CDN.
- Implemented validation in `ProfileModalController` to detect and warn if an S3/R2 API endpoint is entered into the Public URL field.
- Added blocking validation on save to prevent misconfiguration.
- Verified changes with unit tests and Playwright frontend verification.