Telegram github commits and releases
4.55K subscribers
601 files
20.3K links
Broadcast from the most important Telegram clients' repositories
Download Telegram
UnigramDev/Unigram/develop668d6d215 files, +657/-396
Move downloads logic to DownloadFolderService

UnigramDev/Unigram/developd9d72de2 files, +9/-9
Use Logger.TickCount in charts

UnigramDev/Unigram/develop5696da91 files, +18/-2
Record that a shared Backdrop acrylic falls back across islands

UnigramDev/Unigram/develop7dfc5731 files, +10/-0
State that every Win32 window is on the main thread

UnigramDev/Unigram/develop051857b62 files, +631/-589
Split range operations out of DiffObservableCollection

UnigramDev/Unigram/developd0d35ee29 files, +398/-273
Make HasMoreItems part of the incremental loading contract

UnigramDev/Unigram/develop3d96c874 files, +57/-301
Remove LegacyIncrementalCollection

UnigramDev/Unigram/develop0e090167 files, +510/-382
Split group call participants into a model and a windowed view

UnigramDev/Unigram/develop5475e7f3 files, +73/-0
Track the files a reader is streaming

UnigramDev/Unigram/develop9996e8a13 files, +181/-138
Hide a download that only feeds a reader from the file buttons

#unigram
UnigramDev/Unigram/playback-reconcile7c83a602 files, +104/-49
Fix threading around the transport controls and the player

The transport belongs to the view it was acquired for, so every write to
it now goes back to that view's thread; it can otherwise be driven from a
second window's thread once a Clear has recreated the player there.

Player creation takes the same lock the rest of the player access does,
and repeat mode and shuffle are persisted and mirrored to the transport.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

UnigramDev/Unigram/playback-reconcile2b841f93 files, +487/-57
Grow the playback playlist as it is played

The playlist was one search of up to a hundred messages around the one
that started it, and the profile audio one was the first hundred audios
with the played one moved to the front. Both now page in as the current
track nears either end, through a source that owns its cursors.

A caller holding a profile source and the audios it loaded can hand both
over, so the playlist keeps the profile order instead of starting again.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

UnigramDev/Unigram/playback-reconcileffd2c402 files, +19/-4
Start a handed-over profile playlist past the items it came with

Paging profile audio is by position, so a caller that hands over items
without the source that loaded them left the cursor at zero and the first
page repeated them.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

UnigramDev/Unigram/playback-reconcilef2b71db3 files, +323/-2
Keep the playlist in step with the chat and the profile

Chat playlists follow UpdateNewMessage, UpdateDeleteMessages and
UpdateMessageSendSucceeded; deleting the playing message skips to the
next one rather than letting it play out.

Profile audio has no such updates and only ever changes from the playback
popup, so the popup reports it, and an audio removed there plays on.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

#unigram
UnigramDev/Unigram/playback-shuffle90167bf3 files, +215/-36
Implement shuffle

The button existed in two places and set IsReversed, since shuffle itself
was never written. It now walks a fixed shuffled order, so Previous goes
back to what was actually heard, and pages loaded later are folded into
the part not yet played.

Paging is measured against the playlist rather than the order being
walked, which shuffle reaches the ends of in no particular order.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

#unigram
telegramdesktop/tdesktop/public-canary0f93f5a4 files, +7/-0
Add public keys for canary channel.

telegramdesktop/tdesktop/public-canaryf250cb49 files, +1279/-0
Add v2 update verification core and build channels

telegramdesktop/tdesktop/public-canarye5c52dc3 files, +672/-0
Support v2 channel packing in the Packer

telegramdesktop/tdesktop/public-canary74d5c7c7 files, +662/-141
Verify, fetch and install v2 updates in the client

telegramdesktop/tdesktop/public-canarydf92d4e2 files, +9/-1
Show canary version and skip changelogs on canary

telegramdesktop/tdesktop/public-canary349b3ef2 files, +821/-0
Add focused tests for v2 update verification

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

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

