Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

mtg: Self-Rename of an Account

Closed
#136 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@omikron-agent is already working on this.

Since Oct 20, 2026.

  • #140 by @omikron-agent — open

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
30/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Stale
Tech stack
typescript, web-dev

Research direction

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.

Written by the indexing model from the issue text.

Description

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
Dominant language
TypeScript
Stars
0
Forks
1
Avg merge
11h 20m
Merged PRs (30d)
31

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from myOmikron/code

All issues in myOmikron/code

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.