Telegram github commits and releases
4.46K subscribers
601 files
20.9K links
Broadcast from the most important Telegram clients' repositories
Download Telegram
telegramdesktop/tdesktop/public-canary • e2f6251 • 1 files, +26/-10
Extracted shared video encoder setup from H264 encoder.

telegramdesktop/tdesktop/public-canary • e727589 • 2 files, +7/-3
Added VP9 encoder and webm muxer to ffmpeg build configs.

telegramdesktop/tdesktop/public-canary • de81e62 • 2 files, +150/-20
Added webm sticker output mode to video encoder.

telegramdesktop/tdesktop/public-canary • 1a19305 • 7 files, +332/-69
Added adapting video stickers into custom emoji.

Related commit: 9895e5bb89.

telegramdesktop/tdesktop/public-canary • 7c6d095 • 2 files, +47/-0
Added virtual file support to mime data helpers.

telegramdesktop/tdesktop/public-canary • ff8acd1 • 5 files, +212/-0
Added Windows mime converter for virtual files.

telegramdesktop/tdesktop/public-canary • f84da84 • 4 files, +22/-4
Added photo virtual file to drag mime data.

telegramdesktop/tdesktop/public-canary • 39ebd18 • 1 files, +6/-0
Added photo virtual file to clipboard mime data.

telegramdesktop/tdesktop/public-canary • 1613890 • 4 files, +7/-0
Add public keys for canary channel.

telegramdesktop/tdesktop/public-canary • 5491582 • 9 files, +1279/-0
Add v2 update verification core and build channels

telegramdesktop/tdesktop/public-canary • dd59277 • 3 files, +672/-0
Support v2 channel packing in the Packer

telegramdesktop/tdesktop/public-canary • 19d83a4 • 7 files, +662/-141
Verify, fetch and install v2 updates in the client

telegramdesktop/tdesktop/public-canary • 6d837e0 • 2 files, +9/-1
Show canary version and skip changelogs on canary

#tdesktop
🫡3
telegramdesktop/tdesktop/public-canary • 7cc0979 • 2 files, +821/-0
Add focused tests for v2 update verification

telegramdesktop/tdesktop/public-canary • 1b740e3 • 1 files, +862/-0
Add canary build and publish workflow

telegramdesktop/tdesktop/public-canary • 30ebc87 • 1 files, +186/-163
Build one canary lane per repository in CI

telegramdesktop/tdesktop/public-canary • bc3526f • 3 files, +31/-13
Use readable v2 update file names

telegramdesktop/tdesktop/public-canary • 31f96ca • 4 files, +117/-8
Use new update names and pinned Bot API image in CI

telegramdesktop/tdesktop/public-canary • 46bc5df • 3 files, +108/-62
Ship per-arch mac updates with a universal installer

telegramdesktop/tdesktop/public-canary • 4317bc5 • 1 files, +70/-28
Publish portable archives as canary first installs

telegramdesktop/tdesktop/public-canary • 3c9acb9 • 1 files, +5/-4
Drop the bundled d3d compiler from canary builds

telegramdesktop/tdesktop/public-canary • 9bd400c • 3 files, +41/-4
Embed external and local signatures in one packer pass

telegramdesktop/tdesktop/public-canary • cff50c2 • 2 files, +82/-3
Add a v2 update switch to the release build scripts

telegramdesktop/tdesktop/public-canary • 4b87718 • 1 files, +29/-1
Read the pinned metadata through the local Bot API

telegramdesktop/tdesktop/public-canary • 1b4d58f • 3 files, +25/-1
Support v2 updates in the updater and deploy scripts

telegramdesktop/tdesktop/public-canary • 9c32fc4 • 23 files, +872/-216
Harden canary builds running.

#tdesktop
🫡2
telegramdesktop/tdesktop/public-canary • 0a569a7 • 4 files, +20/-10
Fix build for Release.

telegramdesktop/tdesktop/public-canary • 677e091 • 2 files, +68/-21
Try to fix signing.

telegramdesktop/tdesktop/public-canary • c75055b • 1 files, +77/-5
Improve caching.

telegramdesktop/tdesktop/public-canary • 6f6f9c8 • 1 files, +17/-5
Try to fix signing again.

telegramdesktop/tdesktop/public-canary • 3d4d66e • 10 files, +598/-311
New names, separate publishing.

telegramdesktop/tdesktop/public-canary • c98a103 • 7 files, +255/-6
Fix translocated launch on macOS.

