es
Feedback
Telegram github commits and releases

Telegram github commits and releases

Ir al canal en Telegram

Broadcast from the most important Telegram clients' repositories

Mostrar más
4 545
Suscriptores
+924 horas
-257 días
-12630 días
Archivo de publicaciones
morethanwords/tweb/masteref41b29183 files, +7649/-4673 Migrate legacy rows to Solid RowTsx #webk

telegramdesktop/tdesktop/public-canary74503d91 files, +26/-10 Extracted shared video encoder setup from H264 encoder. telegramdesktop/tdesktop/public-canarycb897b22 files, +7/-3 Added VP9 encoder and webm muxer to ffmpeg build configs. telegramdesktop/tdesktop/public-canary46be7b32 files, +150/-20 Added webm sticker output mode to video encoder. telegramdesktop/tdesktop/public-canary181a39f7 files, +332/-69 Added adapting video stickers into custom emoji. Related commit: 9895e5bb89. #tdesktop

telegramdesktop/tdesktop/public-canary4f6a48f3 files, +19/-21 Hide Layer Info before its sublist is erased Task: 2026/08/21/resubscribe-info-wrap-teardown-on-replaced-sublist telegramdesktop/tdesktop/public-canary1aaeee42 files, +15/-18 Preserve teardown stream across Info wrap removal Task: 2026/08/21/resubscribe-info-wrap-teardown-on-replaced-sublist telegramdesktop/tdesktop/public-canary055522e1 files, +0/-1 Remove stale Info teardown implementation note Task: 2026/08/21/resubscribe-info-wrap-teardown-on-replaced-sublist telegramdesktop/tdesktop/public-canarydea7ba51 files, +3/-2 Keep saved sublists alive through item teardown Task: 2026/08/21/finish-info-wrap-sublist-teardown-past-item-destroy telegramdesktop/tdesktop/public-canary28d924b4 files, +39/-20 Align sublist media counts, windows and titles Task: 2026/08/21/align-sublist-media-count-window-and-title telegramdesktop/tdesktop/public-canary5f1bf031 files, +7/-5 Show the new window tooltip only on entries that have one Task: 2026/08/23/verify-saved-sublist-media-surfaces-and-gate-tooltip telegramdesktop/tdesktop/public-canary0cb4b754 files, +90/-67 Unify sublist media window ids and persisted titles Task: 2026/08/23/unify-sublist-separate-id-and-window-naming-rulings telegramdesktop/tdesktop/public-canary7f9844b1 files, +2/-2 Limit media topic context to forum chats telegramdesktop/tdesktop/public-canary1a70cff1 files, +1/-1 Removed stale comment about swscale destination format caching. telegramdesktop/tdesktop/public-canary963f8bb1 files, +5/-0 Restricted transcode temp directory permissions to user. Related commit: 0807483acc. telegramdesktop/tdesktop/public-canarydae8e522 files, +26/-6 Extracted video editor layer showing to shared helper. #tdesktop

telegramdesktop/tdesktop/public-canary2c095b04 files, +35/-0 Request pinned messages when a pin is not loaded Task: 2026/08/20/reach-unloaded-pin-on-complete-pinned-slice telegramdesktop/tdesktop/public-canary7fc04c36 files, +21/-10 Open a saved sublist's own shared media page Task: 2026/08/20/open-saved-sublist-own-info-media-page telegramdesktop/tdesktop/public-canary3188a109 files, +63/-43 Align sublist media count, query and window keys Task: 2026/08/21/align-sublist-media-count-query-and-window-keys telegramdesktop/tdesktop/public-canary0fb9de24 files, +55/-3 Keep Info pages on their topic or sublist Task: 2026/08/21/preserve-info-thread-identity-and-lifetime telegramdesktop/tdesktop/public-canarydfa728f1 files, +12/-10 Tear down Info after a sublist is destroyed Task: 2026/08/21/preserve-info-thread-identity-and-lifetime telegramdesktop/tdesktop/public-canary5af73231 files, +14/-12 Clear Info immediately when its sublist dies Task: 2026/08/21/preserve-info-thread-identity-and-lifetime telegramdesktop/tdesktop/public-canary48fc35a1 files, +9/-13 Always drop an Info wrap when its sublist dies Task: 2026/08/21/preserve-info-thread-identity-and-lifetime telegramdesktop/tdesktop/public-canary7c87f536 files, +90/-34 Reach unloaded pins on thread keys and updates Task: 2026/08/21/reach-unloaded-pins-across-thread-and-update-paths telegramdesktop/tdesktop/public-canary8ca5c103 files, +11/-4 Rebind Info wrap teardown when a sublist is replaced Task: 2026/08/21/resubscribe-info-wrap-teardown-on-replaced-sublist telegramdesktop/tdesktop/public-canary2f3b1b22 files, +14/-10 Tear down Layer Info instantly when its sublist dies Task: 2026/08/21/resubscribe-info-wrap-teardown-on-replaced-sublist telegramdesktop/tdesktop/public-canary298f4c82 files, +17/-14 Queue Info wrap teardown off sublist destroyed() Task: 2026/08/21/resubscribe-info-wrap-teardown-on-replaced-sublist #tdesktop

