fix: ShowBrowser merge behavior and consistent browser defaults
- Change ShowBrowser from bool to *bool so nil means "don't override" in mergeOptions(), fixing the bug where it always overwrote the base - Add Bool() helper for convenient *bool construction - Align NewInteractiveBrowser default from Chromium to Firefox to match NewBrowser - Update README example and CLI flags for the *bool change Closes #15, #16 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -70,8 +70,9 @@ func initBrowser(opt BrowserOptions) (*browserInitResult, error) {
|
||||
}
|
||||
|
||||
if launch {
|
||||
headless := opt.ShowBrowser == nil || !*opt.ShowBrowser
|
||||
browser, err = bt.Launch(playwright.BrowserTypeLaunchOptions{
|
||||
Headless: playwright.Bool(!opt.ShowBrowser),
|
||||
Headless: playwright.Bool(headless),
|
||||
})
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to launch browser: %w", err)
|
||||
@@ -154,7 +155,9 @@ func mergeOptions(base BrowserOptions, opts []BrowserOptions) BrowserOptions {
|
||||
if o.UseLocalOnly {
|
||||
base.UseLocalOnly = true
|
||||
}
|
||||
base.ShowBrowser = o.ShowBrowser
|
||||
if o.ShowBrowser != nil {
|
||||
base.ShowBrowser = o.ShowBrowser
|
||||
}
|
||||
}
|
||||
return base
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user