telegramdesktop/tdesktop/public-canary • b10cfc2 • 4 files, +32/-14
Improve version display for canary.

telegramdesktop/tdesktop/public-canary • 6b7baed • 1 files, +141/-40
Split macOS canary build into per-arch jobs.

telegramdesktop/tdesktop/public-canary • 715f7a7 • 7 files, +198/-3
Add an in-title CANARY/PRIVATE marking.

telegramdesktop/tdesktop/public-canary • 9461c9b • 6 files, +42/-24
Rename canary branches.

telegramdesktop/tdesktop/public-canary • 24a6742 • 1 files, +3/-0
Fixed per-arch build picking universal crashpad handler.

telegramdesktop/tdesktop/public-canary • 6b349d7 • 1 files, +11/-4
Keep TelegramForcePortable in portable archives.

telegramdesktop/tdesktop/public-canary • f1826dd • 1 files, +11/-11
Allow CANARY_ALLOW_UNSIGNED in public lane too.

#tdesktop
🫡3
telegramdesktop/tdesktop/public-canary • 31d3ca0 • 1 files, +38/-3
Try workaround clone problems.

telegramdesktop/tdesktop/public-canary • 024b4a7 • 1 files, +25/-19
Fix build with GCC.

telegramdesktop/tdesktop/public-canary • ec001e0 • 2 files, +36/-19
Fix public publishing.

telegramdesktop/tdesktop/public-canary • a09321e • 1 files, +6/-6
Keep canary artifacts for seven days

telegramdesktop/tdesktop/public-canary • 24fcf5a • 1 files, +29/-1
Fixed missing ATL breaking breakpad build in canary Windows job.

telegramdesktop/tdesktop/public-canary • 3c6f156 • 1 files, +50/-20
Install ATL for the pinned Windows toolset

telegramdesktop/tdesktop/public-canary • 2238be3 • 1 files, +10/-1
Fallback to v1 update unpacking.

#tdesktop
🫡3
UnigramDev/Unigram/develop • 0b777f0 • 2 files, +64/-15
Improve generators

UnigramDev/Unigram/develop • 7765a4e • 1 files, +2/-2
Dispatch Suspend/Resume

UnigramDev/Unigram/develop • 53f4caa • 1 files, +73/-0
Saved messages chats accessibility

UnigramDev/Unigram/develop • 9df968b • 2 files, +12/-5
Register more collections for export

UnigramDev/Unigram/develop • f40f64e • 1 files, +1/-1
Bump version to 12.10.1

#unigram
telegramdesktop/tdesktop/public-canary • 1f87f09 • 2 files, +1261/-0
[ai] Add crash report triage command

telegramdesktop/tdesktop/public-canary • a088e88 • 4 files, +7/-0
Add public keys for canary channel.

telegramdesktop/tdesktop/public-canary • d5863c2 • 9 files, +1279/-0
Add v2 update verification core and build channels

telegramdesktop/tdesktop/public-canary • bf92016 • 3 files, +672/-0
Support v2 channel packing in the Packer

telegramdesktop/tdesktop/public-canary • ff8e9f1 • 7 files, +662/-141
Verify, fetch and install v2 updates in the client

telegramdesktop/tdesktop/public-canary • 3b6fb84 • 2 files, +9/-1
Show canary version and skip changelogs on canary

telegramdesktop/tdesktop/public-canary • deddc01 • 2 files, +821/-0
Add focused tests for v2 update verification

telegramdesktop/tdesktop/public-canary • dc2d3ba • 1 files, +862/-0
Add canary build and publish workflow

telegramdesktop/tdesktop/public-canary • b0c52fd • 1 files, +186/-163
Build one canary lane per repository in CI

telegramdesktop/tdesktop/public-canary • c5220f6 • 3 files, +31/-13
Use readable v2 update file names

telegramdesktop/tdesktop/public-canary • 89a63a2 • 4 files, +117/-8
Use new update names and pinned Bot API image in CI

telegramdesktop/tdesktop/public-canary • eb81518 • 3 files, +108/-62
Ship per-arch mac updates with a universal installer

telegramdesktop/tdesktop/public-canary • c61708f • 1 files, +70/-28
Publish portable archives as canary first installs

#tdesktop
🫡3
telegramdesktop/tdesktop/public-canary • bcce452 • 1 files, +5/-4
Drop the bundled d3d compiler from canary builds

telegramdesktop/tdesktop/public-canary • 357fa4b • 3 files, +41/-4
Embed external and local signatures in one packer pass

