A plain blocklist for names like @support - separate from the collectible
system, so a reservation has no owner, no price and no "bought on Fragment"
badge.
- reserved_usernames table + migration.
- Enforced in replacePeerUsernameTx (the single editable-username write point:
account.updateUsername, channels.updateUsername, @BotFather /setusername) and
in the collectible mint path; a reserved name returns USERNAME_OCCUPIED.
- admin.Service: ReserveUsername / UnreserveUsername (journalled commands) and
the ReservedUsernames listing.
- adminapi: /v1/reserved-usernames{,/reserve,/unreserve}.
- telesrv-admin panel + a "Reserved Usernames" page in the web UI (dist rebuilt).
- Postgres and in-memory store implementations; the memory registry gains an
optional reserved-name check so tests exercise the same rule.
|
||
|---|---|---|
| .. | ||
| web | ||
| addserverlink.go | ||
| adminauth.go | ||
| adminauth_test.go | ||
| adminusers.go | ||
| adminusers_api.go | ||
| adminusers_guard_integration_test.go | ||
| botverification.go | ||
| botverification_test.go | ||
| buildinfo.go | ||
| filter_bots_test.go | ||
| main.go | ||
| publicbranding.go | ||
| readstore.go | ||
| readstore_accounts_integration_test.go | ||
| readstore_botverification_integration_test.go | ||
| readstore_shared_devices_integration_test.go | ||
| readstore_verification_integration_test.go | ||
| routescope_test.go | ||
| security.go | ||
| server.go | ||
| serversettings.go | ||
| serversettings_test.go | ||
| session.go | ||
| session_test.go | ||
| verification.go | ||
| verification_test.go | ||