telegramdesktop/tdesktop/public-canary411085f2 files, +52/-1 Write the pinned thread index only in forum peers Task: 2026/08/20/stop-orphaning-general-id-shared-media-lists telegramdesktop/tdesktop/public-canary4023d1a2 files, +5/-2 Give a saved sublist its own pinned message list Task: 2026/08/19/make-saved-sublist-pinned-bar-read-one-list telegramdesktop/tdesktop/public-canary3ec95b81 files, +6/-0 Retire shared media of a deleted topic with no object Task: 2026/08/20/retire-forum-media-lists-without-topic-objects telegramdesktop/tdesktop/public-canary30876f25 files, +31/-0 Retire all topic shared media when a forum is destroyed Task: 2026/08/20/retire-stranded-forum-media-keys-on-forum-teardown telegramdesktop/tdesktop/public-canary2b9fb291 files, +6/-4 Guard the live-topic media unload against a zero root Task: 2026/08/20/guard-live-topic-unload-against-zero-root telegramdesktop/tdesktop/public-canarye3891161 files, +6/-4 Guard the forum teardown media unload against a zero root Task: 2026/08/20/guard-forum-teardown-unload-against-zero-root telegramdesktop/tdesktop/public-canary8cde4e42 files, +4/-4 Resolve the self peer sublist in the shared resolver Task: 2026/08/20/resolve-self-peer-sublist-in-shared-resolver telegramdesktop/tdesktop/public-canary5dada732 files, +0/-2 Drop the write-only monoforum id from top controls Task: 2026/08/20/retire-write-only-top-controls-monoforum-peer-id telegramdesktop/tdesktop/public-canaryfee73061 files, +1/-1 Read the inbox when a sublist has no parent chat Task: 2026/08/20/restore-read-inbox-on-parentless-sublist-send telegramdesktop/tdesktop/public-canaryf5b5f841 files, +2/-8 Use the shared sublist resolver in the player panel Task: 2026/08/20/collapse-player-panel-sublist-onto-shared-resolver #tdesktop

telegramdesktop/tdesktop/public-canarye4a8e0b1 files, +10/-1 Fallback to v1 update unpacking. telegramdesktop/tdesktop/public-canary3a105533 files, +26/-7 [ai] Refuse implausible test watchdog values Task: 2026/08/23/refuse-implausible-test-watchdog-values telegramdesktop/tdesktop/public-canaryb441b833 files, +0/-0 Delete unused account_check icon rasters Task: 2026/08/18/delete-orphaned-account-check-icon telegramdesktop/tdesktop/public-canary329910a2 files, +11/-2 Correct shared media index writes and viewer counts Task: 2026/08/18/repair-shared-media-index-and-count-bookkeeping telegramdesktop/tdesktop/public-canaryef9be271 files, +16/-3 Re-index a sent message only when its thread moves Task: 2026/08/18/repair-shared-media-index-and-count-bookkeeping telegramdesktop/tdesktop/public-canary99ad2712 files, +60/-6 Derive the pinned bar's topic root from the thread Task: 2026/08/19/align-replies-thread-shared-media-attribution telegramdesktop/tdesktop/public-canary206edab2 files, +1/-1 Pair the uploaded media edit's shared media removal Task: 2026/08/19/pair-media-edit-removal-with-index-add telegramdesktop/tdesktop/public-canary4f10eb61 files, +20/-5 Drop a sent message from the shared media lists it left Task: 2026/08/19/match-sent-message-removal-to-written-mask telegramdesktop/tdesktop/public-canaryf1e7b581 files, +3/-3 Don't keep a media reference across rich page changes Task: 2026/08/19/refetch-saved-media-after-rich-page-changes telegramdesktop/tdesktop/public-canary0b9f3f95 files, +30/-13 Don't lower shared media counts for unindexed messages Task: 2026/08/20/stop-unmatched-removal-lowering-shared-media-counts telegramdesktop/tdesktop/public-canarye4dc19f7 files, +40/-56 Tie stored pinned index writes to the pinned flag Task: 2026/08/19/unify-pinned-index-writers #tdesktop

