feat: add ISSLOP AI usage analysis CLI commands, game router, and politics topic

- Add `cmd_isslop_prune`, `cmd_isslop_clear`, `cmd_isslop_analyze` CLI commands for AI usage analysis job management
- Register `/game` router with `index` and `farm` endpoints for Code Farm idle game
- Add `politics` to allowed TOPICS constant replacing `signals`
- Introduce `ISSLOP_DIR`, `ISSLOP_WORKSPACES_DIR`, `ISSLOP_RUNS_DIR`, `ISSLOP_MEDIA_DIR` config paths
- Add `clear_user_stars` and `clear_user_projects_cache` calls on vote and project create/delete
- Update `make prod` to use `nproc` workers via `DEVPLACE_WEB_WORKERS` env var
- Convert `database.py` and `utils.py` to packages for modular structure
- Add `devplace apikey` and `devplace token` CLI subcommands for API key and access token management
This commit is contained in:
2026-07-06 03:57:47 +00:00
parent f1bdefd834
commit 9a8046ab2a
110 changed files with 1466 additions and 374 deletions
+3 -3
View File
@@ -685,11 +685,11 @@ def test_feed_guest_reply_disabled(page, app_server):
assert card.locator(".post-card-comments [data-action='reply']").first.is_disabled()
def test_feed_signals_topic(alice):
def test_feed_politics_topic(alice):
page, _ = alice
page.goto(f"{BASE_URL}/feed", wait_until="domcontentloaded")
signals_link = page.locator(".sidebar-nav a:has-text('Signals')")
assert signals_link.is_visible()
politics_link = page.locator(".sidebar-nav a:has-text('Politics')")
assert politics_link.is_visible()
def test_create_post_cancel_modal(alice):
+1 -1
View File
@@ -337,7 +337,7 @@ def test_comment_create_scrolls_to_anchor(alice):
def test_post_across_all_topics(alice):
page, _ = alice
topics = ["devlog", "showcase", "question", "rant", "fun", "signals"]
topics = ["devlog", "showcase", "question", "rant", "fun", "politics"]
for topic in topics:
create_post(page, topic, f"Topic test post for {topic}")
badge = page.locator(f".badge-{topic}")