owpengram-server/cmd
Astra a83aa45fb8 usernames: operator reserved-username blocklist
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.
2026-09-09 19:57:14 +01:00
..
appearancefetch feat: sync visible product branding 2026-07-20 16:49:17 +08:00
bots Merge remote-tracking branch 'upstream/main' into merge-gramsrv-9106877 2026-08-03 23:29:20 +03:00
catalogfetch feat: sync multilayer td integration 2026-07-15 13:32:06 +08:00
langpackfetch feat: sync langpack and auth updates 2026-07-18 00:07:41 +08:00
otpwebhook-example feat: sync configurable OTP delivery providers 2026-07-17 17:04:39 +08:00
stickerfetch feat: sync multilayer td integration 2026-07-15 13:32:06 +08:00
stickerseeddeploy fix: sync birthday updates and system sticker sets 2026-07-05 15:15:32 +08:00
telegramloginkeygen feat: sync Telegram Login OIDC provider 2026-07-21 15:46:24 +08:00
telesrv usernames: operator reserved-username blocklist 2026-09-09 19:57:14 +01:00
telesrv-admin usernames: operator reserved-username blocklist 2026-09-09 19:57:14 +01:00
telesrv-load feat(loadtest): sync add real 500-session capacity harness 2026-08-02 12:05:00 +08:00
walletminiapp feat: sync visible product branding 2026-07-20 16:49:17 +08:00