42 lines
2.1 KiB
Markdown
42 lines
2.1 KiB
Markdown
---
|
|
type: User Story
|
|
title: Keep Discord nicknames synchronized
|
|
description: Preferred names and primary Minecraft usernames determine community guild nicknames.
|
|
tags: [player, admin, discord, identity]
|
|
timestamp: 2026-08-01T23:10:59Z
|
|
story_id: US-006
|
|
status: verified
|
|
---
|
|
|
|
# User Story
|
|
|
|
As a community member, I want my Discord nickname to reflect my preferred name and primary Minecraft account, so that other players can identify me consistently.
|
|
|
|
# Acceptance Criteria
|
|
|
|
- [x] Given a preferred name and primary account, then the nickname format is `First name (MinecraftUsername)`.
|
|
- [x] Given Discord's 32-character limit, then the preferred-name portion is shortened while preserving the Minecraft username.
|
|
- [x] Given no remaining Minecraft account, then synchronization uses `First name (TBD)`.
|
|
- [x] User name, first-account, primary, and account-removal changes synchronize the nickname automatically without a second confirmation step.
|
|
- [x] Successful synchronization shows the exact new nickname in a dismissible status notice.
|
|
- [x] Discord failures show an assertive error notice without falsely claiming synchronization completed.
|
|
- [x] Administrator name, primary, and primary-removal operations synchronize the nickname automatically.
|
|
- [x] A protected administrative retry action can synchronize the current desired nickname.
|
|
|
|
# Implementation
|
|
|
|
- [`packages/minecraft/src/index.ts`](../packages/minecraft/src/index.ts)
|
|
- [`apps/web/src/app/account/actions.ts`](../apps/web/src/app/account/actions.ts)
|
|
- [`apps/web/src/app/admin/(console)/users/actions.ts`](../apps/web/src/app/admin/%28console%29/users/actions.ts)
|
|
- [`apps/web/src/components/nickname-notice.tsx`](../apps/web/src/components/nickname-notice.tsx)
|
|
|
|
# Validation
|
|
|
|
- [`packages/minecraft/test/discord.test.ts`](../packages/minecraft/test/discord.test.ts)
|
|
- Nickname length and fallback behavior are covered in [`packages/minecraft/test/minecraft.test.ts`](../packages/minecraft/test/minecraft.test.ts).
|
|
|
|
# Related Stories
|
|
|
|
- [Manage linked accounts](us-005-user-dashboard.md)
|
|
- [Administer users](us-013-admin-user-management.md)
|