- Set up i18n infrastructure with react-i18next
- Add German as default language with English fallback
- Create comprehensive translation files for all UI components
- Translate Dashboard, QuickStartWizard, Reports, and navigation
- Add language switcher in app header
- Maintain existing German email template in backend
- Create modular translation structure with namespaces
- Add testing checklist and implementation summary
All user-facing strings in dashboard, quick wizard, and reports
sections are now available in German, fulfilling the requirement
for complete German localization.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Change generatePolicyFromTemplate to return object instead of string
- Update CreatePolicyRequest interface to accept string | object for policy
- Update CreatePolicyDialog to stringify policy object only when needed
- Fix QuickStartWizard to send policy object directly to API
This fixes the 'Proxy error' when creating policies as the backend was
receiving double-stringified JSON which failed validation.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix 'Invalid template' error by correctly mapping policy types to template keys
- 'readwrite' -> 'bucketFullAccess'
- 'readonly' -> 'bucketReadOnly'
- 'writeonly' -> 'bucketWriteOnly'
- Update user creation form labels to 'Username (Access Key)' and 'Password (Secret Key)'
- Update review section to show consistent MinIO credential terminology
- Add helpful text explaining these are MinIO credentials
This ensures the QuickStartWizard creates policies correctly and maintains
consistent credential terminology across all UI components.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update CreateUserDialog labels to show 'Username (Access Key)' and 'Password (Secret Key)'
- Add helper text explaining these are MinIO credentials
- Enhanced success display to show credentials with proper MinIO terminology
- Add MinIO CLI connection examples in credential displays
- Fix confusion about where to get access key and secret key
This addresses user feedback about unclear credential terminology and aligns
with MinIO documentation where username = Access Key and password = Secret Key.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix validateDOMNesting warning by using secondaryTypographyProps with component='div'
- Fix 400 Bad Request by sending 'bucketName' instead of 'name' in bucket creation API
- This allows the Quick Start wizard to complete successfully
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix validateDOMNesting warnings in Reports and QuickStartWizard components
- Fix user creation API field mapping (accessKey/secretKey to username/password)
- Increase timeout for bucket-with-user creation to prevent socket hang up errors
- Improve credential display with clear Access Key/Secret Key labels
- Add MinIO CLI connection examples to credential displays
- Make timeout 60 seconds for complex operations that create bucket, user, and policy
This fixes:
- React DOM nesting warnings with Chip components
- 400 Bad Request errors when creating users
- Socket hang up errors during bucket+user creation
- Clear display of MinIO access credentials
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix API URL configuration to use relative paths (fixes localhost:8080 error)
- Add Quick Start Wizard to dashboard for guided bucket/user setup
- Create bash scripts for automated bucket and user creation
- Add quickstart.sh for interactive setup experience
- Update documentation with correct ports and new features
- Improve user onboarding with step-by-step wizard
This addresses:
- Connection refused errors when creating users/policies
- WebSocket connection issues
- Need for easy one-step setup process
- Port configuration clarity in documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add comprehensive user management with CRUD operations
- Implement policy management with templates and custom JSON
- Create reusable components (ConfirmDialog, LoadingState, EmptyState)
- Add user creation with password validation and credential copying
- Implement policy creation with built-in templates
- Add policy attachment to users functionality
- Include search, filtering, and status management
- Add proper error handling and validation
- Implement Material-UI based responsive design
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Make createUser field required in FormData interface to match yup schema
- Add explicit optional handling for username/password in yup schema
- Fix Docker FROM casing warning (as -> AS)
- Ensure TypeScript compilation passes without errors
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix TypeScript type mismatch in CreateBucketDialog component
- Make form fields optional to match yup schema validation
- Add comprehensive Gitea Actions workflows for testing and deployment
- Set up parallel testing for backend and frontend
- Configure Docker build verification in CI pipeline
- Add deployment workflow with staging and production environments
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Backend: Express.js API with MinIO CLI integration
- Frontend: React with Material-UI for non-technical users
- Features: Bucket management, user creation, storage monitoring
- Security: JWT auth, IP filtering, encrypted passwords
- Docker support for easy deployment
- Automated weekly storage reports
- Setup and deployment scripts included