telegramdesktop/tdesktop/public-canary86649fa4 files, +32/-14 Improve version display for canary. telegramdesktop/tdesktop/public-canaryd53ae211 files, +141/-40 Split macOS canary build into per-arch jobs. telegramdesktop/tdesktop/public-canary1f347047 files, +198/-3 Add an in-title CANARY/PRIVATE marking. telegramdesktop/tdesktop/public-canary083f5df6 files, +42/-24 Rename canary branches. telegramdesktop/tdesktop/public-canary588628f1 files, +3/-0 Fixed per-arch build picking universal crashpad handler. telegramdesktop/tdesktop/public-canarya8938701 files, +11/-4 Keep TelegramForcePortable in portable archives. telegramdesktop/tdesktop/public-canary45de1831 files, +11/-11 Allow CANARY_ALLOW_UNSIGNED in public lane too. telegramdesktop/tdesktop/public-canary48e55561 files, +38/-3 Try workaround clone problems. telegramdesktop/tdesktop/public-canaryb5896f21 files, +25/-19 Fix build with GCC. telegramdesktop/tdesktop/public-canary4ddbb382 files, +36/-19 Fix public publishing. telegramdesktop/tdesktop/public-canary145ddf71 files, +6/-6 Keep canary artifacts for seven days telegramdesktop/tdesktop/public-canaryb0dc6e11 files, +29/-1 Fixed missing ATL breaking breakpad build in canary Windows job. telegramdesktop/tdesktop/public-canaryccfadeb1 files, +50/-20 Install ATL for the pinned Windows toolset #tdesktop

telegramdesktop/tdesktop/public-canary18006031 files, +70/-28 Publish portable archives as canary first installs telegramdesktop/tdesktop/public-canary430ae6d1 files, +5/-4 Drop the bundled d3d compiler from canary builds telegramdesktop/tdesktop/public-canarye240f443 files, +41/-4 Embed external and local signatures in one packer pass telegramdesktop/tdesktop/public-canaryb7cc9752 files, +82/-3 Add a v2 update switch to the release build scripts telegramdesktop/tdesktop/public-canary64256c51 files, +29/-1 Read the pinned metadata through the local Bot API telegramdesktop/tdesktop/public-canary98a224c3 files, +25/-1 Support v2 updates in the updater and deploy scripts telegramdesktop/tdesktop/public-canary183a2c623 files, +872/-216 Harden canary builds running. telegramdesktop/tdesktop/public-canarye3802ea4 files, +20/-10 Fix build for Release. telegramdesktop/tdesktop/public-canaryedb6eea2 files, +68/-21 Try to fix signing. telegramdesktop/tdesktop/public-canary5e2e4e01 files, +77/-5 Improve caching. telegramdesktop/tdesktop/public-canary9a8e58b1 files, +17/-5 Try to fix signing again. telegramdesktop/tdesktop/public-canary6ed644210 files, +598/-311 New names, separate publishing. telegramdesktop/tdesktop/public-canary27a87777 files, +255/-6 Fix translocated launch on macOS. #tdesktop

