# Context - Perf Agent - 2026-02-17 ## Goal Improve application responsiveness by bounding concurrency in background network tasks, specifically for DM signal events and DM service operations. ## Scope - `js/nostr/dmSignalEvents.js`: Fix unbounded `Promise.all` in `publishDmReadReceipt` and `publishDmTypingIndicator`. - `js/services/dmNostrService.js`: Fix unbounded `Promise.all` in `connect` and `publishSignedEvent`. - `content/docs/guides/upload-content.md`: Fix documentation port number (5500 -> 3000). ## Assumptions - `pMap` utility works as expected. - `RELAY_BACKGROUND_CONCURRENCY` (3) is an appropriate limit for these operations. ## Definition of Done - All `Promise.all` usages in targeted functions are replaced with `pMap` with concurrency limits. - `npm run lint` passes. - `npm run test:dm:unit` passes. - `npm run test:dm:integration` passes. - `content/docs/guides/upload-content.md` is updated.