Add personal notes, DeepSearch history, backup offload, and gateway auth throttling

Also streamline the top navigation: drop the Tools dropdown, make Quizzes
and Battles icon-only entries, and remove the Workspace, Containers and
Editor entry points from the project detail page.
This commit is contained in:
2026-09-12 20:32:31 +02:00
parent c4f7d01b2d
commit cae139ead9
158 changed files with 6156 additions and 377 deletions
+40 -2
View File
@@ -230,8 +230,8 @@ def test_delete_gist(alice, app_server):
page, _ = alice
title = f"Delete Test {int(time.time())}"
_create_gist(page, title=title, source_code="delete_me = True")
page.locator("button:has-text('Delete')").wait_for(state="visible", timeout=5000)
page.click("button:has-text('Delete')")
page.locator("button[data-confirm='Delete this gist?']").wait_for(state="visible", timeout=5000)
page.click("button[data-confirm='Delete this gist?']")
page.locator(".dialog-overlay.visible .dialog-confirm").click()
page.wait_for_url(f"{BASE_URL}/gists", timeout=10000, wait_until="domcontentloaded")
@@ -275,6 +275,44 @@ def test_gist_code_copy_button(alice, app_server):
expect(btn).to_have_text("Copied!", timeout=3000)
def test_markdown_gist_raw_rendered_toggle(alice, app_server):
from playwright.sync_api import expect
page, _ = alice
_create_gist(
page,
title=f"Markdown Toggle {int(time.time())}",
language="markdown",
source_code="# Heading\n\nSome **bold** text.",
)
toggle = page.locator("button[data-view-toggle='gist-view-raw']")
raw_view = page.locator("#gist-view-raw")
rendered_view = page.locator("#gist-view-rendered")
expect(toggle).to_have_text("View rendered")
expect(raw_view).to_be_visible()
expect(rendered_view).to_be_hidden()
toggle.click()
expect(toggle).to_have_text("View raw")
expect(rendered_view).to_be_visible()
expect(raw_view).to_be_hidden()
assert page.locator("#gist-view-rendered h1:has-text('Heading')").count() == 1
toggle.click()
expect(toggle).to_have_text("View rendered")
expect(raw_view).to_be_visible()
expect(rendered_view).to_be_hidden()
def test_markdown_rendered_gist_has_no_toggle(alice, app_server):
page, _ = alice
_create_gist(
page,
title=f"No Toggle {int(time.time())}",
language="markdown_rendered",
source_code="# Already rendered",
)
assert page.locator("button[data-view-toggle]").count() == 0
def test_language_filter(alice, app_server):
page, _ = alice
title = f"Lang Filter Test {int(time.time())}"