mattkevan commited on
Commit
5b38545
·
1 Parent(s): b46d0f8

Fix build error

Browse files
Files changed (2) hide show
  1. app.py +12 -1
  2. tests/test_app_startup.py +18 -0
app.py CHANGED
@@ -246,7 +246,18 @@ def _choose_server_port(preferred: int = 7860, attempts: int = 10) -> int:
246
  )
247
 
248
 
 
 
 
 
 
 
 
 
 
 
 
249
  if __name__ == "__main__":
250
  server_port = _choose_server_port()
251
  print(f"Starting {APP_TITLE} on port {server_port}")
252
- demo.launch(_app=app, server_name="0.0.0.0", server_port=server_port)
 
246
  )
247
 
248
 
249
+ def _launch_app(server_port: int) -> None:
250
+ demo.launch(
251
+ _app=app,
252
+ server_name="0.0.0.0",
253
+ server_port=server_port,
254
+ # This app serves its own frontend and uses Gradio for the API layer only.
255
+ # SSR adds a Node proxy that is unnecessary here and has been noisy in Spaces.
256
+ ssr_mode=False,
257
+ )
258
+
259
+
260
  if __name__ == "__main__":
261
  server_port = _choose_server_port()
262
  print(f"Starting {APP_TITLE} on port {server_port}")
263
+ _launch_app(server_port)
tests/test_app_startup.py CHANGED
@@ -13,3 +13,21 @@ def test_app_module_exposes_top_level_server_demo() -> None:
13
  assert hasattr(module, "demo")
14
  assert isinstance(module.demo, gr.Blocks)
15
  assert module.demo.mode == "server"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  assert hasattr(module, "demo")
14
  assert isinstance(module.demo, gr.Blocks)
15
  assert module.demo.mode == "server"
16
+
17
+
18
+ def test_launch_app_disables_ssr_for_custom_server_mode(monkeypatch) -> None:
19
+ sys.modules.pop("app", None)
20
+ module = importlib.import_module("app")
21
+ captured = {}
22
+
23
+ def fake_launch(**kwargs):
24
+ captured.update(kwargs)
25
+
26
+ monkeypatch.setattr(module.demo, "launch", fake_launch)
27
+
28
+ module._launch_app(7860)
29
+
30
+ assert captured["server_name"] == "0.0.0.0"
31
+ assert captured["server_port"] == 7860
32
+ assert captured["ssr_mode"] is False
33
+ assert captured["_app"] is module.app