V12
Rabby maintains exactly one in-flight approval, in a background singleton: `notificationService.currentApproval`. When autolock kicks in, `setLocked()` clears the password, drops the keyrings, and emits `lock`. It does not touch the approval queue. There is one subscriber to `lock` in the codebase, and it clears an analytics interval. The pending approval therefore persists across the lock, still holding a live `resolve()` callback into the provider's signing path.