Bounty #427: Add wallet row limit control#503
Conversation
📝 WalkthroughWalkthroughAdds a validated ChangesWallets page limit pagination
🚥 Pre-merge checks | ✅ 6✅ Passed checks (6 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
|
Reviewed current head No blockers found. The change is focused to the public wallet listing: Validation I ran on this head:
GitHub readback showed the PR open, non-draft, mergeable, and the |
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: e55f2c15-6eca-4a13-9064-39a0538eb71f
📒 Files selected for processing (3)
app/public_routes.pyapp/templates/wallets.htmltests/test_wallet_api.py
tolga-tom-nook
left a comment
There was a problem hiding this comment.
Reviewed current head 9bf431cfa1fd404040be904a3766f005f5fae954 for the wallet row-limit UX change.
Evidence checked:
- Diff is focused to
/wallets:app/public_routes.py,app/templates/wallets.html, andtests/test_wallet_api.py. - The new
limitquery param is bounded withQuery(ge=1, le=200)before use in the SQLLIMIT, preserving the existing newest-first ordering and preventing unbounded wallet table renders. - The template renders stable row-count controls and preserves the selected option, including custom valid limits such as
1used by the regression test. - Existing wallet generation/link/transfer page content remains covered by the expanded wallet page test.
Validation run locally:
./.venv/bin/python -m pytest tests/test_wallet_api.py tests/test_public_routes.py -q— 34 passed./.venv/bin/python -m ruff check app/public_routes.py tests/test_wallet_api.py— passed./.venv/bin/python -m ruff format --check app/public_routes.py tests/test_wallet_api.py— passed./.venv/bin/python -m mypy app/public_routes.py— passed
Assessment: no blockers found. This is a small, coherent bounty #427 UX improvement that gives the public wallets page the same kind of bounded row-control behavior already being added to other high-volume public lists.
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
app/public_routes.py (1)
4-4:⚠️ Potential issue | 🟠 MajorFix missing/insufficient guideline checks (ruff repo-wide + mypy).
app/public_routes.py:ruff format --check(“already formatted”) andruff check(“All checks passed!”) are OK.mypytype checking wasn’t completed:mypycommand not found (exit 127).- Run the required repo-wide
ruff format --check .andruff check ., and install/runmypy appto satisfy theapp/**/*.pyguideline.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: c9d04dcd-9ce1-4cde-bfbb-5c581ec7991d
📒 Files selected for processing (1)
app/public_routes.py
|
Reviewed PR #503 at current head No blocker found. The current head keeps the behavior focused on the public Validation run on this head:
GitHub readback shows the PR is open, non-draft, |
Summary
Bounty #427 / Refs #427.
This adds a focused row-count control to the public
/walletspage so contributors can cap the registered-wallet table without losing the wallet generation and registration workflow above it./wallets?limit=Nnow accepts a boundedlimit=1..200query parameter.limit=1.Before / After
/walletsalways queried and rendered the newest 100 registered wallets, with no page control for a smaller scan set./wallets?limit=1renders a single registered-wallet row and marks that selected limit in the form;/wallets?limit=0returns 422.Evidence
Preflight for bounty #73 / issue #427 showed
status=open,awards_remaining=2, and no active attempts.Open PR search for wallet row-limit work only found the separate wallet summary-card PR #489, which does not add row controls.
Validation
PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 ./.venv/bin/python -m pytest tests/test_wallet_api.py::test_wallets_page_honors_limit_filter -q-> 1 passedPYTEST_DISABLE_PLUGIN_AUTOLOAD=1 ./.venv/bin/python -m pytest tests/test_wallet_api.py -q-> 33 passedPYTEST_DISABLE_PLUGIN_AUTOLOAD=1 ./.venv/bin/python -m pytest tests/test_wallet_api.py tests/test_public_routes.py -q-> 34 passedPYTEST_DISABLE_PLUGIN_AUTOLOAD=1 ./.venv/bin/python -m pytest -q-> 415 passed./.venv/bin/python -m ruff check app/public_routes.py tests/test_wallet_api.py-> passed./.venv/bin/python -m ruff format --check app/public_routes.py tests/test_wallet_api.py-> 2 files already formattedPYTEST_DISABLE_PLUGIN_AUTOLOAD=1 ./.venv/bin/python -m mypy app/public_routes.py-> success./.venv/bin/python scripts/docs_smoke.py-> docs smoke okgit diff --check-> cleanSafety
No wallet material, private keys, cookies, OAuth state, browser storage, access tokens, signatures, private data, price claims, investment claims, liquidity claims, bridge promises, exchange claims, or fabricated payout claims are included.
Summary by CodeRabbit
New Features
Tests