telegramdesktop/tdesktop/public-canary24979683 files, +31/-13
Use readable v2 update file names

telegramdesktop/tdesktop/public-canary542d2a04 files, +117/-8
Use new update names and pinned Bot API image in CI

telegramdesktop/tdesktop/public-canary3dfd2a23 files, +108/-62
Ship per-arch mac updates with a universal installer

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

telegramdesktop/tdesktop/public-canarya65a8b01 files, +5/-4
Drop the bundled d3d compiler from canary builds

#tdesktop
🫡3
telegramdesktop/tdesktop/public-canaryf3d2a883 files, +41/-4
Embed external and local signatures in one packer pass

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

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

telegramdesktop/tdesktop/public-canary0021ab03 files, +25/-1
Support v2 updates in the updater and deploy scripts

telegramdesktop/tdesktop/public-canary34ba6d023 files, +872/-216
Harden canary builds running.

telegramdesktop/tdesktop/public-canaryb2780aa4 files, +20/-10
Fix build for Release.

telegramdesktop/tdesktop/public-canary1498b722 files, +68/-21
Try to fix signing.

telegramdesktop/tdesktop/public-canary725471e1 files, +77/-5
Improve caching.

telegramdesktop/tdesktop/public-canaryab019601 files, +17/-5
Try to fix signing again.

telegramdesktop/tdesktop/public-canaryd7053db10 files, +598/-311
New names, separate publishing.

telegramdesktop/tdesktop/public-canarya80a8857 files, +255/-6
Fix translocated launch on macOS.

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

telegramdesktop/tdesktop/public-canary01db4d31 files, +141/-40
Split macOS canary build into per-arch jobs.

#tdesktop
🫡3
telegramdesktop/tdesktop/public-canary40929967 files, +198/-3
Add an in-title CANARY/PRIVATE marking.

telegramdesktop/tdesktop/public-canary94a13f96 files, +42/-24
Rename canary branches.

telegramdesktop/tdesktop/public-canary3ca42c01 files, +3/-0
Fixed per-arch build picking universal crashpad handler.

telegramdesktop/tdesktop/public-canarya98c5ba1 files, +11/-4
Keep TelegramForcePortable in portable archives.

telegramdesktop/tdesktop/public-canaryf8bff071 files, +11/-11
Allow CANARY_ALLOW_UNSIGNED in public lane too.

telegramdesktop/tdesktop/public-canaryc0c8a2d1 files, +38/-3
Try workaround clone problems.

telegramdesktop/tdesktop/public-canary7da02151 files, +25/-19
Fix build with GCC.

telegramdesktop/tdesktop/public-canary80851322 files, +36/-19
Fix public publishing.

telegramdesktop/tdesktop/public-canary76908ec1 files, +6/-6
Keep canary artifacts for seven days

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

telegramdesktop/tdesktop/public-canaryd2828bc1 files, +50/-20
Install ATL for the pinned Windows toolset

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

telegramdesktop/tdesktop/public-canaryd0a5e0d3 files, +26/-7
[ai] Refuse implausible test watchdog values

#tdesktop
🫡3
telegramdesktop/tdesktop/public-canaryc857c573 files, +0/-0
Delete unused account_check icon rasters

telegramdesktop/tdesktop/public-canary02cb1fa2 files, +11/-2
Correct shared media index writes and viewer counts

telegramdesktop/tdesktop/public-canary2b30e1d1 files, +16/-3
Re-index a sent message only when its thread moves

telegramdesktop/tdesktop/public-canary28a21da2 files, +60/-6
Derive the pinned bar's topic root from the thread

telegramdesktop/tdesktop/public-canary06787dc2 files, +1/-1
Pair the uploaded media edit's shared media removal

telegramdesktop/tdesktop/public-canaryc41ae881 files, +20/-5
Drop a sent message from the shared media lists it left

telegramdesktop/tdesktop/public-canaryb99c6a51 files, +3/-3
Don't keep a media reference across rich page changes

