(url: string)
| 16 | * @returns `true` if the browser was (likely) opened, `false` if skipped. |
| 17 | */ |
| 18 | export async function safeOpen(url: string): Promise<boolean> { |
| 19 | if (os.platform() === 'linux') { |
| 20 | const env = getCliEnv() |
| 21 | const hasDisplay = Boolean(env.DISPLAY || env.WAYLAND_DISPLAY) |
| 22 | if (!hasDisplay) { |
| 23 | logger.warn( |
| 24 | 'No display server detected (DISPLAY / WAYLAND_DISPLAY unset). Skipping browser open.', |
| 25 | ) |
| 26 | return false |
| 27 | } |
| 28 | } |
| 29 | |
| 30 | try { |
| 31 | await open(url) |
| 32 | return true |
| 33 | } catch (err) { |
| 34 | logger.error(err, 'Failed to open browser') |
| 35 | return false |
| 36 | } |
| 37 | } |
no test coverage detected