fix(external-url): delay URL processing to ensure app activation completes
Problem:
- Clicking URLs from external apps while Peek was in background caused the first
click to focus Peek but not open the URL
- Second click would work correctly because app was already focused
- Only affected macOS open-url event handler
Root cause:
- macOS fires 'open-url' event during app activation, not after
- The event handler fired before app was fully focused
- URL processing happened too early, before the app could properly handle it
Solution:
- Added 100ms delay for macOS 'open-url' events from OS
- Ensures app activation completes before processing URL
- Only applies to macOS + OS source (not CLI or second-instance)
- Non-macOS platforms process immediately (no delay)
Test:
- Added test that simulates external URL event (open-url from OS)
- Verifies URL opens correctly on first trigger
- Tests the external:open-url pubsub path