telegramdesktop/tdesktop/public-canary9c5f26b5 files, +30/-13
Don't lower shared media counts for unindexed messages

telegramdesktop/tdesktop/public-canarya42f61b7 files, +40/-56
Tie stored pinned index writes to the pinned flag

telegramdesktop/tdesktop/public-canarya88696d2 files, +52/-1
Write the pinned thread index only in forum peers

telegramdesktop/tdesktop/public-canaryf8ae25b2 files, +5/-2
Give a saved sublist its own pinned message list

telegramdesktop/tdesktop/public-canaryff6102d1 files, +6/-0
Retire shared media of a deleted topic with no object

telegramdesktop/tdesktop/public-canaryc626a1c5 files, +31/-0
Retire all topic shared media when a forum is destroyed

#tdesktop
🫡3
telegramdesktop/tdesktop/public-canary396e23e1 files, +6/-4
Guard the live-topic media unload against a zero root

telegramdesktop/tdesktop/public-canaryd3205381 files, +6/-4
Guard the forum teardown media unload against a zero root

telegramdesktop/tdesktop/public-canaryb285e5b2 files, +4/-4
Resolve the self peer sublist in the shared resolver

telegramdesktop/tdesktop/public-canary5df6e882 files, +0/-2
Drop the write-only monoforum id from top controls

telegramdesktop/tdesktop/public-canary6b59a1e1 files, +1/-1
Read the inbox when a sublist has no parent chat

telegramdesktop/tdesktop/public-canaryef955f11 files, +2/-8
Use the shared sublist resolver in the player panel

telegramdesktop/tdesktop/public-canary0ca35454 files, +35/-0
Request pinned messages when a pin is not loaded

telegramdesktop/tdesktop/public-canary7e484926 files, +21/-10
Open a saved sublist's own shared media page

telegramdesktop/tdesktop/public-canary1ff92f09 files, +63/-43
Align sublist media count, query and window keys

telegramdesktop/tdesktop/public-canaryd9feb634 files, +55/-3
Keep Info pages on their topic or sublist

telegramdesktop/tdesktop/public-canaryd860b5c1 files, +12/-10
Tear down Info after a sublist is destroyed

telegramdesktop/tdesktop/public-canary779414c1 files, +14/-12
Clear Info immediately when its sublist dies

telegramdesktop/tdesktop/public-canary3dba37f1 files, +9/-13
Always drop an Info wrap when its sublist dies

#tdesktop
🫡3
telegramdesktop/tdesktop/public-canary221039b6 files, +90/-34
Reach unloaded pins on thread keys and updates

telegramdesktop/tdesktop/public-canary80737873 files, +11/-4
Rebind Info wrap teardown when a sublist is replaced

telegramdesktop/tdesktop/public-canaryf711e3c2 files, +14/-10
Tear down Layer Info instantly when its sublist dies

telegramdesktop/tdesktop/public-canary8970a272 files, +17/-14
Queue Info wrap teardown off sublist destroyed()

telegramdesktop/tdesktop/public-canary30730ea3 files, +19/-21
Hide Layer Info before its sublist is erased

telegramdesktop/tdesktop/public-canary75a414e2 files, +15/-18
Preserve teardown stream across Info wrap removal

telegramdesktop/tdesktop/public-canarya23afb21 files, +0/-1
Remove stale Info teardown implementation note

telegramdesktop/tdesktop/public-canary05cdd441 files, +3/-2
Keep saved sublists alive through item teardown

telegramdesktop/tdesktop/public-canary18bb4774 files, +39/-20
Align sublist media counts, windows and titles

telegramdesktop/tdesktop/public-canary0ea2b181 files, +7/-5
Show the new window tooltip only on entries that have one

telegramdesktop/tdesktop/public-canary31378df4 files, +90/-67
Unify sublist media window ids and persisted titles

telegramdesktop/tdesktop/public-canary0e685f21 files, +2/-2
Limit media topic context to forum chats

telegramdesktop/tdesktop/public-canary18c652d1 files, +1/-1
Removed stale comment about swscale destination format caching.

