fix: correct "bugs" to "issues" in routing table and README references across multiple documentation files

This commit is contained in:
2026-06-14 07:48:10 +00:00
parent f79a427f32
commit f2b910ea75
162 changed files with 7011 additions and 1134 deletions
+32 -32
View File
@@ -23,8 +23,8 @@ NEWS_UIDS = []
NEWS_SLUGS = []
GIST_SLUGS = []
GIST_UIDS = []
BUG_UIDS = []
BUG_JOB_UIDS = []
ISSUE_UIDS = []
ISSUE_JOB_UIDS = []
NOTIFICATION_UIDS = []
SEO_JOB_UIDS = []
POLLS = []
@@ -51,7 +51,7 @@ PASSWORD = "testpass123"
# /openai/v1/*, /devii/clippy/ai/chat - real upstream AI spend / billing.
# /p/{slug}, /projects/.../containers/*, /admin/containers/*
# - drive the host docker daemon.
# /bugs/{number}, /bugs/{number}/comment, /bugs/{number}/status
# /issues/{number}, /issues/{number}/comment, /issues/{number}/status
# - live external Gitea REST calls.
# /tools/seo/run - launches a real Playwright crawl of
# an external URL, per-owner rate-capped
@@ -271,16 +271,16 @@ def seed_data(environment, **kwargs):
opener = logged_in_opener(seed["email"])
body = urllib.parse.urlencode(
{
"title": f"Bug {uuid.uuid4().hex[:6]}",
"description": "Seed bug report for load testing.",
"title": f"Issue {uuid.uuid4().hex[:6]}",
"description": "Seed issue report for load testing.",
}
).encode()
opener.open(
urllib.request.Request(f"{host}/bugs/create", data=body),
urllib.request.Request(f"{host}/issues/create", data=body),
timeout=10,
)
except Exception as e:
logger.warning(f"Create seed bug failed: {e}")
logger.warning(f"Create seed issue failed: {e}")
# ── Seed news articles (direct DB insert) ───────────────────
try:
@@ -448,18 +448,18 @@ def seed_data(environment, **kwargs):
try:
opener = logged_in_opener(SEED_USERS[0]["email"])
resp = opener.open(urllib.request.Request(f"{host}/bugs"), timeout=10)
resp = opener.open(urllib.request.Request(f"{host}/issues"), timeout=10)
html = resp.read().decode("utf-8", errors="replace")
bug_matches = re.findall(rf"/votes/bug/{uuid_pat}", html)
BUG_UIDS.extend(b for b in bug_matches if b not in BUG_UIDS)
issue_matches = re.findall(rf"/votes/issue/{uuid_pat}", html)
ISSUE_UIDS.extend(b for b in issue_matches if b not in ISSUE_UIDS)
except Exception as e:
logger.warning(f"Harvest bug UIDs failed: {e}")
logger.warning(f"Harvest issue UIDs failed: {e}")
logger.info(
f"Seed complete: {len(SEED_USERS)} users, {len(POST_UIDS)} posts, "
f"{len(PROJECT_UIDS)} projects ({len(PROJECT_SLUGS)} slugs), "
f"{len(GIST_UIDS)} gists, {len(COMMENT_UIDS)} comments, "
f"{len(BUG_UIDS)} bugs, {len(USER_UIDS)} uids"
f"{len(ISSUE_UIDS)} issues, {len(USER_UIDS)} uids"
)
@@ -547,8 +547,8 @@ class DevPlaceUser(HttpUser):
self.client.get(f"/news/{random.choice(slugs)}", name="news/[slug]")
@task(1)
def view_bugs(self):
self.client.get("/bugs", name="bugs")
def view_issues(self):
self.client.get("/issues", name="issues")
@task(3)
def view_project_detail(self):
@@ -796,29 +796,29 @@ class DevPlaceUser(HttpUser):
resp.failure("gist not created")
@task(1)
def create_bug(self):
def create_issue(self):
with self.client.post(
"/bugs/create",
"/issues/create",
data={
"title": f"Bug {uuid.uuid4().hex[:6]}",
"description": "Load test bug report description.",
"title": f"Issue {uuid.uuid4().hex[:6]}",
"description": "Load test issue report description.",
},
catch_response=True,
name="bugs/create",
name="issues/create",
) as resp:
if resp.status_code == 503:
resp.success()
return
if resp.status_code != 200:
resp.failure(f"bug create: status={resp.status_code}")
resp.failure(f"issue create: status={resp.status_code}")
return
resp.success()
try:
uid = resp.json().get("uid")
except (ValueError, RequestException, AttributeError):
uid = None
if uid and uid not in BUG_JOB_UIDS:
BUG_JOB_UIDS.append(uid)
if uid and uid not in ISSUE_JOB_UIDS:
ISSUE_JOB_UIDS.append(uid)
# ── social interaction ──────────────────────────────────────
@@ -870,10 +870,10 @@ class DevPlaceUser(HttpUser):
self._vote("gist", random.choice(GIST_UIDS))
@task(1)
def vote_on_bug(self):
if not BUG_UIDS:
def vote_on_issue(self):
if not ISSUE_UIDS:
return
self._vote("bug", random.choice(BUG_UIDS))
self._vote("issue", random.choice(ISSUE_UIDS))
def _react(self, target_type, uid):
emoji = random.choice(REACTION_EMOJIS)
@@ -1235,18 +1235,18 @@ class DevPlaceUser(HttpUser):
self.client.post(f"/media/{uid}/restore", name="media/restore")
@task(1)
def file_bug_job_status(self):
if not BUG_JOB_UIDS:
def file_issue_job_status(self):
if not ISSUE_JOB_UIDS:
return
with self.client.get(
f"/bugs/jobs/{random.choice(BUG_JOB_UIDS)}",
f"/issues/jobs/{random.choice(ISSUE_JOB_UIDS)}",
catch_response=True,
name="bugs/jobs/[uid]",
name="issues/jobs/[uid]",
) as resp:
if resp.status_code in (200, 404):
resp.success()
else:
resp.failure(f"bug job status: status={resp.status_code}")
resp.failure(f"issue job status: status={resp.status_code}")
# ── owner-scoped project mutations ──────────────────────────
@@ -1459,8 +1459,8 @@ class DevPlaceUser(HttpUser):
pools.append(("project", PROJECT_UIDS))
if GIST_UIDS:
pools.append(("gist", GIST_UIDS))
if BUG_UIDS:
pools.append(("bug", BUG_UIDS))
if ISSUE_UIDS:
pools.append(("issue", ISSUE_UIDS))
if not pools:
return
target_type, uids = random.choice(pools)