fix: implement user management UI
Complete user management frontend with resend invite, email validation, and modal accessibility improvements. Backend: Add POST /api/v1/users/:id/resend-invite endpoint with authorization Add 6 unit tests for resend invite handler Fix feature flags default values Frontend: Add client-side email format validation with error display Add resend invite button for pending users with Mail icon Add Escape key keyboard navigation for modals Fix PermissionsModal useState anti-pattern (now useEffect) Add translations for de/es/fr/zh locales Tests: Enable 7 previously-skipped E2E tests (now 15 passing) Fix Playwright locator strict mode violations Update UsersPage test mocks for new API Docs: Document resend-invite API endpoint Update CHANGELOG for Phase 6
This commit is contained in:
12
CHANGELOG.md
12
CHANGELOG.md
@@ -9,6 +9,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
### Added
|
||||
|
||||
- **Phase 6: User Management UI Enhancements** (PR #XXX)
|
||||
- **Resend Invite**: Administrators can resend invitation emails to pending users via new `POST /api/v1/users/{id}/resend-invite` endpoint
|
||||
- **Email Validation**: Client-side email format validation in the invite modal with visible error messages
|
||||
- **Modal Keyboard Navigation**: Escape key now closes invite and permissions modals for improved accessibility
|
||||
- **7 E2E Tests Enabled**: Previously skipped user management tests now pass
|
||||
|
||||
### Fixed
|
||||
|
||||
- **PermissionsModal State Synchronization**: Fixed React anti-pattern where `useState` was used like `useEffect`, causing potential stale state when editing different users' permissions
|
||||
|
||||
### Added
|
||||
|
||||
- **Phase 4: Security Module Toggle Actions**: Security dashboard toggles for ACL, WAF, and Rate Limiting are now fully functional (PR #XXX)
|
||||
- **Toggle Functionality**: Enable/disable security modules directly from the Security Dashboard UI
|
||||
- **Backend Cache Layer**: 60-second TTL in-memory cache for settings to minimize database queries in middleware
|
||||
|
||||
Reference in New Issue
Block a user