telegramdesktop/tdesktop/public-canaryccfb5b32 files, +21/-1 Give up clearing a history after enough failed retries. Re-requesting the dialog entry until the last message is known has no bound, so an entry that keeps coming back unknown - offline, or a flood wait - spun requests forever and the clear never finished. telegramdesktop/tdesktop/public-canary367052b4 files, +7/-0 Add public keys for canary channel. telegramdesktop/tdesktop/public-canary570c4789 files, +1279/-0 Add v2 update verification core and build channels telegramdesktop/tdesktop/public-canaryebc783a3 files, +672/-0 Support v2 channel packing in the Packer telegramdesktop/tdesktop/public-canary72a32c47 files, +662/-141 Verify, fetch and install v2 updates in the client telegramdesktop/tdesktop/public-canary1c3da592 files, +9/-1 Show canary version and skip changelogs on canary telegramdesktop/tdesktop/public-canary8823c562 files, +821/-0 Add focused tests for v2 update verification telegramdesktop/tdesktop/public-canary86bf3a81 files, +862/-0 Add canary build and publish workflow telegramdesktop/tdesktop/public-canaryaf2d7d91 files, +186/-163 Build one canary lane per repository in CI telegramdesktop/tdesktop/public-canary2ee95493 files, +31/-13 Use readable v2 update file names telegramdesktop/tdesktop/public-canary2363f184 files, +117/-8 Use new update names and pinned Bot API image in CI telegramdesktop/tdesktop/public-canary81bb9f43 files, +108/-62 Ship per-arch mac updates with a universal installer #tdesktop

telegramdesktop/tdesktop/public-canaryf1f07db1 files, +1/-1 Guard the other popup menu show paths as well. telegramdesktop/tdesktop/public-canaryb3e85dc2 files, +41/-2 Fixed resetting icons that outlived their owner. ChatStyle::value() hands its result to the caller, so the icons it makes are not ours to keep in _ownedIcons: the lifetime overload's icons die with the caller - a section's corner buttons, for instance, while the session style lives on - and the by-value overload's live in a local. A later palette change then reset through freed pointers. Track only what the lifetime overload creates, and drop it again when that lifetime ends. telegramdesktop/tdesktop/public-canary4f3da4d1 files, +7/-0 Fixed stale last message after a service edition. createServiceFromMtp() rebuilds the data topicRootId() reads, so a service edition can move the item to another topic - and the old one was left holding a raw pointer History::itemRemoved() would never tell it about. The sublist beside it was already handled this way. telegramdesktop/tdesktop/public-canary7e4e39d1 files, +5/-3 Don't hide a download another entry still owns. detach() reported the item removed even when another downloaded entry still held it, so the downloads list dropped a row that was still backed by a file until the view was rebuilt. telegramdesktop/tdesktop/public-canary98807cc1 files, +1/-1 Don't call through a null WinRT stream reference factory. telegramdesktop/tdesktop/public-canary2ad89e62 files, +2/-2 Update Qt patches, narrower guard and a wider cocoa one. telegramdesktop/tdesktop/public-canaryeda64ab1 files, +38/-13 Fixed huge allocation cropping a panorama thumbnail. Expanding to the box before cropping avoids deep copying a 12000x9000 photo, but it blows up the other way on an extreme aspect ratio: a 2560x26 panorama expands to about 35000x360, where cropping first cost almost nothing. Both orders scale by the same factor, so take whichever intermediate is smaller. telegramdesktop/tdesktop/public-canary9f47cda1 files, +4/-1 Fixed one more crash when the last monitor is removed. #tdesktop

