Skip to content

Commit

Permalink
setting: Automatically open webui in browser on startup
Browse files Browse the repository at this point in the history
  • Loading branch information
w-e-w committed Aug 8, 2023
1 parent 6a0d498 commit 0c43cf1
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 @@ -385,6 +385,7 @@ def list_samplers():
}))

options_templates.update(options_section(('system', "System"), {
"auto_launch_browser": OptionInfo("Local", "Automatically open webui in browser on startup for", gr.Radio, lambda: {"choices": ["Disable", "Local", "Remote"]}),
"show_warnings": OptionInfo(False, "Show warnings in console."),
"memmon_poll_rate": OptionInfo(8, "VRAM usage polls per second during generation.", gr.Slider, {"minimum": 0, "maximum": 40, "step": 1}).info("0 = disable"),
"samples_log_stdout": OptionInfo(False, "Always print all generation info to standard output"),
Expand Down
15 changes: 11 additions & 4 deletions webui.py
Original file line number Diff line number Diff line change
Expand Up @@ -398,6 +398,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 cmd_opts.autolaunch or shared.opts.auto_launch_browser == "Remote":
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 @@ -407,7 +414,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 @@ -417,9 +424,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 @@ -464,6 +468,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 0c43cf1

Please sign in to comment.