telegramdesktop/tdesktop/public-canary • d7d2ea1 • 2 files, +82/-3
Add a v2 update switch to the release build scripts

telegramdesktop/tdesktop/public-canary • f21da36 • 1 files, +29/-1
Read the pinned metadata through the local Bot API

telegramdesktop/tdesktop/public-canary • 7524caa • 3 files, +25/-1
Support v2 updates in the updater and deploy scripts

telegramdesktop/tdesktop/public-canary • 49c9249 • 23 files, +872/-216
Harden canary builds running.

telegramdesktop/tdesktop/public-canary • 22fe447 • 4 files, +20/-10
Fix build for Release.

telegramdesktop/tdesktop/public-canary • bf30cbf • 2 files, +68/-21
Try to fix signing.

telegramdesktop/tdesktop/public-canary • 4114a23 • 1 files, +77/-5
Improve caching.

telegramdesktop/tdesktop/public-canary • 072ca07 • 1 files, +17/-5
Try to fix signing again.

telegramdesktop/tdesktop/public-canary • 2e87140 • 10 files, +598/-311
New names, separate publishing.

telegramdesktop/tdesktop/public-canary • b2dd982 • 7 files, +255/-6
Fix translocated launch on macOS.

telegramdesktop/tdesktop/public-canary • 854ddaa • 4 files, +32/-14
Improve version display for canary.

#tdesktop
🫡3
telegramdesktop/tdesktop/public-canary • 754b73b • 1 files, +141/-40
Split macOS canary build into per-arch jobs.

telegramdesktop/tdesktop/public-canary • 40c3335 • 7 files, +198/-3
Add an in-title CANARY/PRIVATE marking.

telegramdesktop/tdesktop/public-canary • 7b4b5a2 • 6 files, +42/-24
Rename canary branches.

telegramdesktop/tdesktop/public-canary • f5f5b6b • 1 files, +3/-0
Fixed per-arch build picking universal crashpad handler.

telegramdesktop/tdesktop/public-canary • 8a9a7b5 • 1 files, +11/-4
Keep TelegramForcePortable in portable archives.

telegramdesktop/tdesktop/public-canary • b20e977 • 1 files, +11/-11
Allow CANARY_ALLOW_UNSIGNED in public lane too.

telegramdesktop/tdesktop/public-canary • 0198b76 • 1 files, +38/-3
Try workaround clone problems.

telegramdesktop/tdesktop/public-canary • 5503ef2 • 1 files, +25/-19
Fix build with GCC.

telegramdesktop/tdesktop/public-canary • 0addfd1 • 2 files, +36/-19
Fix public publishing.

telegramdesktop/tdesktop/public-canary • e801daa • 1 files, +6/-6
Keep canary artifacts for seven days

telegramdesktop/tdesktop/public-canary • 4d36821 • 1 files, +29/-1
Fixed missing ATL breaking breakpad build in canary Windows job.

telegramdesktop/tdesktop/public-canary • 50bd49f • 1 files, +50/-20
Install ATL for the pinned Windows toolset

telegramdesktop/tdesktop/public-canary • e624e6b • 1 files, +10/-1
Fallback to v1 update unpacking.

#tdesktop
🫡3
telegramdesktop/tdesktop/public-canary • 6453b53 • 3 files, +26/-7
[ai] Refuse implausible test watchdog values

Task: 2026/08/23/refuse-implausible-test-watchdog-values

telegramdesktop/tdesktop/public-canary • 4f00212 • 3 files, +0/-0
Delete unused account_check icon rasters

Task: 2026/08/18/delete-orphaned-account-check-icon

telegramdesktop/tdesktop/public-canary • 9c86cfc • 2 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-canary • 94d4579 • 1 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-canary • a728c32 • 2 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-canary • 4d72cb0 • 2 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-canary • bff374e • 1 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-canary • 95b0545 • 1 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-canary • 8edc828 • 5 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-canary • 0a783d2 • 7 files, +40/-56
Tie stored pinned index writes to the pinned flag

Task: 2026/08/19/unify-pinned-index-writers

telegramdesktop/tdesktop/public-canary • 35b429a • 2 files, +52/-1
Write the pinned thread index only in forum peers

Task: 2026/08/20/stop-orphaning-general-id-shared-media-lists

