84282e87ae
Backend: - server_repo.py: get_paginated() adds search/sort_by/sort_order/is_online params with whitelist-validated sorting and DB-level pagination - servers.py: list_servers() adds search/sort_by/sort_order/is_online Query params with Redis post-filter for is_online accuracy - servers.py: fix all 12 pre-existing ruff errors (unused imports, B904, S110, F541) - servers.py: fix F821 bug — agent_port undefined in upgrade_agent() Frontend: - servers.html: complete rewrite with server-side pagination, debounced search, clickable column sorting, status filter dropdown, auto-refresh toggle, keyboard shortcuts (↑↓/jk/Esc//r), CSV export, skeleton loading, empty state with contextual hints, pagination controls (first/prev/nums/next/last) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>