Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

mtg: Self-Rename of an Account

Đã đóng
#136 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@omikron-agent đang làm issue này rồi.

Từ ngày 20/10/2026.

  • #140 của @omikron-agent — đang mở

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
30/100
Loại issue
Tính năng
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
typescript, web-dev
Lĩnh vực
authentication, full-stack

Hướng nghiên cứu

Read services/mtg/GLOSSARY.md for the Rename terminology, then trace the profile, signup validation, and authentication flows. The issue requires HTTP tests, an updated API spec and client, and i18n keys; done means the listed acceptance criteria pass, including best-effort PublicKeyCredential.signalCurrentUserDetails. An open linked pull request (#140) indicates work is already underway.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

ready-for-agent

What to build

An Account changes its own username (a Rename, see services/mtg/GLOSSARY.md) from its profile.

  • The new username follows the same rules as at signup. Uniqueness is checked on the normalized username and ignores the Account's own, so a case-only change (alice → Alice) is allowed.
  • A locked Account cannot Rename itself.
  • The old username is free for anyone at once: its profile URL answers 404, with no redirect and no reservation. Deck links and the current session keep working, and Login works with the new username.
  • No confirmation beyond the session. No limit on how often.
  • A Rename by the Account itself is not recorded anywhere (no Admin log entry).
  • After a successful Rename the frontend calls PublicKeyCredential.signalCurrentUserDetails best-effort, so password managers that support the WebAuthn Signal API show the new username on the Passkey. Missing support or a failure there never fails the Rename.

Acceptance criteria

  • Rename to a free username succeeds; profile and public pages show the new username
  • Case-only Rename of the own username succeeds
  • Rename to a username taken by another Account (case ignored) is refused
  • Invalid usernames (charset, length) are refused like at signup
  • A locked Account's Rename is refused
  • Old profile URL answers 404; deck links unaffected; session stays valid
  • Login with the new username works, with the old one it does not
  • Signal API is called after a Rename where available and silently skipped otherwise
  • HTTP tests cover the cases above; API spec and client regenerated; i18n keys added
Ngôn ngữ chính
TypeScript
Star
0
Fork
1
Merge trung bình
10 giờ 20 phút
Pull request đã merge (30 ngày)
36

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của myOmikron/code

Tất cả issue của myOmikron/code

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.