#tdesktop
🫡3
telegramdesktop/tdesktop/public-canary • 8ca22f3 • 2 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-canary • 6696c28 • 1 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-canary • a478eaf • 5 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-canary • 883d302 • 1 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-canary • 5007dcc • 1 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-canary • ef51522 • 2 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-canary • 19a508f • 2 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-canary • bf15280 • 1 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-canary • 8eb97c1 • 1 files, +2/-8
Use the shared sublist resolver in the player panel

Task: 2026/08/20/collapse-player-panel-sublist-onto-shared-resolver

telegramdesktop/tdesktop/public-canary • 6f21412 • 4 files, +35/-0
Request pinned messages when a pin is not loaded

Task: 2026/08/20/reach-unloaded-pin-on-complete-pinned-slice

#tdesktop
🫡3
telegramdesktop/tdesktop/public-canary • 8a4704c • 6 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-canary • eedd9e3 • 9 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-canary • 9e7765f • 4 files, +55/-3
Keep Info pages on their topic or sublist

Task: 2026/08/21/preserve-info-thread-identity-and-lifetime

telegramdesktop/tdesktop/public-canary • 9fbbd48 • 1 files, +12/-10
Tear down Info after a sublist is destroyed

Task: 2026/08/21/preserve-info-thread-identity-and-lifetime

telegramdesktop/tdesktop/public-canary • f0c8acf • 1 files, +14/-12
Clear Info immediately when its sublist dies

Task: 2026/08/21/preserve-info-thread-identity-and-lifetime

telegramdesktop/tdesktop/public-canary • 654ca39 • 1 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-canary • 001005a • 6 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-canary • a2dd73a • 3 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-canary • d01e12f • 2 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-canary • 71a4083 • 2 files, +17/-14
Queue Info wrap teardown off sublist destroyed()

Task: 2026/08/21/resubscribe-info-wrap-teardown-on-replaced-sublist

telegramdesktop/tdesktop/public-canary • bcde711 • 3 files, +19/-21
Hide Layer Info before its sublist is erased

Task: 2026/08/21/resubscribe-info-wrap-teardown-on-replaced-sublist

#tdesktop
🫡3
telegramdesktop/tdesktop/public-canary • b870e02 • 2 files, +15/-18
Preserve teardown stream across Info wrap removal

Task: 2026/08/21/resubscribe-info-wrap-teardown-on-replaced-sublist

telegramdesktop/tdesktop/public-canary • 7bb4be8 • 1 files, +0/-1
Remove stale Info teardown implementation note

Task: 2026/08/21/resubscribe-info-wrap-teardown-on-replaced-sublist

telegramdesktop/tdesktop/public-canary • fc40c7b • 1 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-canary • ae077b9 • 4 files, +39/-20
Align sublist media counts, windows and titles

Task: 2026/08/21/align-sublist-media-count-window-and-title

telegramdesktop/tdesktop/public-canary • 83f4816 • 1 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-canary • b724467 • 4 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-canary • c5578ea • 1 files, +2/-2
Limit media topic context to forum chats

telegramdesktop/tdesktop/public-canary • 9134d69 • 1 files, +1/-1
Removed stale comment about swscale destination format caching.

telegramdesktop/tdesktop/public-canary • 173fc68 • 1 files, +5/-0
Restricted transcode temp directory permissions to user.

Related commit: 0807483acc.

telegramdesktop/tdesktop/public-canary • 26bc6b3 • 2 files, +26/-6
Extracted video editor layer showing to shared helper.

telegramdesktop/tdesktop/public-canary • 91a26b4 • 1 files, +26/-10
Extracted shared video encoder setup from H264 encoder.

#tdesktop
🫡3
telegramdesktop/tdesktop/public-canary • a346acb • 2 files, +7/-3
Added VP9 encoder and webm muxer to ffmpeg build configs.

telegramdesktop/tdesktop/public-canary • 8c28d55 • 2 files, +150/-20
Added webm sticker output mode to video encoder.

telegramdesktop/tdesktop/public-canary • ca3c28d • 7 files, +332/-69
Added adapting video stickers into custom emoji.

Related commit: 9895e5bb89.

#tdesktop
🫡3
telegramdesktop/tdesktop/dev • 23dff65 • 1 files, +1/-3
Fix formatting adding in table cells.

#tdesktop
🫡3
tdlib/telegram-bot-api/master • e3e9dd8 • 1 files, +1/-1
Fix RichBlockDocument.

#botapi
🫡2
UnigramDev/Unigram/chatview-background-xamlroot • 2cd5e6f • 2 files, +12/-5
Don't let XamlRoot.Content take down the chat background lookup