#tdesktop
🫡3
telegramdesktop/tdesktop/public-canary879f9951 files, +5/-0
Restricted transcode temp directory permissions to user.

telegramdesktop/tdesktop/public-canarye896fe12 files, +26/-6
Extracted video editor layer showing to shared helper.

telegramdesktop/tdesktop/public-canaryd471ef41 files, +26/-10
Extracted shared video encoder setup from H264 encoder.

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

telegramdesktop/tdesktop/public-canaryfa97d722 files, +150/-20
Added webm sticker output mode to video encoder.

telegramdesktop/tdesktop/public-canary13ca3867 files, +332/-69
Added adapting video stickers into custom emoji.

telegramdesktop/tdesktop/public-canaryd02ad311 files, +1/-1
Fixed width growth of profile section stack on visibility change.

telegramdesktop/tdesktop/public-canaryfdc4d071 files, +1/-1
Fixed extra width of text in info line of profile.

telegramdesktop/tdesktop/public-canarycbc44b04 files, +27/-0
Added demanded content width to markdown article.

telegramdesktop/tdesktop/public-canary0c032d42 files, +22/-4
Added widening of rich message bubble to demanded content width.

telegramdesktop/tdesktop/public-canary73f40021 files, +3/-1
Fixed horizontal scroll of quote with author in rich message.

telegramdesktop/tdesktop/public-canary731631d4 files, +20/-2
Added archive job description to prepared files with box preview.

telegramdesktop/tdesktop/public-canary03a000b4 files, +565/-0
Added zip archive writer for folders and file sets.

#tdesktop
🫡3
telegramdesktop/tdesktop/public-canarya3603c37 files, +109/-17
Added archive writing to uploader with preparing progress in bubble.

telegramdesktop/tdesktop/public-canarye9b96f39 files, +83/-1
Added folder drop zones for archive and separate files sending.

telegramdesktop/tdesktop/public-canary5c5e0129 files, +50/-1
Added drop zone for archiving of multiple files into one archive.

telegramdesktop/tdesktop/public-canary17ce3f76 files, +105/-3
Added archive drop mode for media files under keyboard modifier.

telegramdesktop/tdesktop/public-canary671d5cd7 files, +66/-25
Added archive drop zone for folders and files in message editing.

telegramdesktop/tdesktop/public-canaryc4117fb3 files, +30/-4
Added folder drop zones with height limit to send files box.

#tdesktop
🫡3
UnigramDev/Unigram/crash-report-both-stacks43716626 files, +113/-0
Attach the managed exception's own frames to a stowed crash report

