mirror of
https://github.com/RayLabsHQ/gitea-mirror.git
synced 2026-05-21 23:21:43 -05:00
[PR #292] [MERGED] feat: add Change password and Change email to account dropdown #3016
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/RayLabsHQ/gitea-mirror/pull/292
Author: @arunavo4
Created: 5/19/2026
Status: ✅ Merged
Merged: 5/19/2026
Merged by: @arunavo4
Base:
main← Head:feat/account-menu📝 Commits (1)
fb7ca88feat: add Change password and Change email to account dropdown📊 Changes
5 files changed (+412 additions, -43 deletions)
View changed files
➕
src/components/auth/AccountMenu.tsx(+134 -0)➕
src/components/auth/ChangeEmailDialog.tsx(+110 -0)➕
src/components/auth/ChangePasswordDialog.tsx(+158 -0)📝
src/components/layout/Header.tsx(+4 -43)📝
src/lib/auth.ts(+6 -0)📄 Description
Summary
Resolves discussion #291 — the app exposes Better Auth's
change-password/change-emailendpoints server-side but had no UI to reach them.authClient.changePassword/authClient.changeEmaildirectly — no new API routescredentialprovider account). Probe viaGET /api/auth/list-accounts; fails open so a transient probe error doesn't lock anyone out of changing their password.user.changeEmail.enabled = truewithupdateEmailWithoutVerification: trueinsrc/lib/auth.ts— safe becauserequireEmailVerificationis already off and the project has no email sender wired up.Test plan
End-to-end browser test (Playwright against the dev server) — all passed:
refreshUser), DB row updated, log in with new email worksrevokeOtherSessions: truecheckbox → verified a second session (curl-issued cookie) is invalidated on the next request after the change; current browser session stays alivebun run build— clean🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.