telegramdesktop/tdesktop/public-canary499b1bb2 files, +30/-6 Fixed stack overflow typing a date with an IME. Same cycle the phone field fix closed: putNext() ends in setFocus(), and on Windows a focus change with an open IME composition makes QWindowsInputContext::reset() re-send the commit to the field we came from, whose correctValue() fires putNext() again. Focus the next field asynchronously, the way Ui::TimeInput already breaks this exact loop - a re-entrancy flag would instead swallow a chained overflow digit, since correctValue() can hand one straight on to the field after next. telegramdesktop/tdesktop/public-canarye1b410e1 files, +6/-0 Fixed crash painting an info layer with no content. parentResized() can move the content out into a MoveMemento and only queue hideSpecialLayer(), and LayerStackWidget renders the layer synchronously through Ui::Shadow::grab() during transitions, so paintEvent could run in the same window showFinished() was guarded for. telegramdesktop/tdesktop/public-canaryf827ef81 files, +7/-1 Fixed crash in the media viewer with no monitors left. telegramdesktop/tdesktop/public-canaryf0125561 files, +11/-3 Fixed huge allocation blurring a video preview. The frame was blurred at full resolution and only then scaled down to the preview width, which both allocates by the source pixel count and washes the blur out in proportion to how much is scaled away - a 4K video got a noticeably sharper preview than a small one. telegramdesktop/tdesktop/public-canary1a5921f1 files, +7/-1 Don't leak a background subscription per font family tap. telegramdesktop/tdesktop/public-canary07d30961 files, +1/-1 Don't abort on E_OUTOFMEMORY building media controls. telegramdesktop/tdesktop/public-canary7d5492e1 files, +45/-26 Fixed acting on the wrong sticker in a mixed set. Hit testing yields an index into _elements, which skips the premium stickers an account that cannot get premium must not see, while preview, sending, the context menu, deletion and reordering all looked that index up in _pack - which keeps them. With one skipped sticker before a visible one, clicking a sticker sent a different one. Everything driven by a visible position now reads _elements, and the reorder translates both positions through the documents so the full pack and the server still get the position in the whole set. telegramdesktop/tdesktop/public-canary7caa13c1 files, +1/-1 Fixed reentrancy destroying the last menu separator. #tdesktop

telegramdesktop/tdesktop/public-canary12682e61 files, +4/-2 [ai] Reconcile only the groups the run selected telegramdesktop/tdesktop/public-canary51ac1a61 files, +7/-2 Fixed abort scheduling TTL with a wrong system clock. The interval was computed from two int32 timestamps, so a wrapped or stale unixtime::now() - which is what the OS correcting a badly wrong clock produces - overflowed it negative, and base::Timer aborts on that. telegramdesktop/tdesktop/public-canaryfa863632 files, +59/-28 Fixed stale last message after a topic switch. The reply fields decide topicRootId(), so setReplyFields() can move an item to another topic. History::itemRemoved() later notifies only the current topic(), leaving the old one holding a raw pointer to an item it would never hear about again. Also stop publishing item data changes from inside createComponents(): notifying about an item that new HistoryItem() has not finished building lets a listener re-enter and reach it half-constructed. telegramdesktop/tdesktop/public-canary61be1b51 files, +1/-1 Fixed crash showing a popup menu destroyed inside show(). telegramdesktop/tdesktop/public-canary5efbf503 files, +15/-2 Reset palette icon copies through their own palette. telegramdesktop/tdesktop/public-canaryd0b86c62 files, +2/-2 Update Qt patches to guard windows destroyed mid-event. telegramdesktop/tdesktop/public-canary9959fd71 files, +14/-3 Fixed assertion editing a deleted proxy into a duplicate. replaceItemWith() removed the edited row from the settings list without restoring it first, so doing that to a row already marked deleted - which is not in that list at all - failed the Assert. Its sibling replaceItemValue() has restored first all along. _list is also a vector, so erasing the edited item shifts everything after it and left the iterator for the duplicate naming a different item - or one past the end when the duplicate was last. Read its id and deleted flag before the erase; everything after it works by id anyway. #tdesktop

telegramdesktop/tdesktop/public-canaryb0d99302 files, +35/-0 Fixed use-after-free of Iv block media on item death. telegramdesktop/tdesktop/public-canary0809aac1 files, +1/-1 Don't keep the gzip scratch buffer in the result. telegramdesktop/tdesktop/public-canary36ab8e92 files, +2/-2 Update Qt patches to fix a crash on screen removal. telegramdesktop/tdesktop/public-canary135d9cd1 files, +1/-1 Fixed spoiler overlay bound to a replaced text context. telegramdesktop/tdesktop/public-canaryac7da711 files, +1/-1 Fixed reentrancy destroying a removed menu item. telegramdesktop/tdesktop/public-canary4bdb2501 files, +1/-1 Fixed use-after-free of shared Lottie provider metadata. telegramdesktop/tdesktop/public-canary1d76c8f1 files, +20/-21 Fixed huge allocation cropping shared media photos. CropMediaFrame() cut the frame out at the source resolution before scaling, deep copying the whole cut region - a few hundred megabytes for a 12000x9000 photo in a square cell. Expanding to the box applies the same scale factor, so the visible pixels are unchanged. telegramdesktop/tdesktop/public-canaryf1f29331 files, +31/-13 Fixed deleting all downloads of one message. deleteFiles() is addressed by item, but removed only the first matching download and then fired loadedRemoved anyway, so the rest kept their files while the row was already hidden. changed() likewise re-checked only the first entry. telegramdesktop/tdesktop/public-canary3390cf92 files, +13/-11 Fixed editing an album thumb after moving the cursor away. The edit and delete callbacks resolved their target from the cursor position at the moment they ran, but editing is delayed by the ripple hide duration and keyboard activation has no cursor over the thumb at all. Bind the thumbnail that owns the button - by pointer, since takeOrder() permutes _thumbs in place - and translate it through the current order. telegramdesktop/tdesktop/public-canary4f38a102 files, +18/-8 Fixed two more crashes when the last monitor is removed. #tdesktop