#unigram
UnigramDev/Unigram/develop00eba081 files, +35/-0
Translate two more wrong-thread and three more no-interface messages (#3407)

#unigram
UnigramDev/Unigram/develop0cc1d9d6 files, +113/-0
Attach the managed exception's own frames to a stowed crash report

UnigramDev/Unigram/develop276f8aa2 files, +104/-49
Fix threading around the transport controls and the player

UnigramDev/Unigram/developf3a6c293 files, +487/-57
Grow the playback playlist as it is played

UnigramDev/Unigram/develope96d34f2 files, +19/-4
Start a handed-over profile playlist past the items it came with

#unigram
morethanwords/tweb/master1a5b40d7 files, +165/-17
Keep popup content mounted until the popup leaves the DOM

#webk
🫡3
telegramdesktop/tdesktop/dev503a1f51 files, +1/-1
Fixed width growth of profile section stack on visibility change.

telegramdesktop/tdesktop/dev7c7158c1 files, +1/-1
Fixed extra width of text in info line of profile.

telegramdesktop/tdesktop/deveba8db74 files, +27/-0
Added demanded content width to markdown article.

telegramdesktop/tdesktop/dev0416e4b2 files, +22/-4
Added widening of rich message bubble to demanded content width.

telegramdesktop/tdesktop/deved539771 files, +3/-1
Fixed horizontal scroll of quote with author in rich message.

#tdesktop
🫡3
telegramdesktop/tdesktop/deve256f111 files, +2/-0
Fixed Delete shown as Change folder in chat list quick action.

#tdesktop
🫡3
telegramdesktop/tdesktop/devf26188f1 files, +1/-1
Fix menu appearance glitches.

telegramdesktop/tdesktop/dev269006b2 files, +12/-2
Fixed the first tray click not raising the window on X11.

#tdesktop
🫡3
telegramdesktop/tdesktop/devfd8c0b12 files, +13/-7
Fixed cut userpic and covered status in call panel.

telegramdesktop/tdesktop/devee1cf3f1 files, +3/-2
Fixed nosound video attribute dropping animated flag from GIFs.

telegramdesktop/tdesktop/dev1dcc70c1 files, +6/-1
Fixed audio tail marking video as trimmed and forcing re-encode.

telegramdesktop/tdesktop/dev9e754a71 files, +7/-5
Added frame rate to H264 encoder for correct bitrate allocation.

telegramdesktop/tdesktop/devbe28fcc3 files, +19/-7
Fixed stealth mode not opening chosen story in info stories section.

telegramdesktop/tdesktop/dev16360c63 files, +26/-7
[ai] Refuse implausible test watchdog values

telegramdesktop/tdesktop/devc513f8c2 files, +37/-5
[ai] Verify cross-platform code once

telegramdesktop/tdesktop/dev27b09474 files, +211/-22
[ai] Route follow-ups beside the active task

telegramdesktop/tdesktop/devd8708e61 files, +36/-6
[ai] Do not review a task that wrote no code

telegramdesktop/tdesktop/devb0f53b85 files, +62/-19
[ai] Print a passing check's details in the harness

telegramdesktop/tdesktop/devceb8f951 files, +1/-3
[ai] Drop the README note that repeats a check's own details

telegramdesktop/tdesktop/deve263a2b3 files, +323/-5
[ai] Correlate probe issue rows with their answers

telegramdesktop/tdesktop/dev735c50f2 files, +35/-14
[ai] Stop routing platform checks for build breakage

telegramdesktop/tdesktop/devc3e8c8a1 files, +12/-0
[ai] Forbid leaf watchers and SendMessage reports

#tdesktop
🫡3
telegramdesktop/tdesktop/devb19ddb21 files, +9/-0
[ai] Require a dead leaf before relaunching its phase

#tdesktop
🫡3
telegramdesktop/tdesktop/dev9c90be44 files, +7/-0
Add public keys for canary channel.

telegramdesktop/tdesktop/dev7e945a89 files, +1279/-0
Add v2 update verification core and build channels

telegramdesktop/tdesktop/dev35ec7923 files, +672/-0
Support v2 channel packing in the Packer

telegramdesktop/tdesktop/dev407162b7 files, +662/-141
Verify, fetch and install v2 updates in the client

telegramdesktop/tdesktop/dev036f6f02 files, +9/-1
Show canary version and skip changelogs on canary

telegramdesktop/tdesktop/devc6b63c82 files, +821/-0
Add focused tests for v2 update verification

telegramdesktop/tdesktop/dev77b0dab1 files, +862/-0
Add canary build and publish workflow

telegramdesktop/tdesktop/dev536a0521 files, +186/-163
Build one canary lane per repository in CI

telegramdesktop/tdesktop/dev0eb73953 files, +31/-13
Use readable v2 update file names

telegramdesktop/tdesktop/devf5c9f744 files, +117/-8
Use new update names and pinned Bot API image in CI

telegramdesktop/tdesktop/dev53aea2a3 files, +108/-62
Ship per-arch mac updates with a universal installer

telegramdesktop/tdesktop/dev95a95711 files, +70/-28
Publish portable archives as canary first installs

telegramdesktop/tdesktop/dev29c10aa1 files, +5/-4
Drop the bundled d3d compiler from canary builds

telegramdesktop/tdesktop/devc2ccfa93 files, +41/-4
Embed external and local signatures in one packer pass

#tdesktop
🫡3