feat: add web UI, query engine, session management, and 20 E2E tests

- Web UI: login, dashboard, links CRUD, collections, API keys, admin pages
- Query engine: AND/OR/XOR with field filters, tag search, preview endpoint
- Session management: token expiry detection, 401 interceptor, expiry banner
- Links search: tags included, multi-word AND, query mode with set operations
- Collections: static/dynamic, query builder with preview, public tree view
- Save as Collection: convert search results (static) or query (dynamic)
- Dashboard stats: resilient loading with allSettled pattern
- Login page: redesigned with public collections tree view
- Bug fix: query executor None fields crash (notes/description/url/title)
- E2E tests: 20 Playwright tests covering all critical user flows
- All 104 tests passing (84 unit/integration + 20 E2E)
This commit is contained in:
DavidSaylor
2026-05-22 07:46:53 -05:00
parent 77b076c7d7
commit fe4cbc3537
29 changed files with 1410 additions and 78 deletions

View File

@@ -75,7 +75,24 @@
- [x] Integration tests with TestClient
- [x] Test configuration (tests/conftest.py)
- [x] pytest.ini in pyproject.toml
- [x] All 42 tests passing
- [x] All 84 tests passing
- [x] E2E tests with Playwright (20+ tests)
- [x] Session management tests
- [x] Search mode tests (simple, query, multi-word)
- [x] Collection query builder tests
- [x] Save as Collection tests
## Web Interface
- [x] Login page with session expiry handling
- [x] Dashboard with stats and quick actions
- [x] Links page with dual search modes
- [x] Collections page with query builder
- [x] API Keys page with CRUD
- [x] Admin page with user management
- [x] Save as Collection feature
- [x] Token expiry detection and redirect
- [x] Session expiry warnings
- [x] Graceful error handling
## Documentation
- [x] API reference (via /api/docs OpenAPI)
@@ -83,6 +100,8 @@
- [x] Developer guide (AGENTS.md, design.md)
- [x] Deployment guide (README.md)
- [x] Query syntax reference (README.md)
- [x] UI/UX design documentation (design.md)
- [x] Implementation tasks (tasks.md)
## Security
- [x] Password hashing (bcrypt with cost factor 12)