Commit graph

135 commits

Author SHA1 Message Date
Egor Egorov
fff8de783a
feat: add NFT usernames and bot verification (#22)
Implements collectible usernames, official verification workflows, and third-party bot verification after maintainer protocol and migration review.

The composite activity/moderation rating remains an admin-only read model; Telegram Stars Rating wire fields stay unset pending a dedicated official-semantics implementation.

Reviewed-Head: 2796345775ea0f908fb7734601e5e1dee4b653b9
Original-Head: fa082b892fd5180c9c9bc53c81c21cf5d250a75b

Co-authored-by: Egor Egorov <business.egor.sg@gmail.com>
2026-07-28 01:18:00 +08:00
iamxvbaba
5433801380 fix(stargifts): sync correct channel gift notifications 2026-07-27 22:18:31 +08:00
iamxvbaba
9ac63f8006 test(mtprotoedge): sync align app config e2e with inactive freeze fields 2026-07-27 20:57:59 +08:00
iamxvbaba
4cd055144d feat(config): sync make default country configurable 2026-07-27 20:54:04 +08:00
iamxvbaba
5807fbad76 fix(help): sync omit inactive account freeze fields 2026-07-27 20:54:04 +08:00
iamxvbaba
5401c9a364 fix(messages): sync Android pinned message search 2026-07-27 13:49:45 +08:00
iamxvbaba
90649b5b67 fix(admin): sync moderation review state refresh 2026-07-27 01:01:36 +08:00
iamxvbaba
e75fd04a28 fix(messages): sync exact channel pinned counts 2026-07-27 00:17:25 +08:00
iamxvbaba
3369d0bd5c feat(premium): sync promo video catalog seed 2026-07-26 15:59:25 +08:00
iamxvbaba
c3c079edf3 fix(phone): sync confirmed call timeout handling 2026-07-26 15:59:20 +08:00
iamxvbaba
7ce15f68ab fix(web): sync public app link config 2026-07-26 15:59:15 +08:00
iamxvbaba
6b3eba6c5d feat(messages): sync saved message tags 2026-07-25 19:23:19 +08:00
iamxvbaba
a785ae7491 fix(langpack): sync WebK catalog alias support 2026-07-25 14:08:49 +08:00
iamxvbaba
9ef746d45e test(mtproto): cover single-backend DC aliases
Follow up gramsrv PR #17 with boundary coverage and public configuration docs.

Canonical-Telesrv: b4df3e72c24470e4ce09e5fc1d46e0c2944f6d3e

Reviewed-Head: e7eb07b9eb

Co-authored-by: onysd <beatvin128@gmail.com>
2026-07-24 23:17:32 +08:00
yialdd
5dcdb57e4c
Merge pull request #17 from iamxvbaba/dev
fix: sync lenient DC-ID validation for key exchange
2026-07-24 23:08:57 +08:00
onysd
e7eb07b9eb fix: sync lenient DC-ID validation for key exchange 2026-07-24 17:36:13 +03:00
iamxvbaba
0dcfaf0a65 fix: sync remote authorization revoke logout 2026-07-24 21:39:00 +08:00
iamxvbaba
b4aaf57d6b fix: sync public channel preview updates 2026-07-24 14:50:17 +08:00
iamxvbaba
2289a31f46 fix: sync same-port transport detection 2026-07-24 14:50:17 +08:00
iamxvbaba
840ef6237c fix: sync DrKLO report selection support 2026-07-24 11:57:01 +08:00
iamxvbaba
70e57b4d07 fix: sync non-PTS moderation updates 2026-07-24 11:57:00 +08:00
iamxvbaba
cc76cd3679 fix: sync non-PTS privacy updates 2026-07-24 11:57:00 +08:00
iamxvbaba
6cafa40c7b fix: sync moderation refresh cache bypass 2026-07-24 11:57:00 +08:00
iamxvbaba
3dd9c345d7 fix: sync moderation flag convergence 2026-07-24 11:57:00 +08:00
iamxvbaba
5d5883a3d1 feat: sync privacy read-model rules 2026-07-24 11:56:59 +08:00
iamxvbaba
9f467f4be7 feat: sync durable moderation and appeals 2026-07-24 11:56:59 +08:00
iamxvbaba
e1a95c7318 fix: sync contact phone privacy disclosure 2026-07-24 11:56:58 +08:00
iamxvbaba
a08c3f848e test: sync fresh Stickers bot reply wait 2026-07-23 15:08:02 +08:00
iamxvbaba
234061ef83 fix(admin): close PR review blockers
Keep bot credentials out of durable command results, fail bot deletion closed when session revocation fails, reject invalid scam/fake states at every write boundary, and make direct collectible grants a single replayable PostgreSQL aggregate.

Also lock admin gift sender/message limits and add regression coverage for rollback, replay, moderation constraints, and credential redaction.
2026-07-23 13:29:04 +08:00
epilepticseizureee
90792cdfab fix(admin): resolve moderation, gift, and admin-panel bugs from QA
- scam/fake: enforce mutual exclusivity (scam precedence) at TL conversion, admin command, and UI toggles; both flags could render as neither
- scam/fake flicker: persist scam/fake in the Redis user base cache so cache hits no longer drop the flags
- getSavedStarGifts: hidden (unsaved) gifts are now force-excluded for non-owner viewers; same guard for get-by-ref
- convertStarGift: map already-upgraded/owner-invalid/unavailable to a clean client error instead of 500
- channel force-settings: send only changed fields (partial patch) and re-sync toggles after reload, so one setting no longer resets another
- give gifts: removed custom collectible numbers (auto sequential only); locked sender to the system account 777000
- give gifts UI: fixed picker card spacing/right gap; static (hover-play) Lottie previews on emoji + picker to stop render lag; fixed emoji ID field overflow
2026-07-23 06:24:53 +03:00
epilepticseizureee
313624eab2 admin: gift granting, collectible attribute/number control, and Layer 228 moderation tools
Admin console additions (Layer 228):
- Give Gifts: dedicated tab with sorted Lottie/TGS gift picker + inline form; grant any catalog gift to a user/channel from 777000 (no charge)
- Upgraded/collectible delivery: mint a unique gift with admin-selected model/pattern/backdrop and custom number, or random/auto (DB FK + UNIQUE(gift_id,num) enforce invariants)
- SCAM/FAKE flags for users/channels (migration 0136) with configurable profile warning (TELESRV_SCAM_WARNING/TELESRV_FAKE_WARNING)
- Support toggle, force channel settings incl. gigagroup (migration 0137), username management, cosmetic color/emoji-status
- Emoji admin tab (custom emoji list + document IDs + Lottie/TGS preview)
- Bot management; soft UI / dark theme
Wired through Router -> admin.Service -> adminapi -> BFF -> React panel (en/zh/ru).
2026-07-23 04:00:29 +03:00
epilepticseizureee
9e45da69ef feat(admin): bot management (list, verify, create, delete)
- Add a Bots admin tab: list/search bots with a dedicated read query
  (users.is_bot, excluded from the accounts list), showing owner and
  system-vs-user type
- Create system bots from the admin via a new bot.create command that
  reuses the existing bot provisioning flow; the token is shown once
- Delete user-created bots via a new bot.delete command backed by a
  dedicated Postgres DeleteBotAccount (revokes sessions, purges private
  state, releases username, drops the bots row, tombstones the user);
  system service bots are rejected
- Verified badge toggling reuses the existing set-verified command
- All write paths go through the dry-run/confirm + audit command pipeline
- Rebuild dist bundle
2026-07-23 00:34:05 +03:00
A
045e0f6db4 fix: sync StarGift prepaid upgrade message refs 2026-07-22 21:44:33 +08:00
A
8cfb6f74c1 feat: sync host-based public app links 2026-07-22 21:43:56 +08:00
A
10de462191 fix: sync web page preview pending deadline 2026-07-22 21:42:52 +08:00
A
6e49d83fee fix: sync typed-nil dependency validation 2026-07-22 16:09:27 +08:00
A
401a8f148e fix: sync monoforum suggested post flow 2026-07-22 16:08:44 +08:00
A
511f25efc2 fix: sync Android join RPC admission 2026-07-22 13:08:55 +08:00
A
8e00a58112 fix: sync owner-only megagroup creation 2026-07-22 13:07:37 +08:00
A
de233a4c18 fix: sync collectible upgrade preview pools 2026-07-22 13:06:49 +08:00
A
eba402946a fix: sync account freeze peer visibility 2026-07-22 02:03:00 +08:00
A
d9875b5caa feat: sync bot setup and webhook diagnostics 2026-07-22 00:51:52 +08:00
A
f53579416e feat: sync HTTP callback OIDC setup 2026-07-21 18:18:33 +08:00
A
bf72c246b6 fix: sync call ringing device scope 2026-07-21 17:25:53 +08:00
A
27ec9dce33 chore: sanitize public sync references 2026-07-21 15:50:40 +08:00
A
40743dfb09 fix: sync contact note projection 2026-07-21 15:48:33 +08:00
A
d69a34a4a8 fix: sync StarGift lifecycle hardening 2026-07-21 15:47:55 +08:00
A
6f2662b58c fix: sync Telegram Login mobile popup delivery 2026-07-21 15:46:52 +08:00
A
ebead9e98c feat: sync Telegram Login OIDC provider 2026-07-21 15:46:24 +08:00
A
30774f8c39 fix: sync StarGift private message references 2026-07-21 15:45:16 +08:00