#unigram
morethanwords/tweb/master • e5ad661 • 4 files, +134/-7
Restore sticker fade-in without delaying settled dice

#webk
🫡2
telegramdesktop/tdesktop/public-canary • 9d4d03a • 1 files, +16/-12
Added closing of restore windows offer when chat is opened.

Related commit: 3284a5a399.

telegramdesktop/tdesktop/public-canary • 382a713 • 3 files, +9/-3
Moved plain text paste check to message field module.

telegramdesktop/tdesktop/public-canary • e3dd1f7 • 1 files, +3/-1
Fixed rich paste offer on explicit plain text paste.

telegramdesktop/tdesktop/public-canary • 049456b • 1 files, +17/-0
[ai] Reconcile wave verdicts against the ledger

telegramdesktop/tdesktop/public-canary • 6ea5a9b • 1 files, +27/-9
[ai] Require no perf cost for auto-committed crash fixes

telegramdesktop/tdesktop/public-canary • 4cda457 • 1 files, +3/-0
Fixed crash on deleting already deleted proxies.

telegramdesktop/tdesktop/public-canary • de10785 • 1 files, +17/-5
Fixed use-after-free on global media slice update.

telegramdesktop/tdesktop/public-canary • 70c994e • 1 files, +16/-2
Fixed huge allocation blurring shared media photos.

telegramdesktop/tdesktop/public-canary • b9c6dfa • 1 files, +1/-1
Fixed pure virtual call in accessible interfaces.

telegramdesktop/tdesktop/public-canary • 061e074 • 1 files, +7/-3
Fixed use-after-free of the account before intro.

telegramdesktop/tdesktop/public-canary • 7e1c09e • 1 files, +6/-1
Fixed crash on gifting Stars without a callback.

telegramdesktop/tdesktop/public-canary • 4cf1edd • 2 files, +6/-2
Fixed use-after-free in the group call bar content.

telegramdesktop/tdesktop/public-canary • c2169c6 • 1 files, +10/-4
Fixed crash saving a photo with no loaded image.

#tdesktop
🫡3
telegramdesktop/tdesktop/public-canary • ae99761 • 2 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-canary • e97d6dc • 1 files, +7/-0
Fixed crash destroying history widget on logout.

telegramdesktop/tdesktop/public-canary • 822b2cd • 2 files, +7/-1
Fixed crash using info media list after controller.

telegramdesktop/tdesktop/public-canary • 6866b46 • 1 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-canary • 00d0305 • 1 files, +1/-1
Fixed reentrancy destroying menu item widgets.

telegramdesktop/tdesktop/public-canary • ed78e2c • 1 files, +8/-3
Fixed abort on failed video frame allocation.

telegramdesktop/tdesktop/public-canary • 1f1ad7b • 1 files, +6/-3
Fixed out of bounds read tracking the pinned bar.

telegramdesktop/tdesktop/public-canary • ff90c7c • 1 files, +4/-1
Fixed collectible emoji stars on backwards time.

telegramdesktop/tdesktop/public-canary • 7e4aa9c • 1 files, +3/-1
Fixed crash on double skip of the recovery email.

telegramdesktop/tdesktop/public-canary • 98f5ab4 • 1 files, +6/-0
Fixed crash finishing info layer show after resize.

#tdesktop
🫡3
telegramdesktop/tdesktop/public-canary • 3ad1b6c • 1 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-canary • e7d87b8 • 1 files, +9/-1
Fixed crash pasting a huge image from the clipboard.

telegramdesktop/tdesktop/public-canary • 4446222 • 2 files, +22/-9
Fixed use-after-free with several downloads per message.

telegramdesktop/tdesktop/public-canary • 14861f3 • 3 files, +24/-0
Fixed account deleted from inside its own teardown.

telegramdesktop/tdesktop/public-canary • 2a07892 • 1 files, +1/-1
Fixed divide by zero on a raced Lottie frame rate.

telegramdesktop/tdesktop/public-canary • b7bc201 • 1 files, +4/-1
Fixed crash on a sensitive album of documents.

telegramdesktop/tdesktop/public-canary • 19239dc • 1 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-canary • aba8ea0 • 1 files, +10/-1
Fixed stale last message after a sublist switch.

telegramdesktop/tdesktop/public-canary • 099b081 • 2 files, +41/-12
Fixed use-after-free in the text appearing animation.

telegramdesktop/tdesktop/public-canary • 4a9c4e5 • 1 files, +19/-1
Fixed use-after-free in the filtered chats ripple.

#tdesktop
🫡3