telegramdesktop/tdesktop/public-canaryce094ed1 files, +5/-2 Fixed assertion clearing a history twice at once. telegramdesktop/tdesktop/public-canary556dd3a1 files, +10/-2 Fixed crash editing an album thumb with no cursor one. telegramdesktop/tdesktop/public-canary3c0a78c1 files, +9/-1 Fixed stack overflow relayouting the drag areas. telegramdesktop/tdesktop/public-canary5be5a471 files, +6/-2 Fixed crash choosing a group call reaction. telegramdesktop/tdesktop/public-canary6e3fb882 files, +24/-5 Fixed use-after-free in the recent chats switcher. telegramdesktop/tdesktop/public-canarybfdeec91 files, +1/-1 Don't abort on E_OUTOFMEMORY from a WinRT server. telegramdesktop/tdesktop/public-canary68a25442 files, +14/-0 Fixed stack overflow typing a phone with an IME. telegramdesktop/tdesktop/public-canary39428b41 files, +23/-6 Fixed crash when the last monitor is removed. telegramdesktop/tdesktop/public-canary52858161 files, +8/-1 Fixed use-after-free of the font preview theme. telegramdesktop/tdesktop/public-canaryb47690e1 files, +8/-0 Fixed crash closing the location picker webview. telegramdesktop/tdesktop/public-canary3afebb71 files, +7/-2 Fixed archive assertion on an unknown unread state. telegramdesktop/tdesktop/public-canary786289e3 files, +33/-21 Reclaim the right button ripple callback per press. The ripple outlives the row it was created for: it is owned per peer by _rightButtons, so a callback baked in on the first press kept repainting a Row that was long gone. Keep the callback in the button and refresh it on every press, holding the row through a weak pointer - which is why has_weak_ptr moves down to BasicRow, where nearly every subclass already had it. #tdesktop

telegramdesktop/tdesktop/public-canary3ad1b6c1 files, +19/-6 Fixed crashes reordering stickers in a set. A press without a following move leaves lastSelected == -1, always so for mask sets, and reordering to -1 rotated past _elements.begin(). _pack also keeps every sticker while _elements skips premium ones when the account cannot buy premium, so _pack is the longer list - but hit testing bounded itself by _pack, the shift animation map was keyed over _pack, and the paint loop reached _elements[index] through those keys before its own bounds check. Index everything by _elements, which is what is actually painted. telegramdesktop/tdesktop/public-canarye7d87b81 files, +9/-1 Fixed crash pasting a huge image from the clipboard. telegramdesktop/tdesktop/public-canary44462222 files, +22/-9 Fixed use-after-free with several downloads per message. telegramdesktop/tdesktop/public-canary14861f33 files, +24/-0 Fixed account deleted from inside its own teardown. telegramdesktop/tdesktop/public-canary2a078921 files, +1/-1 Fixed divide by zero on a raced Lottie frame rate. telegramdesktop/tdesktop/public-canaryb7bc2011 files, +4/-1 Fixed crash on a sensitive album of documents. telegramdesktop/tdesktop/public-canary19239dc1 files, +14/-4 Fixed crash opening a url auth box already closed. show() can hand back an already empty pointer, and subscribing to boxClosing() through it dereferenced null. That event has also already passed by then, so the decline request has to be sent right away instead. telegramdesktop/tdesktop/public-canaryaba8ea01 files, +10/-1 Fixed stale last message after a sublist switch. telegramdesktop/tdesktop/public-canary099b0812 files, +41/-12 Fixed use-after-free in the text appearing animation. telegramdesktop/tdesktop/public-canary4a9c4e51 files, +19/-1 Fixed use-after-free in the filtered chats ripple. #tdesktop

