Date: 2026-05-08
Last updated: 2026-05-23
Range: original..upstream/master
Total commits: 199
- This manifest remains the canonical upstream classification for
original..upstream/master. - PR #18 merged to
masteras commit258125992, carrying the previously separated work lanes:- W2-001 / W2-002 semantic repairs (
a09adfc63,386eca6fe,1a9ef3d68)
- W2-001 / W2-002 semantic repairs (
- W2-003 lifetime cleanup (
5340472b0) - bounded W3-P poll hardening (
21275249c,c81e6da9f,3e78ebcd8, plus a supporting local seam intd/telegram/MessageContent.*) - separate fingerprint/tooling work in
td/mtproto/BrowserProfile.cpp,test/analysis/extract_client_hello_fixtures.py, reviewed fixture refreshes, anddocs/Plans/FINGERPRINT_HARDENING_MASTER_PLAN_2026-05-24.md
- The lane and class columns below remain the historical Pass A intake record for the upstream backlog. The merged execution outcome does not rewrite that initial classification.
- W4-G remains deferred for any new intake, but its current repository-resident adaptation baseline
and verified test state are frozen in
docs/Plans/UPSTREAM_WAVE_4_PREFLIGHT_2026-05-14.md; the W4 manifest rows now use that annex as their evidence anchor instead of leaving the verified state only in local code and test surfaces. - W5-AI remains deferred for implementation, but rows
5,10,63,70through83,88,89,94through101,194,195, and199now usedocs/Plans/UPSTREAM_WAVE_5_PREFLIGHT_2026-05-14.mdas their shared evidence anchor for local baseline, divergence, risk, and TDD planning state. - Wave 5 pass-B decisions and bounded adaptations are now recorded in
docs/Plans/UPSTREAM_BACKPORT_GATING_PLAN_2026-05-08.mdSection0.3.6; this manifest keeps pass-A row classification stable and uses that section as the canonical pass-B decision anchor. - Wave 6 pass-B decisions and bounded hardening adaptations are now recorded in
docs/Plans/UPSTREAM_BACKPORT_GATING_PLAN_2026-05-08.mdSection0.3.9; pass-A row classes remain unchanged and the section is the canonical anchor for valuable-versus-deferred W6 rationale. - W6-M now has a frozen activation preflight anchor in
docs/Plans/UPSTREAM_WAVE_6_PREFLIGHT_2026-05-19.md. Manifest rows84through87retain pass-A classes and use that annex as archival blast-radius, risk matrix, and RED inventory context for provenance review. - Wave 1 pass-B decisions are now recorded in
docs/Plans/UPSTREAM_BACKPORT_GATING_PLAN_2026-05-08.mdSection0.3.11; rows1,2,8,9,17,40,56,81,184, and199retain historicalW1-Tpass-A labels while using that section as the canonical decision anchor. Rows81and199also retain their Wave 5 cross-lane anchor in Section0.3.6. - Wave 3 pass-B decisions are now recorded in
docs/Plans/UPSTREAM_BACKPORT_GATING_PLAN_2026-05-08.mdSection0.3.3.a; rows51,52,66,67,159,162, and187retain historicalW3-Ppass-A labels while using that section as the canonical adapted-versus-not-adapted decision anchor. - Wave 8 pass-B decisions are now recorded in
docs/Plans/UPSTREAM_BACKPORT_GATING_PLAN_2026-05-08.mdSection0.3.8.a; rows104,134,176,180, and193retain historicalW8-Xpass-A labels while using that section as the canonical adapted-versus-not-adapted decision anchor. - A repository audit on 2026-05-23 confirmed that
W3-P,W4-G,W5-AI,W6-M,W7-D, andW8-Xall have repository-resident implementations or local-equivalent bounded adaptations in the current tree, but it did not sustain the older "no remaining wave-level backlog" conclusion. W9-R(audit reconciliation) is closed in the gating plan Section0.3.12; status/matrix/manifest wording now consistently distinguish bounded local-equivalent closure from upstream-exact parity.W10-V(executable validation uplift) is closed in the gating plan Section0.3.13on targeted seam-level runtime harness evidence (run_all_testsbuild plus focused CTest passes for text-composition, guest-query, and managed-bot token/access-settings dispatch seams). This does not claim full actor-level end-to-end owner-path coverage and does not rewrite historical Pass A lane counts below.W11-AI2remains intentionally open-deferred by policy decision in the gating plan Section0.3.14. Activation is allowed only under explicit owner/product approval with per-commit deep review and RED-first runtime owner-path coverage.
- W1-T: 10
- W2-C: 4
- W2B: 9
- W3-P: 70
- W4-G: 8
- W5-AI: 22
- W6-M: 4
- W7-D: 3
- W8-X: 69
- deep-review: 4
- research-input: 4
- already-incorporated: 2
- ignore: 1
- defer: 188
| Row | Commit | Subject | Lane | Initial Class | Bundle ID | td_api.tl | Key Paths | Owning Seam | Prereq Set | Divergence Note | Security Tags | Title/Path Mismatch | Evidence Note |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 28e0d0dbe |
Add Op::random_value. | W1-T | research-input | BND-W1-TLSINIT | no | td/mtproto/TlsInit.cpp | td/mtproto/* | - | fixture-driven research only; direct cp unsafe | ASVS-V5,ASVS-V9,DPI | no | Pass-B reviewed: reject direct backport; keep as Darwin profile research input only; see gating Section 0.3.11 |
| 2 | 00eedc5f9 |
New TlsInit algorithm for Darwin. | W1-T | research-input | BND-W1-TLSINIT | no | td/mtproto/TlsInit.cpp | td/mtproto/* | 28e0d0dbe | fixture-driven research only; direct cp unsafe | ASVS-V5,ASVS-V9,DPI | no | Pass-B reviewed: reject direct backport; upstream pair stays research-only because of static-init/randomization and phantom-fixture issues; see gating Section 0.3.11 |
| 3 | 6b82cc832 |
Encode key with base64. | W8-X | ignore | - | no | td/telegram/ConfigManager.cpp | td/telegram/ConfigManager.cpp | - | title mismatch; obfuscation not hardening | ASVS-V6,SECRETS | yes | Pass-A path+subject; full diff pending unless deep-reviewed |
| 4 | aea46d7b1 |
Fix typos. | W3-P | defer | BND-W3-POLL | yes | CHANGELOG.md, benchmark/bench_log.cpp, example/uwp/app/Properties/Default.rd.xml, ... | td/telegram/GroupCallManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 5 | c3a6ecea6 |
Add TranslationManager.InputText. | W5-AI | defer | BND-W5-AI | no | td/telegram/MessagesManager.cpp, td/telegram/TranslationManager.cpp, td/telegram/TranslationManager.h | td/telegram/MessagesManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 6 | 3d38fb7aa |
Remove early initialization of tz_offset. | W8-X | already-incorporated | - | no | tdutils/td/utils/port/Clocks.cpp | tdutils/* | - | already present via local merge commit 2b7356173 | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 7 | a9fd1b554 |
fix: live photo file type description | W8-X | defer | - | yes | td/generate/scheme/td_api.tl | td/generate/scheme/td_api.tl | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 8 | a82128ab8 |
Add more base64 proxy links tests (#3636) | W1-T | research-input | BND-W1-PROXY-LINK | no | test/link.cpp | test/* | - | hostile evidence only; local fail-closed parser policy retained | - | no | Pass-B reviewed: harvested as proxy-link evidence while keeping local %2B / %2F rejection; see gating Section 0.3.11 |
| 9 | bfab03f7a |
Add comments about invalid proxy secret in link. | W1-T | research-input | BND-W1-PROXY-LINK | no | test/link.cpp | test/* | - | hostile evidence only; local fail-closed parser policy retained | - | no | Pass-B reviewed: upstream permissive comments remain evidence-only; local parser authority stays fail-closed; see gating Section 0.3.11 |
| 10 | d747885cb |
Add and use TranslationManager::get_input_text. | W5-AI | defer | BND-W5-AI | no | td/telegram/TranslationManager.cpp, td/telegram/TranslationManager.h | td/telegram/TranslationManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 11 | c4394fe8c |
Add and use MessagesManager::get_message_poll_id. | W3-P | defer | BND-W3-POLL | no | td/telegram/MessageContent.cpp, td/telegram/MessageContent.h, td/telegram/MessagesManager.cpp, ... | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 12 | b0c75c13a |
Move set_poll_answer and get_poll_voters to PollManager. | W3-P | defer | BND-W3-POLL | no | td/telegram/MessageContent.cpp, td/telegram/MessageContent.h, td/telegram/MessagesManager.cpp, ... | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 13 | 42ea83d4e |
Move stop_poll to PollManager. | W3-P | defer | BND-W3-POLL | no | td/telegram/MessageContent.cpp, td/telegram/MessageContent.h, td/telegram/MessagesManager.cpp, ... | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 14 | ea683b225 |
Move add_poll_option and delete_poll_option to PollManager. | W3-P | defer | BND-W3-POLL | no | td/telegram/MessageContent.cpp, td/telegram/MessageContent.h, td/telegram/MessagesManager.cpp, ... | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 15 | 3bde4782c |
Make iOS build reproducible by @g000sha256. | W7-D | defer | BND-W7-TOOLING | no | example/ios/build-openssl.sh, example/ios/build.sh | example/ios/build-openssl.sh | - | already present locally; pass-B no-op adaptation | - | no | Pass-B reviewed: reproducibility env vars already landed locally; see gating Section 0.3.10 |
| 16 | f3713bba0 |
Add g000sha256/tdl-coroutines to the list of examples. | W7-D | defer | BND-W7-TOOLING | no | example/README.md | example/README.md | - | already present locally; pass-B no-op adaptation | - | no | Pass-B reviewed: tdl-coroutines entry already present locally; see gating Section 0.3.10 |
| 17 | 8921c22f0 |
Fix handling of links to specific task and poll option. | W1-T | defer | - | no | td/telegram/LinkManager.cpp, td/telegram/MessagesManager.cpp | td/telegram/LinkManager.cpp | - | already present locally; deep-link round-trip pinned | ASVS-V5,ASVS-V9 | no | Pass-B reviewed: task / option propagation already present locally; see gating Section 0.3.11 |
| 18 | 21275249c |
Hide recent voters if voters aren't available. | W3-P | defer | BND-W3-POLL | no | td/telegram/PollManager.cpp | td/telegram/PollManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A row later merged to master via PR #18 as standalone W3-P hardening; keep row/class as historical classification anchor |
| 19 | 54bf55038 |
Improve creation of edited business media. | W8-X | defer | - | no | td/telegram/BusinessConnectionManager.cpp | td/telegram/BusinessConnectionManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 20 | f3b4df334 |
Return the exact error in getStickerSetName. | W8-X | defer | - | no | td/telegram/StickersManager.cpp, td/telegram/StickersManager.h | td/telegram/StickersManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 21 | de45f14e9 |
Use has_unread_message_reactions to check presence of unread reactions. | W8-X | defer | - | no | td/telegram/MessagesManager.cpp | td/telegram/MessagesManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 22 | bc79a6d2d |
Improve test. | W8-X | already-incorporated | - | no | test/mtproto.cpp | test/* | - | local tests richer; upstream simplification | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 23 | 5bd9e60d4 |
Fix misprint. | W8-X | defer | - | no | td/telegram/SavedMessagesManager.cpp | td/telegram/SavedMessagesManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 24 | 746ae1969 |
Add and use MessagesManager::is_message_forward. | W8-X | defer | - | no | td/telegram/MessagesManager.cpp, td/telegram/MessagesManager.h | td/telegram/MessagesManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 25 | 18b89f41b |
Move share_dialogs_with_bot to MessageQueryManager. | W8-X | defer | - | no | td/telegram/MessageQueryManager.cpp, td/telegram/MessageQueryManager.h, td/telegram/MessagesManager.cpp, ... | td/telegram/MessageQueryManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 26 | 12bf8163c |
Add MessageInputReplyTo debug. | W8-X | defer | - | no | td/telegram/BusinessConnectionManager.cpp, td/telegram/MessageInputReplyTo.cpp, td/telegram/MessageInputReplyTo.h, ... | td/telegram/BusinessConnectionManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 27 | 10053eb7f |
Add DialogAdministrator constructor. | W8-X | defer | - | no | td/telegram/ChatManager.cpp, td/telegram/DialogAdministrator.cpp, td/telegram/DialogAdministrator.h | td/telegram/ChatManager.cpp | - | pending pass-B diff review | ASVS-V11 | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 28 | 01fd58957 |
Optionally store poll option voter count. | W3-P | defer | BND-W3-POLL | no | td/telegram/PollOption.hpp | td/telegram/PollOption.hpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 29 | 72e61404c |
Support store of poll options without data. | W3-P | defer | BND-W3-POLL | no | td/telegram/PollOption.hpp | td/telegram/PollOption.hpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 30 | d93059e8e |
Make PollOption.data_ private. | W3-P | defer | BND-W3-POLL | no | td/telegram/MessageContent.cpp, td/telegram/PollManager.cpp, td/telegram/PollOption.h | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 31 | ff7f15184 |
Don't create data for local poll options. | W3-P | defer | BND-W3-POLL | yes | td/generate/scheme/td_api.tl, td/telegram/PollManager.cpp, td/telegram/PollOption.cpp, ... | td/telegram/PollManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 32 | 583f1b04e |
Add PollOption::dup_option. | W3-P | defer | BND-W3-POLL | no | td/telegram/PollOption.cpp, td/telegram/PollOption.h | td/telegram/PollOption.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 33 | 81fbe7a74 |
Remove unallowed poll option entities on creation. | W3-P | defer | BND-W3-POLL | no | td/telegram/PollManager.cpp, td/telegram/PollOption.cpp | td/telegram/PollManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 34 | ce65e47ad |
Fix spelling. | W8-X | defer | - | yes | td/generate/scheme/td_api.tl, td/telegram/MessagesManager.cpp | td/telegram/MessagesManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 35 | 8fc2344f3 |
Fix value of can_manage_tags in basic groups. | W2B | defer | - | no | td/telegram/ChatManager.h, td/telegram/DialogParticipant.cpp, td/telegram/DialogParticipant.h | td/telegram/ChatManager.h | - | pending pass-B diff review | ASVS-V11 | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 36 | 36b87da17 |
Fix spelling. | W8-X | defer | - | no | td/telegram/MessagesManager.cpp, td/telegram/UserManager.cpp | td/telegram/MessagesManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 37 | 742be8390 |
Fix dup_option. | W3-P | defer | BND-W3-POLL | no | td/telegram/PollOption.cpp | td/telegram/PollOption.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 38 | e17ad2d9b |
Keep forward header for audio. | W8-X | defer | - | no | td/telegram/MessagesManager.cpp | td/telegram/MessagesManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 39 | d5714b0b8 |
Fix replies to invalid messages. | W2B | defer | - | no | td/telegram/MessagesManager.cpp | td/telegram/MessagesManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 40 | e86cd4496 |
Fix includes. | W1-T | defer | - | no | td/telegram/BusinessConnectionManager.cpp, td/telegram/MessageQueryManager.h, td/telegram/PollOption.cpp, ... | td/telegram/BusinessConnectionManager.cpp | - | include-only cleanup; no standalone W1-T value | - | no | Pass-B reviewed: include cleanup has no mission-surface transport/parser effect; see gating Section 0.3.11 |
| 41 | 7e3361e5a |
Update layer to 225. | W3-P | defer | BND-W3-POLL | no | td/generate/scheme/telegram_api.tl, td/telegram/AuthManager.cpp, td/telegram/BusinessConnectionManager.cpp, ... | td/telegram/AuthManager.cpp | - | schema/product bundle; defer pending charter | ASVS-V11 | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 42 | 084707e99 |
Support member-only polls. | W3-P | defer | BND-W3-POLL | yes | td/generate/scheme/td_api.tl, td/telegram/MessageContent.cpp, td/telegram/PollManager.cpp, ... | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 43 | 4133b27c4 |
Improve giveaway country code checks. | W8-X | defer | - | no | td/telegram/GiveawayParameters.cpp | td/telegram/GiveawayParameters.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 44 | bb6574d9f |
Support limiting of poll voters to specific countries. | W3-P | defer | BND-W3-POLL | yes | td/generate/scheme/td_api.tl, td/telegram/MessageContent.cpp, td/telegram/PollManager.cpp, ... | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 45 | 7d56f9c58 |
Add Poll.can_get_vote_statistics. | W3-P | defer | BND-W3-POLL | yes | td/generate/scheme/td_api.tl, td/telegram/PollManager.cpp, td/telegram/PollManager.h, ... | td/telegram/PollManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 46 | bcd2c683c |
Move can_get_poll_vote_statistics to messageProperties. | W3-P | defer | BND-W3-POLL | yes | td/generate/scheme/td_api.tl, td/telegram/MessageContent.cpp, td/telegram/MessageContent.h, ... | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 47 | f654c5c81 |
Add td_api::getPollVoteStatistics. | W3-P | defer | BND-W3-POLL | yes | td/generate/scheme/td_api.tl, td/telegram/Requests.cpp, td/telegram/Requests.h, ... | td/telegram/Requests.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 48 | 1eaf2481e |
Add message.contains_unread_poll_votes. | W3-P | defer | BND-W3-POLL | yes | td/generate/scheme/td_api.tl, td/telegram/MessagesManager.cpp | td/telegram/MessagesManager.cpp | - | bounded W3-B3 unread-vote message-state surface adapted; broader bundle still deferred pending charter | - | no | Pass-B reviewed: adapted via message.contains_unread_poll_votes state plumbing in MessagesManager; see gating Section 0.3.3.a |
| 49 | d6ef00fa9 |
Add updateMessageContainsUnreadPollVotes. | W3-P | defer | BND-W3-POLL | yes | td/generate/scheme/td_api.tl, td/telegram/MessagesManager.cpp, td/telegram/MessagesManager.h | td/telegram/MessagesManager.cpp | - | bounded W3-B3 unread-vote update surface adapted; broader bundle still deferred pending charter | - | no | Pass-B reviewed: adapted via updateMessageContainsUnreadPollVotes fanout in MessagesManager; see gating Section 0.3.3.a |
| 50 | 74b12e37a |
Send updates for messages always. | W8-X | defer | - | no | td/telegram/MessagesManager.cpp | td/telegram/MessagesManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 51 | 04498cfbb |
Ignore unread_poll_votes for message with being read poll votes. | W3-P | defer | BND-W3-POLL | no | td/telegram/PollManager.cpp | td/telegram/PollManager.cpp | - | bounded W3-B2 unread-vote hardening adapted; broader bundle still deferred pending charter | - | no | Pass-B reviewed: adapted via unread-vote pending-read guard in PollManager::on_get_poll; see gating Section 0.3.3.a |
| 52 | 1f68a4a84 |
Clear unread poll vote counters before sending updates. | W3-P | defer | BND-W3-POLL | no | td/telegram/ForumTopic.cpp, td/telegram/MessagesManager.cpp, td/telegram/MessagesManager.h | td/telegram/ForumTopic.cpp | - | bounded W3-B2 counter-sequencing hardening adapted; broader bundle still deferred pending charter | - | no | Pass-B reviewed: adapted via read_all_local_dialog_poll_votes(...) pre-clear sequencing; see gating Section 0.3.3.a |
| 53 | 8f2ebbc6b |
Drop reaction counter before removing all reactions.` | W8-X | defer | - | no | td/telegram/MessagesManager.cpp, td/telegram/MessagesManager.h, td/telegram/SavedMessagesManager.cpp | td/telegram/MessagesManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 54 | ec9b956ef |
Improve addProfileAudio. | W8-X | defer | - | yes | td/generate/scheme/td_api.tl, td/telegram/Requests.cpp, td/telegram/Requests.h, ... | td/telegram/Requests.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 55 | ade6176c9 |
Allow polls with 1 option. | W3-P | defer | BND-W3-POLL | yes | td/generate/scheme/td_api.tl, td/telegram/MessageContent.cpp, td/telegram/PollManager.cpp | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 56 | dd78f94a8 |
Support internalLinkTypeRequestManagedBot without suggested username. | W1-T | defer | - | yes | td/generate/scheme/td_api.tl, td/telegram/LinkManager.cpp, test/link.cpp | td/telegram/LinkManager.cpp | - | already present locally; managed-bot link compatibility pinned | ASVS-V5,ASVS-V9 | no | Pass-B reviewed: missing suggested username handling already present locally; see gating Section 0.3.11 |
| 57 | fb07535b5 |
Add userTypeBot.supports_username_queries. | W8-X | defer | - | yes | td/generate/scheme/td_api.tl, td/telegram/UserManager.cpp, td/telegram/UserManager.h | td/telegram/UserManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 58 | 57259ff9e |
Add message.guest_bot_caller_id. | W4-G | defer | BND-W4-GUEST | yes | td/generate/scheme/td_api.tl, td/telegram/MessagesManager.cpp, td/telegram/MessagesManager.h | td/telegram/MessagesManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; see docs/Plans/UPSTREAM_WAVE_4_PREFLIGHT_2026-05-14.md |
| 59 | 49e592ccc |
Add MessagesManager::get_guest_message_object. | W4-G | defer | BND-W4-GUEST | no | td/telegram/MessagesManager.cpp, td/telegram/MessagesManager.h | td/telegram/MessagesManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; see docs/Plans/UPSTREAM_WAVE_4_PREFLIGHT_2026-05-14.md |
| 60 | 7aed695bf |
Add td_api::updateNewGuestQuery. | W4-G | defer | BND-W4-GUEST | yes | td/generate/scheme/td_api.tl, td/telegram/UpdatesManager.cpp, td/telegram/UpdatesManager.h | td/telegram/UpdatesManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; see docs/Plans/UPSTREAM_WAVE_4_PREFLIGHT_2026-05-14.md |
| 61 | 339ff0c6c |
Add td_api::answerGuestQuery. | W4-G | defer | BND-W4-GUEST | yes | td/generate/scheme/td_api.tl, td/telegram/InlineQueriesManager.cpp, td/telegram/InlineQueriesManager.h, ... | td/telegram/InlineQueriesManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; see docs/Plans/UPSTREAM_WAVE_4_PREFLIGHT_2026-05-14.md |
| 62 | f65f56761 |
Ignore internal replies to messages in another chat for bots. | W8-X | defer | - | no | td/telegram/MessagesManager.cpp | td/telegram/MessagesManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 63 | d72be7609 |
Support custom styles in textCompositionStyle. | W5-AI | defer | BND-W5-AI | yes | CMakeLists.txt, SplitSource.php, td/generate/scheme/td_api.tl, ... | td/telegram/AiComposeTone.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 64 | 7a8277ebe |
Add internal option "phone_country_iso2". | W8-X | defer | - | no | td/telegram/ConfigManager.cpp, td/telegram/ConfigManager.h, td/telegram/OptionManager.cpp | td/telegram/ConfigManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 65 | 271c71136 |
Add comment about recent voter processing. | W3-P | defer | BND-W3-POLL | no | td/telegram/PollManager.cpp | td/telegram/PollManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 66 | 978979edb |
Improve PollManager::can_get_poll_voters. | W3-P | defer | BND-W3-POLL | no | td/telegram/PollManager.cpp | td/telegram/PollManager.cpp | - | schema/product bundle; policy-preserving refactor not adapted in pass-B | - | no | Pass-B reviewed: not adapted because local predicate already preserves policy semantics; see gating Section 0.3.3.a |
| 67 | ca82791de |
Allow to see poll results immediately for users from unallowed countries. | W3-P | defer | BND-W3-POLL | no | td/telegram/PollManager.cpp | td/telegram/PollManager.cpp | - | schema/product bundle; policy-widening visibility change not adapted in pass-B | - | no | Pass-B reviewed: not adapted; policy widening conflicts with fail-closed country restriction semantics; see gating Section 0.3.3.a |
| 68 | b00c67763 |
Add poll.vote_restriction_reason. | W3-P | defer | BND-W3-POLL | yes | td/generate/scheme/td_api.tl, td/telegram/PollManager.cpp, td/telegram/PollManager.h | td/telegram/PollManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 69 | 0b9e9829b |
Add more poll vote restrcition reasons. | W3-P | defer | BND-W3-POLL | yes | td/generate/scheme/td_api.tl, td/telegram/MessageContent.cpp, td/telegram/PollManager.cpp, ... | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 70 | 528988dd9 |
Remove "ai_compose_styles" config option. | W8-X | defer | - | no | td/telegram/ConfigManager.cpp, td/telegram/ConfigManager.h | td/telegram/ConfigManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 71 | 176915344 |
Add class AiComposeTones. | W5-AI | defer | BND-W5-AI | no | td/telegram/AiComposeTone.cpp, td/telegram/AiComposeTone.h, td/telegram/AiComposeTone.hpp | td/telegram/AiComposeTone.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 72 | a05aeeb9c |
Use AiComposeTones in TranslationManager. | W5-AI | defer | BND-W5-AI | no | td/telegram/AiComposeTone.h, td/telegram/TranslationManager.cpp, td/telegram/TranslationManager.h | td/telegram/AiComposeTone.h | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 73 | b77099227 |
Periodically reload text compostion styles. | W5-AI | defer | BND-W5-AI | no | td/telegram/AiComposeTone.h, td/telegram/TranslationManager.cpp, td/telegram/TranslationManager.h, ... | td/telegram/AiComposeTone.h | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 74 | c96e67c38 |
Support telegram_api::updateAiComposeTones updates. | W8-X | defer | - | no | td/telegram/UpdatesManager.cpp, td/telegram/UpdatesManager.h | td/telegram/UpdatesManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 75 | fc903aab3 |
Add and use AiComposeTones::get_input_ai_compose_tone. | W5-AI | defer | BND-W5-AI | no | td/telegram/AiComposeTone.cpp, td/telegram/AiComposeTone.h, td/telegram/TranslationManager.cpp | td/telegram/AiComposeTone.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 76 | 3ba1e630b |
Load users from textCompositionStyles. | W5-AI | defer | BND-W5-AI | no | td/telegram/AiComposeTone.cpp, td/telegram/AiComposeTone.h, td/telegram/TranslationManager.cpp | td/telegram/AiComposeTone.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 77 | 23971a844 |
Add td_api::createTextCompositionStyle. | W5-AI | defer | BND-W5-AI | yes | td/generate/scheme/td_api.tl, td/telegram/Requests.cpp, td/telegram/Requests.h, ... | td/telegram/Requests.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 78 | 327531a54 |
Add td_api::textCompositionStyleExample. | W5-AI | defer | BND-W5-AI | yes | CMakeLists.txt, SplitSource.php, td/generate/scheme/td_api.tl, ... | td/telegram/AiComposeToneExample.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 79 | ee93de50b |
Add textCompositionStyle.english_example. | W5-AI | defer | BND-W5-AI | yes | td/generate/scheme/td_api.tl, td/telegram/AiComposeTone.cpp, td/telegram/AiComposeTone.h, ... | td/telegram/AiComposeTone.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 80 | 8a7d707ee |
Add td_api::editTextCompositionStyle. | W5-AI | defer | BND-W5-AI | yes | td/generate/scheme/td_api.tl, td/telegram/Requests.cpp, td/telegram/Requests.h, ... | td/telegram/Requests.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 81 | 990b821c8 |
Add td_api::internalLinkTypeTextCompositionStyle. | W1-T | defer | - | yes | td/generate/scheme/td_api.tl, td/telegram/AiComposeTone.cpp, td/telegram/LinkManager.cpp, ... | td/telegram/AiComposeTone.cpp | - | cross-wave W5-AI exact scope; standalone W1-T execution rejected | ASVS-V5,ASVS-V9 | no | Pass-B reviewed: valuable only inside W5-AI exact scope; already accounted in gating Sections 0.3.6 and 0.3.11 |
| 82 | 27b1ee8cd |
Add td_api::searchTextCompositionStyle. | W5-AI | defer | BND-W5-AI | yes | td/generate/scheme/td_api.tl, td/telegram/Requests.cpp, td/telegram/Requests.h, ... | td/telegram/Requests.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 83 | f5b5a6e11 |
Add td_api::linkPreviewTypeTextCompositionStyle. | W5-AI | defer | BND-W5-AI | yes | td/generate/scheme/td_api.tl, td/telegram/WebPagesManager.cpp | td/telegram/WebPagesManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 84 | 19292458f |
Add td_api::botAccessSettings. | W6-M | defer | BND-W6-MANAGED-BOT | yes | CMakeLists.txt, SplitSource.php, td/generate/scheme/td_api.tl, ... | td/telegram/BotAccessSettings.cpp | - | bounded local-equivalent W6 adaptation landed; pass-A class retained as historical label | ASVS-V2,ASVS-V3 | no | Pass-A row retained; pass-B bounded adaptation landed via BotAccessSettings validation/serialization plumbing and test/managed_bot_access_settings_* evidence (see Section 5 and gating Section 0.3.9) |
| 85 | 3819fded5 |
Rename td_api::getBotToken to getManagedBotToken. | W6-M | defer | BND-W6-MANAGED-BOT | yes | td/generate/scheme/td_api.tl, td/telegram/Requests.cpp, td/telegram/Requests.h, ... | td/telegram/Requests.cpp | - | schema/product bundle; defer pending charter | ASVS-V2,ASVS-V3 | no | Pass-A row retained; pass-B bounded adaptation landed (compat alias + ownership guard) in gating Section 0.3.9 and preflight UPSTREAM_WAVE_6_PREFLIGHT_2026-05-19.md |
| 86 | b6aa479a9 |
Add td_api::getManagedBotAccessSettings. | W6-M | defer | BND-W6-MANAGED-BOT | yes | td/generate/scheme/td_api.tl, td/telegram/BotInfoManager.cpp, td/telegram/BotInfoManager.h, ... | td/telegram/BotInfoManager.cpp | - | bounded local-equivalent W6 adaptation landed; pass-A class retained as historical label | ASVS-V2,ASVS-V3 | no | Pass-A row retained; pass-B bounded adaptation landed via Requests/BotInfoManager read path and dispatch_managed_bot_access_settings_read(...) deny-by-default guards (see Section 5 and gating Section 0.3.9) |
| 87 | 83506493e |
Add td_api::setManagedBotAccessSettings. | W6-M | defer | BND-W6-MANAGED-BOT | yes | td/generate/scheme/td_api.tl, td/telegram/BotAccessSettings.cpp, td/telegram/BotAccessSettings.h, ... | td/telegram/BotAccessSettings.cpp | - | bounded local-equivalent W6 adaptation landed; pass-A class retained as historical label | ASVS-V2,ASVS-V3 | no | Pass-A row retained; pass-B bounded adaptation landed via Requests/BotInfoManager write path and dispatch_managed_bot_access_settings_write(...) deny-by-default guards (see Section 5 and gating Section 0.3.9) |
| 88 | 0c6ea7e09 |
Add the option "text_composition_style_example_count". | W8-X | defer | - | no | td/telegram/ConfigManager.cpp, td/telegram/ConfigManager.h, td/telegram/OptionManager.cpp | td/telegram/ConfigManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 89 | 64972181c |
Add td_api::getTextCompositionStyleExample. | W5-AI | defer | BND-W5-AI | yes | td/generate/scheme/td_api.tl, td/telegram/Requests.cpp, td/telegram/Requests.h, ... | td/telegram/Requests.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 90 | 39bc8f701 |
Add get_message_content_input_media for paid media. | W8-X | defer | - | no | td/telegram/BusinessConnectionManager.cpp, td/telegram/MessageContent.cpp, td/telegram/MessageContent.h | td/telegram/BusinessConnectionManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 91 | 91043f84d |
Simplify get_message_content_star_count usage. | W8-X | defer | - | no | td/telegram/MessageContent.cpp, td/telegram/MessagesManager.cpp | td/telegram/MessageContent.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 92 | 7c8fea82c |
Add and use can_message_content_have_multiple_files. | W8-X | defer | - | no | td/telegram/BusinessConnectionManager.cpp, td/telegram/BusinessConnectionManager.h, td/telegram/MessageContent.cpp, ... | td/telegram/BusinessConnectionManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 93 | 884ec9aa3 |
Allow empty text in td_api::sendTextMessageDraft. | W8-X | defer | - | yes | td/generate/scheme/td_api.tl, td/telegram/Requests.cpp | td/telegram/Requests.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 94 | 9571c262f |
Add td_api::premiumLimitTypeCustomTextCompositionStyleCount and the option "added_text_composition_style_max". | W5-AI | defer | BND-W5-AI | yes | td/generate/scheme/td_api.tl, td/telegram/ConfigManager.h, td/telegram/OptionManager.cpp, ... | td/telegram/ConfigManager.h | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 95 | ff051c4dc |
Add the option "text_composition_style_title_length_max". | W8-X | defer | - | yes | td/generate/scheme/td_api.tl, td/telegram/ConfigManager.cpp, td/telegram/ConfigManager.h, ... | td/telegram/ConfigManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 96 | df4bfee0d |
Add the option "text_composition_style_prompt_length_max". | W8-X | defer | - | yes | td/generate/scheme/td_api.tl, td/telegram/ConfigManager.cpp, td/telegram/ConfigManager.h, ... | td/telegram/ConfigManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 97 | 86d375553 |
Add td_api::addTextCompositionStyle. | W5-AI | defer | BND-W5-AI | yes | td/generate/scheme/td_api.tl, td/telegram/Requests.cpp, td/telegram/Requests.h, ... | td/telegram/Requests.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 98 | 3e10a17e6 |
Add td_api::removeTextCompositionStyle. | W5-AI | defer | BND-W5-AI | yes | td/generate/scheme/td_api.tl, td/telegram/Requests.cpp, td/telegram/Requests.h, ... | td/telegram/Requests.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 99 | 58d72a0e8 |
Pass promise to reload_ai_compose_tones. | W5-AI | defer | BND-W5-AI | no | td/telegram/TranslationManager.cpp, td/telegram/TranslationManager.h, td/telegram/UpdatesManager.cpp | td/telegram/TranslationManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 100 | 6113d3822 |
Reload added text styles after creating a new style or editing an existing one. | W5-AI | defer | BND-W5-AI | no | td/telegram/TranslationManager.cpp | td/telegram/TranslationManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 101 | 36e726f93 |
Add td_api::deleteTextCompositionStyle. | W5-AI | defer | BND-W5-AI | yes | td/generate/scheme/td_api.tl, td/telegram/Requests.cpp, td/telegram/Requests.h, ... | td/telegram/Requests.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 102 | 6026a474c |
Remove is_channel_message parameter from create_message. | W8-X | defer | - | no | td/telegram/ForumTopicManager.cpp, td/telegram/MessageQueryManager.cpp, td/telegram/MessagesManager.cpp, ... | td/telegram/ForumTopicManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 103 | c67a309cf |
Improve docuemntation of can_connect_to_business. | W8-X | defer | - | yes | td/generate/scheme/td_api.tl | td/generate/scheme/td_api.tl | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 104 | 05600741a |
Support invalid file identifiers returned in get_message_content_any_file_ids. | W8-X | defer | - | no | td/telegram/MessageContent.cpp, td/telegram/MessagesManager.cpp | td/telegram/MessageContent.cpp | - | bounded W8 hardening adapted at invalid-file-id seams in MessageContent and MessagesManager |
ASVS-V5,ASVS-V7 | no | Pass-B reviewed: adapted with RED->GREEN invalid-file-id contract/adversarial/integration/light-fuzz/stress coverage; see gating Section 0.3.8.a |
| 105 | d59ef0167 |
Add and use FileManager::get_poll_media. | W3-P | defer | BND-W3-POLL | no | td/telegram/files/FileManager.cpp, td/telegram/files/FileManager.h | td/telegram/files | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 106 | 65b967524 |
Support inputMediaPoll in FileManager. | W3-P | defer | BND-W3-POLL | no | td/telegram/files/FileManager.cpp, td/telegram/files/FileManager.h | td/telegram/files | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 107 | 95c14cd60 |
Add chatPermissions.can_react_to_messages. | W8-X | defer | - | yes | td/generate/scheme/td_api.tl, td/telegram/ChatManager.cpp, td/telegram/ChatManager.h, ... | td/telegram/ChatManager.cpp | - | pending pass-B diff review | ASVS-V11 | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 108 | 2976e0d52 |
Use CHECK instead of a condition. | W8-X | defer | - | no | td/telegram/files/FileManager.cpp | td/telegram/files | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 109 | 57b36795f |
Store poll options for local polls. | W3-P | defer | BND-W3-POLL | no | td/telegram/MessageContent.cpp, td/telegram/PollManager.cpp, td/telegram/PollManager.h, ... | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 110 | 4dd8cfe6f |
Add and use PollOption::get_poll_option. | W3-P | defer | BND-W3-POLL | no | td/telegram/MessageContent.cpp, td/telegram/PollManager.cpp, td/telegram/PollOption.cpp, ... | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 111 | 68d952e9b |
Add PollOption::get_poll_options. | W3-P | defer | BND-W3-POLL | no | td/telegram/MessageContent.cpp, td/telegram/PollOption.cpp, td/telegram/PollOption.h | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 112 | 145840ff2 |
Support polls in get_individual_message_contents. | W3-P | defer | BND-W3-POLL | no | td/telegram/BusinessConnectionManager.cpp, td/telegram/MessageContent.cpp, td/telegram/MessageContent.h, ... | td/telegram/BusinessConnectionManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 113 | 8104480e0 |
Support media in polls in get_input_media. | W3-P | defer | BND-W3-POLL | no | td/telegram/MessageContent.cpp, td/telegram/PollManager.cpp, td/telegram/PollManager.h, ... | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 114 | 50d50976f |
Support polls in get_message_content_input_media. | W3-P | defer | BND-W3-POLL | no | td/telegram/BusinessConnectionManager.cpp, td/telegram/MessageContent.cpp, td/telegram/MessageContent.h | td/telegram/BusinessConnectionManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 115 | f212d1c37 |
Add merge_and_compare_message_contents and use it in MessagesManager. | W8-X | defer | - | no | td/telegram/MessageContent.cpp, td/telegram/MessageContent.h, td/telegram/MessagesManager.cpp | td/telegram/MessageContent.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 116 | 6982b908e |
Use merge_and_compare_message_contents in QUickReplyManager. | W8-X | defer | - | no | td/telegram/QuickReplyManager.cpp | td/telegram/QuickReplyManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 117 | 7a1552c09 |
Use merge_and_compare_message_contents in BusinessConnectionManager. | W8-X | defer | - | no | td/telegram/BusinessConnectionManager.cpp | td/telegram/BusinessConnectionManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 118 | a85b8e5ac |
Move update_message_content_file_id_remote calls to merge_and_compare_message_contents. | W8-X | defer | - | no | td/telegram/BusinessConnectionManager.cpp, td/telegram/MessageContent.cpp, td/telegram/MessageContent.h, ... | td/telegram/BusinessConnectionManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 119 | 632df33d5 |
Make update_message_content_file_id_remote private. | W8-X | defer | - | no | td/telegram/MessageContent.cpp, td/telegram/MessageContent.h | td/telegram/MessageContent.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 120 | 3a7e9d476 |
Support polls in get_uploaded_message_content. | W3-P | defer | BND-W3-POLL | no | td/telegram/MessageContent.cpp, td/telegram/PollManager.cpp, td/telegram/PollManager.h | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 121 | f94495bce |
Support polls in delete_message_content_thumbnail. | W3-P | defer | BND-W3-POLL | no | td/telegram/MessageContent.cpp | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 122 | 4f1c434a9 |
Add td_api::reactionUnavailabilityReasonRestricted. | W8-X | defer | - | yes | td/generate/scheme/td_api.tl, td/telegram/MessagesManager.cpp, td/telegram/ReactionManager.cpp, ... | td/telegram/MessagesManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 123 | 392d06ded |
Add td_api::deleteAllRecentMessageReactionsFromSender. | W8-X | defer | - | yes | td/generate/scheme/td_api.tl, td/telegram/MessageQueryManager.cpp, td/telegram/MessageQueryManager.h, ... | td/telegram/MessageQueryManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 124 | 758956f9e |
Add td_api::deleteMessageReactionsFromSender. | W8-X | defer | - | yes | td/generate/scheme/td_api.tl, td/telegram/MessageQueryManager.cpp, td/telegram/MessageQueryManager.h, ... | td/telegram/MessageQueryManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 125 | 988a94c8c |
Add messageProperties.can_delete_reactions. | W8-X | defer | - | yes | td/generate/scheme/td_api.tl, td/telegram/MessagesManager.cpp, td/telegram/MessagesManager.h | td/telegram/MessagesManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 126 | 8f7a7a2af |
Add td_api::getPersonalChatHistory. | W8-X | defer | - | yes | td/generate/scheme/td_api.tl, td/telegram/MessageQueryManager.cpp, td/telegram/MessageQueryManager.h, ... | td/telegram/MessageQueryManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 127 | 7800cbd1c |
Improve can_delete_message_reactions. | W8-X | defer | - | no | td/telegram/MessagesManager.cpp | td/telegram/MessagesManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 128 | fa2559582 |
Support polls in merge_message_contents. | W3-P | defer | BND-W3-POLL | no | td/telegram/MessageContent.cpp | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 129 | 7da70901a |
Support polls in get_message_content_duration. | W3-P | defer | BND-W3-POLL | no | td/telegram/MessageContent.cpp | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 130 | f08c9f287 |
Add and use get_individual_message_content_refs. | W3-P | defer | BND-W3-POLL | no | td/telegram/MessageContent.cpp, td/telegram/PollManager.cpp, td/telegram/PollManager.h | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 131 | 4989ed3a8 |
Simplify PollManager::get_individual_message_contents. | W3-P | defer | BND-W3-POLL | no | td/telegram/PollManager.cpp | td/telegram/PollManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 132 | a39282db9 |
Remove media timestamps in paid media. | W8-X | defer | - | no | td/telegram/MessageContent.cpp | td/telegram/MessageContent.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 133 | 8f783b8e5 |
Support polls in get_message_content_need_to_upload_covers. | W3-P | defer | BND-W3-POLL | no | td/telegram/MessageContent.cpp | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 134 | 13003156a |
Check that content isn't nullptr everywhere. | W8-X | defer | - | no | td/telegram/MessageContent.cpp | td/telegram/MessageContent.cpp | - | bounded W8 hardening adapted at targeted MessageContent null-guard seams | ASVS-V7 | no | Pass-B reviewed: adapted with explicit non-null guards at high-risk MessageContent entry points; see gating Section 0.3.8.a |
| 135 | 574e087fb |
Support polls in get_message_content_any_file_ids. | W3-P | defer | BND-W3-POLL | no | td/telegram/MessageContent.cpp, td/telegram/MessageContent.h, td/telegram/MessagesManager.cpp | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 136 | ea8bf7ce0 |
Support Polls in get_message_content_thumbnail_file_ids. | W3-P | defer | BND-W3-POLL | no | td/telegram/MessageContent.cpp | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 137 | 513ec03f8 |
Support polls in update_message_content_file_id_remotes. | W3-P | defer | BND-W3-POLL | no | td/telegram/MessageContent.cpp | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 138 | 06cf9ea87 |
Support polls in need_reget_message_content. | W3-P | defer | BND-W3-POLL | no | td/telegram/MessageContent.cpp | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 139 | c6eb7d1da |
Support file reference errors for polls. | W3-P | defer | BND-W3-POLL | no | td/telegram/FileReferenceManager.cpp | td/telegram/FileReferenceManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 140 | c81e6da9f |
Disallow polls with media in quick replies. | W3-P | defer | BND-W3-POLL | no | td/telegram/QuickReplyManager.cpp | td/telegram/QuickReplyManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A row later merged to master via PR #18 as standalone W3-P hardening; keep row/class as historical classification anchor |
| 141 | bf4bfcf8e |
Support upload of multiple media in polls. | W3-P | defer | BND-W3-POLL | no | td/telegram/MessageContent.cpp, td/telegram/MessageContentType.cpp, td/telegram/files/FileManager.cpp | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 142 | 3e78ebcd8 |
Allow to get poll statistics in forwarded messages. | W3-P | defer | BND-W3-POLL | no | td/telegram/MessagesManager.cpp | td/telegram/MessagesManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A row later merged to master via PR #18 as standalone W3-P hardening; keep row/class as historical classification anchor |
| 143 | 3fc0b253d |
Add td_api::topChatCategoryGuestBots. | W4-G | defer | BND-W4-GUEST | yes | td/generate/scheme/td_api.tl, td/telegram/TopDialogCategory.cpp, td/telegram/TopDialogCategory.h, ... | td/telegram/TopDialogCategory.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; see docs/Plans/UPSTREAM_WAVE_4_PREFLIGHT_2026-05-14.md |
| 144 | 9175d061a |
Locally update guest-bot rating. | W4-G | defer | BND-W4-GUEST | no | td/telegram/MessagesManager.cpp | td/telegram/MessagesManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; see docs/Plans/UPSTREAM_WAVE_4_PREFLIGHT_2026-05-14.md |
| 145 | 3fbbd52ff |
Improve naming of userTypeBot.supports_guest_queries. | W4-G | defer | BND-W4-GUEST | yes | td/generate/scheme/td_api.tl | td/generate/scheme/td_api.tl | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; see docs/Plans/UPSTREAM_WAVE_4_PREFLIGHT_2026-05-14.md |
| 146 | 74d35edb6 |
Add authorizationStateWaitPremiumPurchase.premium_day_count. | W8-X | defer | - | yes | td/generate/scheme/td_api.tl, td/telegram/AuthManager.cpp, td/telegram/AuthManager.h | td/telegram/AuthManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 147 | 008fb43c8 |
Support premium_day_count in checkAuthenticationPremiumPurchase and setAuthenticationPremiumPurchaseTransaction. | W8-X | defer | - | yes | td/generate/scheme/td_api.tl, td/telegram/AuthManager.cpp, td/telegram/AuthManager.h, ... | td/telegram/AuthManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 148 | 5a78b40be |
Improve sound_id documentation by @roundedrectangle. | W8-X | defer | - | yes | td/generate/scheme/td_api.tl | td/generate/scheme/td_api.tl | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 149 | 1e05885fb |
Add PollManager::get_poll_media_message_content. | W3-P | defer | BND-W3-POLL | no | td/telegram/PollManager.cpp, td/telegram/PollManager.h | td/telegram/PollManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 150 | b2fd2e468 |
Add inputMessagePoll.media. | W3-P | defer | BND-W3-POLL | yes | td/generate/scheme/td_api.tl, td/telegram/MessageContent.cpp, td/telegram/cli.cpp | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 151 | 8ff835b82 |
Add inputPollTypeQuiz.explanation_media. | W3-P | defer | BND-W3-POLL | yes | td/generate/scheme/td_api.tl, td/telegram/MessageContent.cpp, td/telegram/cli.cpp | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 152 | 410f57214 |
Add inputPollOption.media. | W3-P | defer | BND-W3-POLL | yes | td/generate/scheme/td_api.tl, td/telegram/PollManager.cpp, td/telegram/PollOption.cpp, ... | td/telegram/PollManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 153 | b5c87eb91 |
Add and use the option "poll_country_count_max". | W3-P | defer | BND-W3-POLL | yes | td/generate/scheme/td_api.tl, td/telegram/ConfigManager.cpp, td/telegram/ConfigManager.h, ... | td/telegram/ConfigManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 154 | b495d5326 |
Improve documentation. | W8-X | defer | - | yes | td/generate/scheme/td_api.tl | td/generate/scheme/td_api.tl | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 155 | e7cbde50c |
Allow to limit poll voters only in channel chats. | W3-P | defer | BND-W3-POLL | yes | td/generate/scheme/td_api.tl, td/telegram/MessageContent.cpp | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 156 | 17ac64020 |
Improve dup_poll. | W3-P | defer | BND-W3-POLL | no | td/telegram/PollManager.cpp | td/telegram/PollManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 157 | a4978345f |
Update default option value. | W8-X | defer | - | no | td/telegram/OptionManager.cpp | td/telegram/OptionManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 158 | d51464eb2 |
Improve pollVoteRestrictionReasonMembershipRequired. | W3-P | defer | BND-W3-POLL | yes | td/generate/scheme/td_api.tl, td/telegram/MessageContent.cpp, td/telegram/MessageContent.h, ... | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 159 | c6411b9c9 |
Add pollVoteRestrictionReasonOther. | W3-P | defer | BND-W3-POLL | yes | td/generate/scheme/td_api.tl, td/telegram/MessageContent.cpp, td/telegram/MessageContent.h, ... | td/telegram/MessageContent.cpp | - | bounded W3-B2 restriction-reason hardening adapted; broader bundle still deferred pending charter | - | no | Pass-B reviewed: adapted with pollVoteRestrictionReasonOther mapping for synthetic/non-real poll contexts; see gating Section 0.3.3.a |
| 160 | dc470c164 |
Remove pollVoteRestrictionReasonQuickReply. | W3-P | defer | BND-W3-POLL | yes | td/generate/scheme/td_api.tl, td/telegram/PollManager.cpp | td/telegram/PollManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 161 | d004a6f17 |
Improve get_checklist_object. | W8-X | defer | - | no | td/telegram/MessageContent.cpp, td/telegram/MessagesManager.cpp, td/telegram/ToDoList.cpp, ... | td/telegram/MessageContent.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 162 | 1574780ca |
Improve poll.can_get_voters. | W3-P | defer | BND-W3-POLL | no | td/telegram/PollManager.cpp | td/telegram/PollManager.cpp | - | bounded W3-B2 voter-visibility hardening adapted; broader bundle still deferred pending charter | - | no | Pass-B reviewed: adapted by requiring real-message context in get_poll_object(...) voter visibility gating; see gating Section 0.3.3.a |
| 163 | bcbe2f309 |
Restore replies to yet unsent messages only for forwards. | W2B | defer | - | no | td/telegram/MessagesManager.cpp | td/telegram/MessagesManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 164 | 9b9bae910 |
Minor fixes. | W3-P | defer | BND-W3-POLL | yes | td/generate/scheme/td_api.tl, td/telegram/BusinessConnectionManager.cpp, td/telegram/ConfigManager.cpp, ... | td/telegram/BusinessConnectionManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 165 | 5340472b0 |
Fix possible use after move. | W2-C | deep-review | BND-W2-UAF-AUDIT | no | td/telegram/CommonDialogManager.cpp, td/telegram/DialogManager.cpp, td/telegram/MessagesManager.cpp, ... | td/telegram/CommonDialogManager.cpp | - | candidate for bounded W2 review | - | no | Deep-reviewed and later merged to master via PR #18 as standalone W2-003 lane; keep row/class as historical classification anchor |
| 166 | 64d4cea86 |
Check guest query identifier. | W4-G | defer | BND-W4-GUEST | no | td/telegram/UpdatesManager.cpp | td/telegram/UpdatesManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; see docs/Plans/UPSTREAM_WAVE_4_PREFLIGHT_2026-05-14.md |
| 167 | 126a06ca5 |
Remove sentWebAppMessage. | W8-X | defer | - | yes | td/generate/scheme/td_api.tl, td/telegram/InlineQueriesManager.cpp, td/telegram/InlineQueriesManager.h | td/telegram/InlineQueriesManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 168 | 84d2ea0d8 |
Fix handling of the error "USERNAME_OCCUPIED". | W2B | defer | - | no | td/telegram/DialogManager.cpp | td/telegram/DialogManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 169 | a96365b5f |
Remove special handling in the error "USERNAME_PURCHASE_AVAILABLE". | W2B | defer | - | no | td/telegram/DialogManager.cpp | td/telegram/DialogManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 170 | 386eca6fe |
Fix DialogParticipantStatus::GroupAdministrator. | W2-C | deep-review | BND-W2-ADMIN-RIGHTS | no | td/telegram/DialogParticipant.cpp, td/telegram/DialogParticipant.h | td/telegram/DialogParticipant.cpp | - | candidate for bounded W2 review | ASVS-V11 | no | Deep-reviewed and merged to master via PR #18 as part of the W2 semantic repair lane |
| 171 | 1a9ef3d68 |
Repair group administrator rights on load. | W2-C | deep-review | BND-W2-ADMIN-RIGHTS | no | td/telegram/ChatManager.cpp | td/telegram/ChatManager.cpp | 386eca6fe | candidate for bounded W2 review | ASVS-V11 | no | Deep-reviewed and merged to master via PR #18 as part of the W2 semantic repair lane |
| 172 | 9c62782dc |
Ignore can_manage_topics right in basic groups. | W2B | defer | - | no | td/telegram/DialogParticipant.cpp | td/telegram/DialogParticipant.cpp | - | pending pass-B diff review | ASVS-V11 | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 173 | 53cc1e2c6 |
Improve field name. | W8-X | defer | - | yes | td/generate/scheme/td_api.tl, td/telegram/MessageContent.cpp | td/telegram/MessageContent.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 174 | febbb2647 |
Adjust gift settings for bots. | W8-X | defer | - | no | td/telegram/UserManager.cpp | td/telegram/UserManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 175 | 6399d7472 |
Improve error message. | W8-X | defer | - | no | td/telegram/MessagesManager.cpp | td/telegram/MessagesManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 176 | a8e8399ec |
Fix getPersonalChannelHistory. | W8-X | defer | - | no | td/telegram/MessageQueryManager.cpp | td/telegram/MessageQueryManager.cpp | - | pass-B reviewed; local personal-history request seam does not expose a safe bounded transplant target | - | no | Pass-B reviewed: not adapted in bounded W8 pass because upstream parameter-order fix is dependency-coupled to absent local personal-history plumbing; see gating Section 0.3.8.a |
| 177 | 42ea57f6e |
Add message_id source in MessageInputReplyTo::parse, | W8-X | defer | - | no | td/telegram/MessageInputReplyTo.hpp | td/telegram/MessageInputReplyTo.hpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 178 | fb10043ba |
Improve error message. | W8-X | defer | - | no | td/telegram/MessageInputReplyTo.cpp | td/telegram/MessageInputReplyTo.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 179 | 562bce098 |
Ignore draft replies to yet unsent messages. | W2B | defer | - | no | td/telegram/DraftMessage.hpp | td/telegram/DraftMessage.hpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 180 | e22cc4351 |
Ignore "MESSAGE_NOT_MODIFIED" error when deleting reactions. | W8-X | defer | - | no | td/telegram/MessageQueryManager.cpp | td/telegram/MessageQueryManager.cpp | - | pass-B reviewed; local reaction-delete seam diverges from upstream hunk shape | - | no | Pass-B reviewed: not adapted in bounded W8 pass because local MessageQueryManager path lacks 1:1 mapping for safe transplant; see gating Section 0.3.8.a |
| 181 | 4a92ce7b4 |
Fix poll media documentation. | W3-P | defer | BND-W3-POLL | yes | td/generate/scheme/td_api.tl | td/generate/scheme/td_api.tl | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 182 | aeddf8ca3 |
Fix processing of guest messages. | W2B | defer | - | no | td/telegram/MessagesManager.cpp | td/telegram/MessagesManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 183 | 336504954 |
Don't expect own guest messages to be outgoing. | W2B | defer | - | no | td/telegram/MessagesManager.cpp | td/telegram/MessagesManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 184 | 691cb6a77 |
Support comments for added proxy. | W1-T | defer | - | yes | td/generate/scheme/td_api.tl, td/telegram/Requests.cpp, td/telegram/cli.cpp, ... | td/telegram/net/* | - | proxy comment field lacks documented maximum length; reject for W1-T | ASVS-V5,ASVS-V9 | no | Pass-B reviewed: not a mission-fit transport hardening change; see gating Section 0.3.11 |
| 185 | a09adfc63 |
Fix reply_to_top_id. | W2-C | deep-review | BND-W2-REPLY-TOP | no | td/telegram/MessageReplyHeader.cpp | td/telegram/MessageReplyHeader.cpp | - | candidate for bounded W2 review | - | no | Deep-reviewed and merged to master via PR #18 as part of the W2 semantic repair lane |
| 186 | 02473d316 |
Improve pollVoteRestrictionReasonMembershipRequired. | W3-P | defer | BND-W3-POLL | no | td/telegram/MessageContent.cpp, td/telegram/MessageContent.h, td/telegram/MessagesManager.cpp, ... | td/telegram/MessageContent.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 187 | aaea672ae |
Allow to see results in limited by membershop polls. | W3-P | defer | BND-W3-POLL | no | td/telegram/PollManager.cpp, td/telegram/PollManager.h | td/telegram/PollManager.cpp | - | schema/product bundle; policy-widening visibility change not adapted in pass-B | - | no | Pass-B reviewed: not adapted; policy widening for membership-limited polls rejected in fail-closed hardening pass; see gating Section 0.3.3.a |
| 188 | 293990c9a |
tg_cli: do not try to restrict polls in non-channels. | W3-P | defer | BND-W3-POLL | no | td/telegram/cli.cpp | td/telegram/cli.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 189 | 66cf68106 |
tg_cli: do not try to send anonymous polls with open answers. | W3-P | defer | BND-W3-POLL | no | td/telegram/cli.cpp | td/telegram/cli.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 190 | f07370787 |
Remove unused variable. | W8-X | defer | - | no | td/telegram/BusinessConnectionManager.cpp | td/telegram/BusinessConnectionManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 191 | 3f4d13a3c |
Remove redundant std::move. | W8-X | defer | - | no | td/telegram/MessageContent.cpp | td/telegram/MessageContent.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 192 | def0fb1e5 |
Remove unused variables. | W3-P | defer | BND-W3-POLL | no | td/telegram/PollManager.cpp | td/telegram/PollManager.cpp | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 193 | 80c12d847 |
Fix ReactionUnavailabilityReason::Restricted. | W8-X | defer | - | no | td/telegram/MessagesManager.cpp | td/telegram/MessagesManager.cpp | - | pass-B reviewed; depends on reaction-unavailability schema/runtime prerequisites absent in local baseline | - | no | Pass-B reviewed: not adapted in bounded W8 pass until reactionUnavailabilityReasonRestricted API plumbing is accepted as a prerequisite lane; see gating Section 0.3.8.a |
| 194 | 3678c2d42 |
Improve removeTextCompositionStyle documentation. | W5-AI | defer | BND-W5-AI | yes | td/generate/scheme/td_api.tl | td/generate/scheme/td_api.tl | - | schema/product bundle; defer pending charter | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 195 | a26ccb8c5 |
Fix handling of updateAiComposeTones. | W8-X | defer | - | no | td/telegram/UpdatesManager.cpp | td/telegram/UpdatesManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 196 | bfd4975c0 |
Fix typo. | W8-X | defer | - | yes | td/generate/scheme/td_api.tl | td/generate/scheme/td_api.tl | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 197 | ed87ce103 |
docs: add react-native-tdlib to JavaScript wrappers section | W7-D | defer | BND-W7-TOOLING | no | example/README.md | example/README.md | - | bounded docs adaptation applied in pass-B | - | no | Pass-B adaptation landed: add react-native-tdlib wrapper entry and wrapper security note; see gating Section 0.3.10 |
| 198 | 7f163d850 |
Update version to 1.8.64. | W8-X | defer | - | no | CMakeLists.txt, README.md, example/cpp/CMakeLists.txt, ... | td/telegram/OptionManager.cpp | - | pending pass-B diff review | - | no | Pass-A path+subject; full diff pending unless deep-reviewed |
| 199 | 49b3bcbb6 |
Fix compilation error. | W1-T | defer | - | no | td/telegram/AiComposeToneExample.hpp | td/telegram/AiComposeToneExample.hpp | - | cross-wave W5-AI compile-fix no-op for local owners | - | yes | Pass-B reviewed: no standalone W1-T value; already accounted in gating Sections 0.3.6 and 0.3.11 |
This section records pass-B outcomes for the bounded Wave 5 slice while preserving pass-A row classes above.
Valuable and adapted:
990b821c8(Add td_api::internalLinkTypeTextCompositionStyle.)
- Decision: valuable.
- Local adaptation summary: keep typed
addstylelink surface and enforce one shared slug contract by delegating LinkManager slug validation toTranslationManager::is_valid_text_composition_style_slug(...). - Evidence anchor:
docs/Plans/UPSTREAM_BACKPORT_GATING_PLAN_2026-05-08.mdSection0.3.6and RED->GREEN contract coverage intest/text_composition_style_name_integration.cpp.
c96e67c38+58d72a0e8+a26ccb8c5(updateAiComposeToneslifecycle)
- Decision: valuable as inseparable triple.
- Local adaptation summary: preserve bot guard, reload trigger, and guaranteed promise completion semantics.
- Evidence anchor:
docs/Plans/UPSTREAM_BACKPORT_GATING_PLAN_2026-05-08.mdSection0.3.6,test/text_composition_update_promise_*.cpp, andtest/text_composition_updates_manager_*.cpp.
Assessed and not adapted in this pass:
3678c2d42(Improve removeTextCompositionStyle documentation.)
- Decision: not valuable.
- Reason: documentation-only; no executable boundary change.
49b3bcbb6(Fix compilation error.)
- Decision: not valuable for current repository state.
- Reason: touches only
AiComposeToneExample.hpp, whileAiComposeToneExample.*owners are absent locally.
- Remaining owner/schema expansion rows (
d72be7609,176915344,a05aeeb9c,b77099227,fc903aab3,3ba1e630b,23971a844,327531a54,ee93de50b,8a7d707ee,27b1ee8cd,f5b5a6e11,64972181c,86d375553,3e10a17e6,6113d3822,36e726f93)
- Decision: defer.
- Reason: product/schema bundle remains gated by the approved Wave 5 preflight sequence.
This section records pass-B outcomes for the managed-bot access slice while preserving pass-A row classes above.
Valuable and adapted in this pass (bounded managed-bot hardening slice):
3819fded5(Rename td_api::getBotToken to getManagedBotToken.)
- Decision: valuable with local compatibility-preserving adaptation.
- Local adaptation summary: add
getManagedBotTokenendpoint and request handler while retaining legacygetBotToken; both routes delegate to one guardedBotInfoManager::get_bot_token(...)path. - Local hardening update (2026-05-20): both
Requestshandlers now route through onedispatch_get_managed_bot_token(...)helper so legacy and managed endpoints cannot drift apart. - Additional hardening update (2026-05-20, pass-C): explicit bot-session fail-closed guards now
exist in both
dispatch_get_managed_bot_token(...)andBotInfoManager::get_bot_token(...)(Only bots can use the method) to prevent future helper reuse from non-bot call paths. - Hardening summary: token export now fail-closes for non-owned bots (
Bot must be owned) before any export RPC; non-bot invocations fail closed at both request and manager boundaries; CLI exposesgmbt/gmbtrwithout removinggbt/gbtr; request-path equivalence is pinned by contract/adversarial/integration/light-fuzz/stress tests. - Evidence anchor:
docs/Plans/UPSTREAM_BACKPORT_GATING_PLAN_2026-05-08.mdSection0.3.9andtest/managed_bot_token_access_*.cpp.
19292458f(Add td_api::botAccessSettings.)
- Decision: valuable with bounded local-equivalent adaptation.
- Local adaptation summary: repository-resident
BotAccessSettingsconversion and validation seams are present and wired through managed-bot request/manager boundaries. - Evidence anchor:
docs/Plans/UPSTREAM_BACKPORT_GATING_PLAN_2026-05-08.mdSection0.3.9andtest/managed_bot_access_settings_*.cpp.
b6aa479a9(Add td_api::getManagedBotAccessSettings.)
- Decision: valuable with bounded local-equivalent adaptation.
- Local adaptation summary:
Requests::on_request(getManagedBotAccessSettings)routes throughBotInfoManager::get_bot_access_settings(...)guarded bydispatch_managed_bot_access_settings_read(...)fail-closed checks. - Evidence anchor:
docs/Plans/UPSTREAM_BACKPORT_GATING_PLAN_2026-05-08.mdSection0.3.9.
83506493e(Add td_api::setManagedBotAccessSettings.)
- Decision: valuable with bounded local-equivalent adaptation.
- Local adaptation summary:
Requests::on_request(setManagedBotAccessSettings)routes throughBotInfoManager::set_bot_access_settings(...)guarded bydispatch_managed_bot_access_settings_write(...)fail-closed checks. - Evidence anchor:
docs/Plans/UPSTREAM_BACKPORT_GATING_PLAN_2026-05-08.mdSection0.3.9and focused runtime harness passes recorded in Section0.3.13.