Skip to content

Commit

Permalink
Merge pull request #12254 from AUTOMATIC1111/auro-autolaunch
Browse files Browse the repository at this point in the history
Automatically open webui in browser when running "locally"
  • Loading branch information
AUTOMATIC1111 authored Aug 8, 2023
2 parents 01997f4 + f17c8c2 commit 902f8cf
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
1 change: 1 addition & 0 deletions modules/shared.py
Original file line number Diff line number Diff line change
Expand Up @@ -422,6 +422,7 @@ def list_samplers():
}))

options_templates.update(options_section(('system', "System"), {
"auto_launch_browser": OptionInfo("Local", "Automatically open webui in browser on startup", gr.Radio, lambda: {"choices": ["Disable", "Local", "Remote"]}),
"show_warnings": OptionInfo(False, "Show warnings in console.").needs_reload_ui(),
"show_gradio_deprecation_warnings": OptionInfo(True, "Show gradio deprecation warnings in console.").needs_reload_ui(),
"memmon_poll_rate": OptionInfo(8, "VRAM usage polls per second during generation.", gr.Slider, {"minimum": 0, "maximum": 40, "step": 1}).info("0 = disable"),
Expand Down
15 changes: 11 additions & 4 deletions webui.py
Original file line number Diff line number Diff line change
Expand Up @@ -372,6 +372,13 @@ def webui():

gradio_auth_creds = list(get_gradio_auth_creds()) or None

auto_launch_browser = False
if os.getenv('SD_WEBUI_RESTARTING') != '1':
if shared.opts.auto_launch_browser == "Remote" or cmd_opts.autolaunch:
auto_launch_browser = True
elif shared.opts.auto_launch_browser == "Local":
auto_launch_browser = not any([cmd_opts.listen, cmd_opts.share, cmd_opts.ngrok])

app, local_url, share_url = shared.demo.launch(
share=cmd_opts.share,
server_name=server_name,
Expand All @@ -381,7 +388,7 @@ def webui():
ssl_verify=cmd_opts.disable_tls_verify,
debug=cmd_opts.gradio_debug,
auth=gradio_auth_creds,
inbrowser=cmd_opts.autolaunch and os.getenv('SD_WEBUI_RESTARTING') != '1',
inbrowser=auto_launch_browser,
prevent_thread_lock=True,
allowed_paths=cmd_opts.gradio_allowed_path,
app_kwargs={
Expand All @@ -391,9 +398,6 @@ def webui():
root_path=f"/{cmd_opts.subpath}" if cmd_opts.subpath else "",
)

# after initial launch, disable --autolaunch for subsequent restarts
cmd_opts.autolaunch = False

startup_timer.record("gradio launch")

# gradio uses a very open CORS policy via app.user_middleware, which makes it possible for
Expand Down Expand Up @@ -438,6 +442,9 @@ def webui():
shared.demo.close()
break

# disable auto launch webui in browser for subsequent UI Reload
os.environ.setdefault('SD_WEBUI_RESTARTING', '1')

print('Restarting UI...')
shared.demo.close()
time.sleep(0.5)
Expand Down

0 comments on commit 902f8cf

Please sign in to comment.