feat: fix registration 500, add forgot-password flow, frontend validation
Some checks failed
Some checks failed
- Fix MissingGreenlet: sync_engine now uses psycopg2 instead of asyncpg - Fix bcrypt/passlib compat: pin bcrypt<4.1 in requirements - Fix legacy password_hash NOT NULL: alter column to nullable in migration - Add frontend password validation (uppercase + lowercase + digit) - Add forgot-password and reset-password backend endpoints - Add forgot-password and reset-password frontend pages - Add email_service.py (SMTP via admin settings) - Add reset_token/reset_token_expires columns to User model - Migrate legacy JSON-only users to DB on password reset request - Mount data/ volume in docker-compose.local.yml for persistence - Add production deployment config (Dockerfile, nginx, deploy.sh) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -7,6 +7,14 @@
|
||||
"timeout": 30,
|
||||
"max_retries": 3
|
||||
},
|
||||
"google_cloud": {
|
||||
"enabled": false,
|
||||
"api_key": "esenaw",
|
||||
"base_url": null,
|
||||
"model": null,
|
||||
"timeout": 30,
|
||||
"max_retries": 3
|
||||
},
|
||||
"deepl": {
|
||||
"enabled": false,
|
||||
"api_key": null,
|
||||
@@ -55,6 +63,15 @@
|
||||
"timeout": 30,
|
||||
"max_retries": 3
|
||||
},
|
||||
"smtp": {
|
||||
"enabled": true,
|
||||
"host": "smtp.ionos.fr",
|
||||
"port": 587,
|
||||
"username": "admin@wordly.art",
|
||||
"password": "Esenaw,121151",
|
||||
"from_email": "admin@wordly.art",
|
||||
"use_tls": true
|
||||
},
|
||||
"fallback_chain": "google,deepl,openai,ollama,openrouter,zai",
|
||||
"fallback_chain_classic": "google,deepl",
|
||||
"fallback_chain_llm": "ollama,openai,openrouter,zai"
|
||||
|
||||
Reference in New Issue
Block a user