feat: replace DiceBear avatar proxy with local Multiavatar SVG generation and remove avatar_style from signup

This commit is contained in:
2026-05-11 01:14:43 +00:00
parent d8ef8ebef2
commit fda3a202dc
37 changed files with 1203 additions and 366 deletions
+16 -17
View File
@@ -47,16 +47,14 @@ def app_server(test_db_path):
env = os.environ.copy()
env["DEVPLACE_DATABASE_URL"] = f"sqlite:///{test_db_path}"
env["SECRET_KEY"] = "test-secret-key"
err_path = Path("/tmp/devplace_test_server_err.log")
with open(err_path, "w") as err_f:
proc = subprocess.Popen(
[sys.executable, "-m", "uvicorn", "devplacepy.main:app",
"--host", "127.0.0.1", "--port", "10501"],
cwd=str(PROJECT_ROOT),
env=env,
stdout=subprocess.DEVNULL,
stderr=err_f,
)
proc = subprocess.Popen(
[sys.executable, "-m", "uvicorn", "devplacepy.main:app",
"--host", "127.0.0.1", "--port", "10501"],
cwd=str(PROJECT_ROOT),
env=env,
stdout=subprocess.DEVNULL,
stderr=subprocess.DEVNULL,
)
deadline = time.time() + 20
while time.time() < deadline:
try:
@@ -69,8 +67,13 @@ def app_server(test_db_path):
proc.terminate(); proc.wait()
raise RuntimeError("Server did not start")
yield proc
proc.terminate()
proc.wait(timeout=10)
try:
proc.terminate()
proc.wait(timeout=10)
except Exception:
proc.kill()
proc.wait(timeout=5)
@pytest.fixture(scope="session")
def playwright_instance():
@@ -120,11 +123,7 @@ def login_user(page, user):
page.fill("#email", user["email"])
page.fill("#password", user["password"])
page.click("button:has-text('Sign in')")
try:
page.wait_for_url("**/feed", timeout=10000, wait_until="domcontentloaded")
except Exception as e:
print(f"\n[LOGIN FAIL] URL: {page.url}, title: {page.title()}, err: {e}")
raise
page.wait_for_url("**/feed", timeout=10000, wait_until="domcontentloaded")
@pytest.fixture(scope="session")