- Add .then(navigated) check: opens new window when client.navigate() resolves null - Add .catch(): opens new window when client.focus() or client.navigate() rejects - Both branches guarded by self.clients.openWindow per spec - Returned chain (not floating) satisfies no-floating-promises gate - All other behaviour preserved: close(), url extraction, post-loop fallback