feat: add live PR/issue queue dashboard to web UI (Closes #429) #445

Merged
sysadmin merged 2 commits from feat/issue-429-queue-dashboard into master 2026-07-07 14:13:27 -05:00
Owner

Summary

Closes #429. Child of tracker #425. Canonical queue-dashboard PR — rebased onto current master (3599a9e) with only #429 work. Supersedes #446.

Adds a read-only live queue dashboard at /queue and /api/queue for the default registry project: open PRs and issues with mergeability, linkage, classification badges, and explicit pagination proof.

Base / head

  • Base: master
  • Head: f5370a9 (rebased --onto master, dropping already-merged stack commits for #427/#428)
  • Commits: exactly two — c91e364 (feat) + f5370a9 (test hardening), both #429

Changes (only #429 queue-dashboard)

  • webui/queue_loader.py — Gitea read fetch, badge classification, pagination metadata
  • webui/queue_views.py — HTML tables + pagination proof
  • webui/app.py, webui/layout.py/queue, /api/queue routes + nav link
  • docs/webui-local-dev.md — queue dashboard section
  • tests/test_webui_queue_dashboard.py, tests/test_webui_skeleton.py

No #437/#439/#441 (#426/#427/#428) stack diff — that content is already in master.

Validation

pytest tests/test_webui_skeleton.py tests/test_webui_project_registry.py tests/test_webui_prompt_library.py tests/test_webui_queue_dashboard.py -q

34 passed (10 subtests).

Worktree

branches/issue-429-queue-dashboard @ f5370a9

## Summary Closes #429. Child of tracker #425. **Canonical** queue-dashboard PR — rebased onto current `master` (`3599a9e`) with only #429 work. Supersedes #446. Adds a read-only live queue dashboard at `/queue` and `/api/queue` for the default registry project: open PRs and issues with mergeability, linkage, classification badges, and explicit pagination proof. ## Base / head - Base: `master` - Head: `f5370a9` (rebased `--onto master`, dropping already-merged stack commits for #427/#428) - Commits: exactly two — `c91e364` (feat) + `f5370a9` (test hardening), both #429 ## Changes (only #429 queue-dashboard) - `webui/queue_loader.py` — Gitea read fetch, badge classification, pagination metadata - `webui/queue_views.py` — HTML tables + pagination proof - `webui/app.py`, `webui/layout.py` — `/queue`, `/api/queue` routes + nav link - `docs/webui-local-dev.md` — queue dashboard section - `tests/test_webui_queue_dashboard.py`, `tests/test_webui_skeleton.py` No #437/#439/#441 (#426/#427/#428) stack diff — that content is already in `master`. ## Validation ``` pytest tests/test_webui_skeleton.py tests/test_webui_project_registry.py tests/test_webui_prompt_library.py tests/test_webui_queue_dashboard.py -q ``` **34 passed** (10 subtests). ## Worktree `branches/issue-429-queue-dashboard` @ `f5370a9`
sysadmin approved these changes 2026-07-07 13:26:17 -05:00
Dismissed
sysadmin left a comment
Owner

The review of PR #445 (feat: add live PR/issue queue dashboard to web UI (Closes #429)) has completed successfully.

  • Checked out branch feat/issue-429-queue-dashboard at pinned HEAD commit 365b87aee716c85f62009c19bdf0b5f766f9a1de in isolated review worktree.
  • Verified the base branch feat/issue-426-internal-web-ui-skeleton exists and points to a8fcf0e01cede2b1f0d3013797f2f05a05b6b002.
  • Confirmed that the dashboard /queue and JSON API endpoint /api/queue are read-only and explicitly block all write methods (POST, PUT, PATCH, DELETE) with HTTP 405.
  • Confirmed that missing Gitea credentials fail closed correctly by showing a clear error instead of a misleading empty queue.
  • Confirmed the badge classification logic (claimed, blocked, duplicate, stale, in-review) is grounded in live Gitea metadata.
  • Verified that all 34 web UI unit tests (test_webui_skeleton.py, test_webui_project_registry.py, test_webui_prompt_library.py, test_webui_queue_dashboard.py) pass cleanly.

Approved!

The review of PR #445 (feat: add live PR/issue queue dashboard to web UI (Closes #429)) has completed successfully. - Checked out branch `feat/issue-429-queue-dashboard` at pinned HEAD commit `365b87aee716c85f62009c19bdf0b5f766f9a1de` in isolated review worktree. - Verified the base branch `feat/issue-426-internal-web-ui-skeleton` exists and points to `a8fcf0e01cede2b1f0d3013797f2f05a05b6b002`. - Confirmed that the dashboard `/queue` and JSON API endpoint `/api/queue` are read-only and explicitly block all write methods (POST, PUT, PATCH, DELETE) with HTTP 405. - Confirmed that missing Gitea credentials fail closed correctly by showing a clear error instead of a misleading empty queue. - Confirmed the badge classification logic (claimed, blocked, duplicate, stale, in-review) is grounded in live Gitea metadata. - Verified that all 34 web UI unit tests (`test_webui_skeleton.py`, `test_webui_project_registry.py`, `test_webui_prompt_library.py`, `test_webui_queue_dashboard.py`) pass cleanly. Approved!
jcwalker3 changed target branch from feat/issue-426-internal-web-ui-skeleton to master 2026-07-07 14:07:10 -05:00
jcwalker3 added 2 commits 2026-07-07 14:07:10 -05:00
Adds read-only /queue and /api/queue routes that load open PRs and issues
from the default registry project via gitea_auth, surface pagination proof,
and classify items with claimed/blocked/in-review/duplicate badges.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Expand queue dashboard tests for stale/duplicate badges, title-linked
issues, and nav coverage; drop unused import in queue_loader.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Author
Owner

Stack reconciliation complete (#429)

  • Canonical PR: feat: add live PR/issue queue dashboard to web UI (Closes #429) (#445)
  • Superseded duplicate: #446 (comment posted; manual close required — author lacks gitea.pr.close)
  • Base retargeted: master (3599a9e)
  • Original head: 365b87a
  • Current head: f5370a9 (already rebased onto master; 2 commits, queue-dashboard only)
  • Prior approval: stale (365b87af5370a9); fresh independent review required

Reviewer prompt: Audit untouched head f5370a94d3739908dbb6acbd50996568ccb8dafd on base master. Run:

pytest tests/test_webui_skeleton.py tests/test_webui_project_registry.py tests/test_webui_prompt_library.py tests/test_webui_queue_dashboard.py -q

Expected: 34 passed.

## Stack reconciliation complete (#429) - **Canonical PR:** #445 - **Superseded duplicate:** #446 (comment posted; manual close required — author lacks `gitea.pr.close`) - **Base retargeted:** `master` (`3599a9e`) - **Original head:** `365b87a` - **Current head:** `f5370a9` (already rebased onto `master`; 2 commits, queue-dashboard only) - **Prior approval:** stale (`365b87a` → `f5370a9`); fresh independent review required **Reviewer prompt:** Audit untouched head `f5370a94d3739908dbb6acbd50996568ccb8dafd` on base `master`. Run: ``` pytest tests/test_webui_skeleton.py tests/test_webui_project_registry.py tests/test_webui_prompt_library.py tests/test_webui_queue_dashboard.py -q ``` Expected: 34 passed.
sysadmin approved these changes 2026-07-07 14:10:01 -05:00
Dismissed
sysadmin left a comment
Owner

Independent re-audit — APPROVE (fresh head f5370a9)

Auditor: sysadmin / prgs-reviewer (not PR author jcwalker3).
Pinned untouched head: f5370a94d3739908dbb6acbd50996568ccb8dafd (matches live PR head).
Base: master (3599a9e).

Worktree + cleanliness

  • Fresh isolated review worktree at pinned SHA (branches/review-feat-issue-429-queue-dashboard).
  • git status --porcelain empty before and after tests.
  • No local file edits by this auditor.

Scope (PR-only vs master)

7 files, 2 commits — queue-dashboard only:

  • webui/queue_loader.py, webui/queue_views.py
  • webui/app.py, webui/layout.py (/queue, /api/queue, GET-only + 405 handler)
  • docs/webui-local-dev.md, tests/test_webui_queue_dashboard.py, tests/test_webui_skeleton.py

No unique #437/#439/#441 stack diff (already in master).

Behavior verified in code

  • Missing credentials → fetch_error surfaced; no fake empty queue (fail closed).
  • Badge classification grounded in live metadata (claimed/blocked/duplicate/stale/in-review).
  • Pagination proof exported in HTML + /api/queue JSON.

Tests (untouched PR head)

pytest tests/test_webui_skeleton.py tests/test_webui_project_registry.py tests/test_webui_prompt_library.py tests/test_webui_queue_dashboard.py -q
# 34 passed, 1 warning, 10 subtests passed in 2.42s

Prior review note

Earlier APPROVAL at 365b87a on stale stack base is superseded by this review at f5370a9 on master.

Approved for merge (reviewer does not merge).

## Independent re-audit — APPROVE (fresh head `f5370a9`) Auditor: `sysadmin` / `prgs-reviewer` (not PR author `jcwalker3`). Pinned untouched head: `f5370a94d3739908dbb6acbd50996568ccb8dafd` (matches live PR head). Base: `master` (`3599a9e`). ### Worktree + cleanliness - Fresh isolated review worktree at pinned SHA (`branches/review-feat-issue-429-queue-dashboard`). - `git status --porcelain` empty **before** and **after** tests. - No local file edits by this auditor. ### Scope (PR-only vs `master`) 7 files, 2 commits — queue-dashboard only: - `webui/queue_loader.py`, `webui/queue_views.py` - `webui/app.py`, `webui/layout.py` (`/queue`, `/api/queue`, GET-only + 405 handler) - `docs/webui-local-dev.md`, `tests/test_webui_queue_dashboard.py`, `tests/test_webui_skeleton.py` No unique #437/#439/#441 stack diff (already in `master`). ### Behavior verified in code - Missing credentials → `fetch_error` surfaced; no fake empty queue (fail closed). - Badge classification grounded in live metadata (claimed/blocked/duplicate/stale/in-review). - Pagination proof exported in HTML + `/api/queue` JSON. ### Tests (untouched PR head) ``` pytest tests/test_webui_skeleton.py tests/test_webui_project_registry.py tests/test_webui_prompt_library.py tests/test_webui_queue_dashboard.py -q # 34 passed, 1 warning, 10 subtests passed in 2.42s ``` ### Prior review note Earlier APPROVAL at `365b87a` on stale stack base is superseded by this review at `f5370a9` on `master`. Approved for merge (reviewer does not merge).
sysadmin approved these changes 2026-07-07 14:13:15 -05:00
sysadmin left a comment
Owner

The review of PR #445 (feat: add live PR/issue queue dashboard to web UI (Closes #429)) on its updated head SHA has completed successfully.

  • Checked out branch feat/issue-429-queue-dashboard at updated HEAD commit f5370a94d3739908dbb6acbd50996568ccb8dafd in isolated review worktree.
  • Confirmed that the base branch is now master.
  • Confirmed that the dashboard /queue and JSON API endpoint /api/queue are read-only and explicitly block all write methods (POST, PUT, PATCH, DELETE) with HTTP 405.
  • Confirmed that missing Gitea credentials fail closed correctly by showing a clear error instead of a misleading empty queue.
  • Confirmed the badge classification logic (claimed, blocked, duplicate, stale, in-review) is grounded in live Gitea metadata.
  • Verified that all 34 web UI unit tests pass cleanly.
  • Proved the worktree remained completely clean.

Approved!

The review of PR #445 (feat: add live PR/issue queue dashboard to web UI (Closes #429)) on its updated head SHA has completed successfully. - Checked out branch `feat/issue-429-queue-dashboard` at updated HEAD commit `f5370a94d3739908dbb6acbd50996568ccb8dafd` in isolated review worktree. - Confirmed that the base branch is now master. - Confirmed that the dashboard `/queue` and JSON API endpoint `/api/queue` are read-only and explicitly block all write methods (POST, PUT, PATCH, DELETE) with HTTP 405. - Confirmed that missing Gitea credentials fail closed correctly by showing a clear error instead of a misleading empty queue. - Confirmed the badge classification logic (claimed, blocked, duplicate, stale, in-review) is grounded in live Gitea metadata. - Verified that all 34 web UI unit tests pass cleanly. - Proved the worktree remained completely clean. Approved!
Owner

APPROVE supplement — full test output

Auditor: sysadmin / prgs-reviewer (not PR author jcwalker3).
Pinned untouched head: f5370a94d3739908dbb6acbd50996568ccb8dafd.
Base: master (3599a9e).

Note: APPROVE already submitted at this head (see review thread). This comment supplements that review with the complete pytest log.

Worktree + cleanliness

  • Isolated review worktree: branches/review-feat-issue-429-queue-dashboard @ f5370a9
  • git status --porcelain empty before and after tests
  • No local file edits by this auditor

Command (untouched PR head)

pytest tests/test_webui_skeleton.py tests/test_webui_project_registry.py tests/test_webui_prompt_library.py tests/test_webui_queue_dashboard.py --tb=short -v

Result

34 passed, 1 warning, 10 subtests passed in 2.75s

Full verbose output in the follow-up comment.

## APPROVE supplement — full test output Auditor: `sysadmin` / `prgs-reviewer` (not PR author `jcwalker3`). Pinned untouched head: `f5370a94d3739908dbb6acbd50996568ccb8dafd`. Base: `master` (`3599a9e`). **Note:** APPROVE already submitted at this head (see review thread). This comment supplements that review with the complete pytest log. ### Worktree + cleanliness - Isolated review worktree: `branches/review-feat-issue-429-queue-dashboard` @ `f5370a9` - `git status --porcelain` empty **before** and **after** tests - No local file edits by this auditor ### Command (untouched PR head) ``` pytest tests/test_webui_skeleton.py tests/test_webui_project_registry.py tests/test_webui_prompt_library.py tests/test_webui_queue_dashboard.py --tb=short -v ``` ### Result **34 passed, 1 warning, 10 subtests passed in 2.75s** Full verbose output in the follow-up comment.
sysadmin merged commit ee8e9a0247 into master 2026-07-07 14:13:27 -05:00
Owner

APPROVE supplement — full pytest output (complete log)

Pinned head: f5370a94d3739908dbb6acbd50996568ccb8dafd

============================= test session starts ==============================
platform darwin -- Python 3.14.5, pytest-9.1.1, pluggy-1.6.0 -- /Users/jasonwalker/Development/Gitea-Tools/venv/bin/python
cachedir: .pytest_cache
rootdir: /Users/jasonwalker/Development/Gitea-Tools/branches/review-feat-issue-429-queue-dashboard
plugins: anyio-4.14.0
collecting ... collected 34 items

tests/test_webui_skeleton.py::TestWebuiSkeleton::test_extra_stub_routes 
tests/test_webui_skeleton.py::TestWebuiSkeleton::test_extra_stub_routes PASSED [  2%]
tests/test_webui_skeleton.py::TestWebuiSkeleton::test_health_returns_json PASSED [  5%]
tests/test_webui_skeleton.py::TestWebuiSkeleton::test_home_renders PASSED [  8%]
tests/test_webui_skeleton.py::TestWebuiSkeleton::test_nav_links_on_all_pages 
tests/test_webui_skeleton.py::TestWebuiSkeleton::test_nav_links_on_all_pages PASSED [ 11%]
tests/test_webui_skeleton.py::TestWebuiSkeleton::test_post_is_rejected PASSED [ 14%]
tests/test_webui_skeleton.py::TestWebuiSkeleton::test_projects_is_implemented PASSED [ 17%]
tests/test_webui_skeleton.py::TestWebuiSkeleton::test_prompts_is_implemented PASSED [ 20%]
tests/test_webui_skeleton.py::TestWebuiSkeleton::test_queue_route_renders PASSED [ 23%]
tests/test_webui_skeleton.py::TestWebuiSkeleton::test_route_stubs_render 
tests/test_webui_skeleton.py::TestWebuiSkeleton::test_route_stubs_render PASSED [ 26%]
tests/test_webui_project_registry.py::TestProjectRegistryLoader::test_default_registry_loads_gitea_tools PASSED [ 29%]
tests/test_webui_project_registry.py::TestProjectRegistryLoader::test_default_registry_path_points_at_packaged_data PASSED [ 32%]
tests/test_webui_project_registry.py::TestProjectRegistryLoader::test_registry_rejects_credential_keys PASSED [ 35%]
tests/test_webui_project_registry.py::TestProjectRegistryRoutes::test_api_projects_json PASSED [ 38%]
tests/test_webui_project_registry.py::TestProjectRegistryRoutes::test_project_detail_404 PASSED [ 41%]
tests/test_webui_project_registry.py::TestProjectRegistryRoutes::test_project_detail_renders_checklist PASSED [ 44%]
tests/test_webui_project_registry.py::TestProjectRegistryRoutes::test_project_to_dict_is_json_safe PASSED [ 47%]
tests/test_webui_project_registry.py::TestProjectRegistryRoutes::test_projects_page_lists_gitea_tools PASSED [ 50%]
tests/test_webui_prompt_library.py::TestPromptLibraryLoader::test_library_loads_required_prompts PASSED [ 52%]
tests/test_webui_prompt_library.py::TestPromptLibraryLoader::test_prompt_text_is_short PASSED [ 55%]
tests/test_webui_prompt_library.py::TestPromptLibraryLoader::test_workflow_hashes_present PASSED [ 58%]
tests/test_webui_prompt_library.py::TestPromptLibraryRoutes::test_api_prompts_json PASSED [ 61%]
tests/test_webui_prompt_library.py::TestPromptLibraryRoutes::test_prompt_detail_404 PASSED [ 64%]
tests/test_webui_prompt_library.py::TestPromptLibraryRoutes::test_prompt_detail_route PASSED [ 67%]
tests/test_webui_prompt_library.py::TestPromptLibraryRoutes::test_prompt_to_dict_roundtrip PASSED [ 70%]
tests/test_webui_prompt_library.py::TestPromptLibraryRoutes::test_prompts_page_lists_all_entries PASSED [ 73%]
tests/test_webui_queue_dashboard.py::TestQueueClassification::test_classify_issue_claimed_and_duplicate PASSED [ 76%]
tests/test_webui_queue_dashboard.py::TestQueueClassification::test_classify_pr_blocked_and_stale PASSED [ 79%]
tests/test_webui_queue_dashboard.py::TestQueueClassification::test_classify_pr_duplicate PASSED [ 82%]
tests/test_webui_queue_dashboard.py::TestQueueClassification::test_extract_linked_issue_from_title PASSED [ 85%]
tests/test_webui_queue_dashboard.py::TestQueueLoader::test_snapshot_dict_export PASSED [ 88%]
tests/test_webui_queue_dashboard.py::TestQueueLoader::test_snapshot_with_mock_fetch PASSED [ 91%]
tests/test_webui_queue_dashboard.py::TestQueueRoutes::test_api_queue_json PASSED [ 94%]
tests/test_webui_queue_dashboard.py::TestQueueRoutes::test_queue_fail_closed_without_credentials PASSED [ 97%]
tests/test_webui_queue_dashboard.py::TestQueueRoutes::test_queue_page_renders_tables_and_pagination PASSED [100%]

=============================== warnings summary ===============================
tests/test_webui_skeleton.py:8
  /Users/jasonwalker/Development/Gitea-Tools/branches/review-feat-issue-429-queue-dashboard/tests/test_webui_skeleton.py:8: StarletteDeprecationWarning: Using `httpx` with `starlette.testclient` is deprecated; install `httpx2` instead.
    from starlette.testclient import TestClient

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============== 34 passed, 1 warning, 10 subtests passed in 2.75s ===============
## APPROVE supplement — full pytest output (complete log) Pinned head: `f5370a94d3739908dbb6acbd50996568ccb8dafd` ``` ============================= test session starts ============================== platform darwin -- Python 3.14.5, pytest-9.1.1, pluggy-1.6.0 -- /Users/jasonwalker/Development/Gitea-Tools/venv/bin/python cachedir: .pytest_cache rootdir: /Users/jasonwalker/Development/Gitea-Tools/branches/review-feat-issue-429-queue-dashboard plugins: anyio-4.14.0 collecting ... collected 34 items tests/test_webui_skeleton.py::TestWebuiSkeleton::test_extra_stub_routes tests/test_webui_skeleton.py::TestWebuiSkeleton::test_extra_stub_routes PASSED [ 2%] tests/test_webui_skeleton.py::TestWebuiSkeleton::test_health_returns_json PASSED [ 5%] tests/test_webui_skeleton.py::TestWebuiSkeleton::test_home_renders PASSED [ 8%] tests/test_webui_skeleton.py::TestWebuiSkeleton::test_nav_links_on_all_pages tests/test_webui_skeleton.py::TestWebuiSkeleton::test_nav_links_on_all_pages PASSED [ 11%] tests/test_webui_skeleton.py::TestWebuiSkeleton::test_post_is_rejected PASSED [ 14%] tests/test_webui_skeleton.py::TestWebuiSkeleton::test_projects_is_implemented PASSED [ 17%] tests/test_webui_skeleton.py::TestWebuiSkeleton::test_prompts_is_implemented PASSED [ 20%] tests/test_webui_skeleton.py::TestWebuiSkeleton::test_queue_route_renders PASSED [ 23%] tests/test_webui_skeleton.py::TestWebuiSkeleton::test_route_stubs_render tests/test_webui_skeleton.py::TestWebuiSkeleton::test_route_stubs_render PASSED [ 26%] tests/test_webui_project_registry.py::TestProjectRegistryLoader::test_default_registry_loads_gitea_tools PASSED [ 29%] tests/test_webui_project_registry.py::TestProjectRegistryLoader::test_default_registry_path_points_at_packaged_data PASSED [ 32%] tests/test_webui_project_registry.py::TestProjectRegistryLoader::test_registry_rejects_credential_keys PASSED [ 35%] tests/test_webui_project_registry.py::TestProjectRegistryRoutes::test_api_projects_json PASSED [ 38%] tests/test_webui_project_registry.py::TestProjectRegistryRoutes::test_project_detail_404 PASSED [ 41%] tests/test_webui_project_registry.py::TestProjectRegistryRoutes::test_project_detail_renders_checklist PASSED [ 44%] tests/test_webui_project_registry.py::TestProjectRegistryRoutes::test_project_to_dict_is_json_safe PASSED [ 47%] tests/test_webui_project_registry.py::TestProjectRegistryRoutes::test_projects_page_lists_gitea_tools PASSED [ 50%] tests/test_webui_prompt_library.py::TestPromptLibraryLoader::test_library_loads_required_prompts PASSED [ 52%] tests/test_webui_prompt_library.py::TestPromptLibraryLoader::test_prompt_text_is_short PASSED [ 55%] tests/test_webui_prompt_library.py::TestPromptLibraryLoader::test_workflow_hashes_present PASSED [ 58%] tests/test_webui_prompt_library.py::TestPromptLibraryRoutes::test_api_prompts_json PASSED [ 61%] tests/test_webui_prompt_library.py::TestPromptLibraryRoutes::test_prompt_detail_404 PASSED [ 64%] tests/test_webui_prompt_library.py::TestPromptLibraryRoutes::test_prompt_detail_route PASSED [ 67%] tests/test_webui_prompt_library.py::TestPromptLibraryRoutes::test_prompt_to_dict_roundtrip PASSED [ 70%] tests/test_webui_prompt_library.py::TestPromptLibraryRoutes::test_prompts_page_lists_all_entries PASSED [ 73%] tests/test_webui_queue_dashboard.py::TestQueueClassification::test_classify_issue_claimed_and_duplicate PASSED [ 76%] tests/test_webui_queue_dashboard.py::TestQueueClassification::test_classify_pr_blocked_and_stale PASSED [ 79%] tests/test_webui_queue_dashboard.py::TestQueueClassification::test_classify_pr_duplicate PASSED [ 82%] tests/test_webui_queue_dashboard.py::TestQueueClassification::test_extract_linked_issue_from_title PASSED [ 85%] tests/test_webui_queue_dashboard.py::TestQueueLoader::test_snapshot_dict_export PASSED [ 88%] tests/test_webui_queue_dashboard.py::TestQueueLoader::test_snapshot_with_mock_fetch PASSED [ 91%] tests/test_webui_queue_dashboard.py::TestQueueRoutes::test_api_queue_json PASSED [ 94%] tests/test_webui_queue_dashboard.py::TestQueueRoutes::test_queue_fail_closed_without_credentials PASSED [ 97%] tests/test_webui_queue_dashboard.py::TestQueueRoutes::test_queue_page_renders_tables_and_pagination PASSED [100%] =============================== warnings summary =============================== tests/test_webui_skeleton.py:8 /Users/jasonwalker/Development/Gitea-Tools/branches/review-feat-issue-429-queue-dashboard/tests/test_webui_skeleton.py:8: StarletteDeprecationWarning: Using `httpx` with `starlette.testclient` is deprecated; install `httpx2` instead. from starlette.testclient import TestClient -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ============== 34 passed, 1 warning, 10 subtests passed in 2.75s =============== ```
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Scaled-Tech-Consulting/Gitea-Tools#445