feat: add username/password login, account settings, and changelog (#133) (#134)

- Add username/password login as additional auth mechanism alongside existing token
- First login must use token; password can be configured in Settings > Account
- Password login returns the existing static token (no auth middleware changes)
- Add account settings: setup, change password, change username, remove password
- Add logout button to sidebar footer
- Add version changelog popup (click version number in sidebar)
- Support all 8 locales (en, zh, de, es, fr, ja, ko, pt)
- Bump version to 0.4.3

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
ekko
2026-04-22 20:27:33 +08:00
committed by GitHub
parent 6f69c69802
commit 70ddbd0bcd
19 changed files with 1155 additions and 16 deletions
+44
View File
@@ -8,6 +8,32 @@ export default {
tokenRequired: 'Por favor, introduce tu token de acceso',
invalidToken: 'Token invalido',
connectionFailed: 'No se puede conectar al servidor',
passwordLogin: 'Contrasena',
tokenLogin: 'Token',
usernamePlaceholder: 'Nombre de usuario',
passwordPlaceholder: 'Contrasena',
credentialsRequired: 'Por favor, introduzca nombre de usuario y contrasena',
invalidCredentials: 'Nombre de usuario o contrasena incorrectos',
passwordMismatch: 'Las contrasenas no coinciden',
passwordTooShort: 'La contrasena debe tener al menos 6 caracteres',
setupSuccess: 'Login con contrasena configurado correctamente',
passwordChanged: 'Contrasena cambiada correctamente',
passwordRemoved: 'Login con contrasena eliminado',
setupPassword: 'Configurar login con contrasena',
changePassword: 'Cambiar contrasena',
changeUsername: 'Cambiar nombre de usuario',
removePasswordLogin: 'Eliminar',
username: 'Nombre de usuario',
currentPassword: 'Contrasena actual',
newPassword: 'Nueva contrasena',
confirmPassword: 'Confirmar contrasena',
newUsername: 'Nuevo nombre de usuario',
usernameChanged: 'Nombre de usuario cambiado correctamente',
usernameTooShort: 'El nombre de usuario debe tener al menos 2 caracteres',
setupDescription: 'Configure un nombre de usuario y contrasena para un inicio de sesion rapido. El token de acceso seguira funcionando.',
removeConfirm: 'Esta seguro de eliminar el login con contrasena? Necesitara usar el token de acceso.',
passwordLoginNotConfigured: 'Login con contrasena no configurado',
passwordLoginConfigured: 'Login con contrasena habilitado ({username})',
},
// Common
@@ -57,6 +83,9 @@ export default {
updating: 'Actualizando...',
updateSuccess: 'Actualizacion completa, por favor reinicia el servidor',
updateFailed: 'Error al actualizar',
logout: 'Cerrar sesion',
changelog: 'Registro de cambios',
noChangelog: 'No hay registro de cambios',
},
// Chat
@@ -291,6 +320,7 @@ export default {
saveFailed: 'Error al guardar',
tabs: {
display: 'Pantalla',
account: 'Cuenta',
agent: 'Agente',
memory: 'Memoria',
session: 'Sesion',
@@ -470,4 +500,18 @@ export default {
cost: 'Costo',
noData: 'Sin datos de uso',
},
// Registro de cambios
changelog: {
new_0_4_3_1: 'Agregar inicio de sesion con usuario/contrasena junto a autenticacion por token',
new_0_4_3_2: 'Agregar configuracion de cuenta para gestionar credenciales',
new_0_4_3_3: 'Agregar boton de cerrar sesion en la barra lateral',
new_0_4_3_4: 'Agregar popup de registro de cambios al hacer clic en el numero de version',
new_0_4_2_1: 'Agregar seguimiento de uso de tokens y longitud de contexto dinamico',
new_0_4_2_2: 'Agregar modal de busqueda de sesiones',
new_0_4_2_3: 'Restaurar sistema de chat grupal con Socket.IO y SQLite',
new_0_4_2_4: 'Agregar sesiones fijas y monitor en vivo en la pagina de chat',
new_0_4_2_5: 'Corregir deteccion de proveedores integrados y coincidencia de modelos',
new_0_4_1_1: 'Corregir bypass de autenticacion y servicio de archivos SPA',
},
}