telegramdesktop/tdesktop/public-canaryae997612 files, +15/-1 Fixed handling a 2FA password removed from another session. The intro step reported a permanent "Server Error" for both a removed password and an unsupported algorithm; mtp.unknownAlgorithm separates them, and a removal is what PASSWORD_EMPTY already reports, so go back. CloudPassword::check() also missed the !hasPassword guard its own set() and setEmail() have, and ComputeCloudPasswordHash() aborts on the null algorithm variant. telegramdesktop/tdesktop/public-canarye97d6dc1 files, +7/-0 Fixed crash destroying history widget on logout. telegramdesktop/tdesktop/public-canary822b2cd2 files, +7/-1 Fixed crash using info media list after controller. telegramdesktop/tdesktop/public-canary6866b461 files, +25/-10 Fixed use-after-free of the pinned bar custom button. When the pinned id changes the producer drops the subscription watching the pushed item for Destroyed, so the consumer must not be left holding that pointer with nobody to clear it. Resolve the new item first and emit nullptr only when nothing replaced the pushed one, so an already loaded item does not make the bar crossfade a default button in and back out. telegramdesktop/tdesktop/public-canary00d03051 files, +1/-1 Fixed reentrancy destroying menu item widgets. telegramdesktop/tdesktop/public-canaryed78e2c1 files, +8/-3 Fixed abort on failed video frame allocation. telegramdesktop/tdesktop/public-canary1f1ad7b1 files, +6/-3 Fixed out of bounds read tracking the pinned bar. telegramdesktop/tdesktop/public-canaryff90c7c1 files, +4/-1 Fixed collectible emoji stars on backwards time. telegramdesktop/tdesktop/public-canary7e4aa9c1 files, +3/-1 Fixed crash on double skip of the recovery email. telegramdesktop/tdesktop/public-canary98f5ab41 files, +6/-0 Fixed crash finishing info layer show after resize. #tdesktop

telegramdesktop/tdesktop/public-canary9d4d03a1 files, +16/-12 Added closing of restore windows offer when chat is opened. Related commit: 3284a5a399. telegramdesktop/tdesktop/public-canary382a7133 files, +9/-3 Moved plain text paste check to message field module. telegramdesktop/tdesktop/public-canarye3dd1f71 files, +3/-1 Fixed rich paste offer on explicit plain text paste. telegramdesktop/tdesktop/public-canary049456b1 files, +17/-0 [ai] Reconcile wave verdicts against the ledger telegramdesktop/tdesktop/public-canary6ea5a9b1 files, +27/-9 [ai] Require no perf cost for auto-committed crash fixes telegramdesktop/tdesktop/public-canary4cda4571 files, +3/-0 Fixed crash on deleting already deleted proxies. telegramdesktop/tdesktop/public-canaryde107851 files, +17/-5 Fixed use-after-free on global media slice update. telegramdesktop/tdesktop/public-canary70c994e1 files, +16/-2 Fixed huge allocation blurring shared media photos. telegramdesktop/tdesktop/public-canaryb9c6dfa1 files, +1/-1 Fixed pure virtual call in accessible interfaces. telegramdesktop/tdesktop/public-canary061e0741 files, +7/-3 Fixed use-after-free of the account before intro. telegramdesktop/tdesktop/public-canary7e1c09e1 files, +6/-1 Fixed crash on gifting Stars without a callback. telegramdesktop/tdesktop/public-canary4cf1edd2 files, +6/-2 Fixed use-after-free in the group call bar content. telegramdesktop/tdesktop/public-canaryc2169c61 files, +10/-4 Fixed crash saving a photo with no loaded image. #tdesktop

morethanwords/tweb/mastere5ad6614 files, +134/-7 Restore sticker fade-in without delaying settled dice #webk

UnigramDev/Unigram/chatview-background-xamlroot2cd5e6f2 files, +12/-5 Don't let XamlRoot.Content take down the chat background lookup #unigram

tdlib/telegram-bot-api/mastere3e9dd81 files, +1/-1 Fix RichBlockDocument. #botapi