UnigramDev/Unigram/develop • 53f18ac • 1 files, +13/-2
Take the video list down with the pinned cell it belongs to
The list exists to hold the videos the pinned cell covers, so when that cell goes
away the grid lays them out again while the list still holds them, and every
remaining participant shows up twice. Clearing the pin was not enough: nothing
tore the list down, and the participant rows stayed hidden with it.
LoadVideoInfo replays every participant, which could put the pinned endpoint in
the list the same way.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
UnigramDev/Unigram/develop • bf72417 • 1 files, +67/-14
Pin a shared screen without being asked to
A screen share takes the pinned slot as it arrives, and again if the pinned cell
goes away while another one is running. One automatic pin replaces another, but a
cell the user pinned themselves is never taken over.
Selecting a cell moves out of the click handler, since both paths need it. The
only difference is that an automatic pin does not scroll the compact list to the
top, which would move it under whoever is reading it.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
UnigramDev/Unigram/develop • 49d97ae • 1 files, +8/-0
Let a new back gesture take the chip from a burst still playing
The burst animates the chip's opacity to zero, and a property under a running
animation ignores direct writes, so the next gesture's reset was dropped and the
burst left the chip hidden for the whole of it - while the tracker carried the
gesture through to the navigation regardless.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
#unigram
Take the video list down with the pinned cell it belongs to
The list exists to hold the videos the pinned cell covers, so when that cell goes
away the grid lays them out again while the list still holds them, and every
remaining participant shows up twice. Clearing the pin was not enough: nothing
tore the list down, and the participant rows stayed hidden with it.
LoadVideoInfo replays every participant, which could put the pinned endpoint in
the list the same way.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
UnigramDev/Unigram/develop • bf72417 • 1 files, +67/-14
Pin a shared screen without being asked to
A screen share takes the pinned slot as it arrives, and again if the pinned cell
goes away while another one is running. One automatic pin replaces another, but a
cell the user pinned themselves is never taken over.
Selecting a cell moves out of the click handler, since both paths need it. The
only difference is that an automatic pin does not scroll the compact list to the
top, which would move it under whoever is reading it.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
UnigramDev/Unigram/develop • 49d97ae • 1 files, +8/-0
Let a new back gesture take the chip from a burst still playing
The burst animates the chip's opacity to zero, and a property under a running
animation ignores direct writes, so the next gesture's reset was dropped and the
burst left the chip hidden for the whole of it - while the tracker carried the
gesture through to the navigation regardless.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
#unigram
UnigramDev/Unigram/playback-shuffle • e6346dd • 3 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
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/nightly • 565c076 • 5 files, +2/-67
Removed protobuf dependency from cld3 and build recipes.
#tdesktop
Removed protobuf dependency from cld3 and build recipes.
#tdesktop
🫡3
telegramdesktop/tdesktop/nightly • af5bb1b • 1 files, +2/-0
Enabled LTO in Release configuration on Windows CI.
#tdesktop
Enabled LTO in Release configuration on Windows CI.
#tdesktop
🫡3
telegramdesktop/tdesktop/nightly • 37b4ed4 • 1 files, +24/-11
Switched macOS CI to Release build with LTO on nightly.
#tdesktop
Switched macOS CI to Release build with LTO on nightly.
#tdesktop
🫡3
UnigramDev/Unigram/develop • ffdc081 • 5 files, +31/-23
Update emoji to Unicode 17.0
UnigramDev/Unigram/develop • 37b0fc4 • 1 files, +0/-0
Trim emoji font size
UnigramDev/Unigram/develop • 6b4b9cd • 1 files, +3/-3
Fix shift when sending a message after many unread messages
UnigramDev/Unigram/develop • 761ab7b • 1 files, +1/-0
Clear children before add
#unigram
Update emoji to Unicode 17.0
UnigramDev/Unigram/develop • 37b0fc4 • 1 files, +0/-0
Trim emoji font size
UnigramDev/Unigram/develop • 6b4b9cd • 1 files, +3/-3
Fix shift when sending a message after many unread messages
UnigramDev/Unigram/develop • 761ab7b • 1 files, +1/-0
Clear children before add
#unigram
UnigramDev/Unigram/record-start-on-press • 51b52ea • 1 files, +19/-0
Note the sixty-second pause and message drafts as todo
The official apps stop at sixty seconds and show the pause UI rather than
sending, which 4.3 does not, and they keep an unsent recording as a draft,
which Unigram has no notion of.
UnigramDev/Unigram/record-start-on-press • 0889840 • 1 files, +4/-0
Note that the sixty-second stop cannot be resumed from
The limit reuses the pause UI, but a video message gets no more time, so the
pause button has to go rather than offer its resume glyph.
UnigramDev/Unigram/record-start-on-press • e892215 • 1 files, +3/-10
Drop two flags the timer and the session already answer for
_recordAudioVideoRunnableStarted said what _timer.IsEnabled says, and
_calledRecordRunnable was only ever read where a recording exists, which the
session knows.
UnigramDev/Unigram/record-start-on-press • 4da4557 • 1 files, +8/-1
Don't record for a press that was let go while rights were checked
The check is awaited between the press and the timer, so a release during it
left the press running: the timer started with no pointer down, and a recording
began three hundred milliseconds later that nobody was holding.
UnigramDev/Unigram/record-start-on-press • 3069c66 • 1 files, +21/-4
Close off opening the device on the press
Warming the device up under the hold timer works, but it marks the microphone
and the camera as accessed for a tap that only switches mode, and lights the
privacy LED on hardware that has one. Written down so it isn't tried again.
#unigram
Note the sixty-second pause and message drafts as todo
The official apps stop at sixty seconds and show the pause UI rather than
sending, which 4.3 does not, and they keep an unsent recording as a draft,
which Unigram has no notion of.
UnigramDev/Unigram/record-start-on-press • 0889840 • 1 files, +4/-0
Note that the sixty-second stop cannot be resumed from
The limit reuses the pause UI, but a video message gets no more time, so the
pause button has to go rather than offer its resume glyph.
UnigramDev/Unigram/record-start-on-press • e892215 • 1 files, +3/-10
Drop two flags the timer and the session already answer for
_recordAudioVideoRunnableStarted said what _timer.IsEnabled says, and
_calledRecordRunnable was only ever read where a recording exists, which the
session knows.
UnigramDev/Unigram/record-start-on-press • 4da4557 • 1 files, +8/-1
Don't record for a press that was let go while rights were checked
The check is awaited between the press and the timer, so a release during it
left the press running: the timer started with no pointer down, and a recording
began three hundred milliseconds later that nobody was holding.
UnigramDev/Unigram/record-start-on-press • 3069c66 • 1 files, +21/-4
Close off opening the device on the press
Warming the device up under the hold timer works, but it marks the microphone
and the camera as accessed for a tap that only switches mode, and lights the
privacy LED on hardware that has one. Written down so it isn't tried again.
#unigram
UnigramDev/Unigram/develop • cf37ec8 • 1 files, +19/-0
Note the sixty-second pause and message drafts as todo
The official apps stop at sixty seconds and show the pause UI rather than
sending, which 4.3 does not, and they keep an unsent recording as a draft,
which Unigram has no notion of.
UnigramDev/Unigram/develop • 134180d • 1 files, +4/-0
Note that the sixty-second stop cannot be resumed from
The limit reuses the pause UI, but a video message gets no more time, so the
pause button has to go rather than offer its resume glyph.
UnigramDev/Unigram/develop • e71214d • 1 files, +3/-10
Drop two flags the timer and the session already answer for
_recordAudioVideoRunnableStarted said what _timer.IsEnabled says, and
_calledRecordRunnable was only ever read where a recording exists, which the
session knows.
UnigramDev/Unigram/develop • 57630df • 1 files, +8/-1
Don't record for a press that was let go while rights were checked
The check is awaited between the press and the timer, so a release during it
left the press running: the timer started with no pointer down, and a recording
began three hundred milliseconds later that nobody was holding.
UnigramDev/Unigram/develop • 86ad43f • 1 files, +21/-4
Close off opening the device on the press
Warming the device up under the hold timer works, but it marks the microphone
and the camera as accessed for a tap that only switches mode, and lights the
privacy LED on hardware that has one. Written down so it isn't tried again.
#unigram
Note the sixty-second pause and message drafts as todo
The official apps stop at sixty seconds and show the pause UI rather than
sending, which 4.3 does not, and they keep an unsent recording as a draft,
which Unigram has no notion of.
UnigramDev/Unigram/develop • 134180d • 1 files, +4/-0
Note that the sixty-second stop cannot be resumed from
The limit reuses the pause UI, but a video message gets no more time, so the
pause button has to go rather than offer its resume glyph.
UnigramDev/Unigram/develop • e71214d • 1 files, +3/-10
Drop two flags the timer and the session already answer for
_recordAudioVideoRunnableStarted said what _timer.IsEnabled says, and
_calledRecordRunnable was only ever read where a recording exists, which the
session knows.
UnigramDev/Unigram/develop • 57630df • 1 files, +8/-1
Don't record for a press that was let go while rights were checked
The check is awaited between the press and the timer, so a release during it
left the press running: the timer started with no pointer down, and a recording
began three hundred milliseconds later that nobody was holding.
UnigramDev/Unigram/develop • 86ad43f • 1 files, +21/-4
Close off opening the device on the press
Warming the device up under the hold timer works, but it marks the microphone
and the camera as accessed for a tap that only switches mode, and lights the
privacy LED on hardware that has one. Written down so it isn't tried again.
#unigram
telegramdesktop/tdesktop/nightly • 74da0c3 • 1 files, +30/-1
Enabled LTO in Release configuration on Windows CI.
telegramdesktop/tdesktop/nightly • f7c7386 • 1 files, +24/-11
Switched macOS CI to Release build with LTO on nightly.
#tdesktop
Enabled LTO in Release configuration on Windows CI.
telegramdesktop/tdesktop/nightly • f7c7386 • 1 files, +24/-11
Switched macOS CI to Release build with LTO on nightly.
#tdesktop
🫡3
telegramdesktop/tdesktop/nightly • 9ac4970 • 1 files, +35/-1
Enabled LTO in Release configuration on Windows CI.
telegramdesktop/tdesktop/nightly • eb2a3dc • 1 files, +24/-11
Switched macOS CI to Release build with LTO on nightly.
#tdesktop
Enabled LTO in Release configuration on Windows CI.
telegramdesktop/tdesktop/nightly • eb2a3dc • 1 files, +24/-11
Switched macOS CI to Release build with LTO on nightly.
#tdesktop
🫡3
telegramdesktop/tdesktop/nightly • 396ada1 • 1 files, +38/-1
Enabled LTO in Release configuration on Windows CI.
telegramdesktop/tdesktop/nightly • 6cda4dd • 1 files, +24/-11
Switched macOS CI to Release build with LTO on nightly.
#tdesktop
Enabled LTO in Release configuration on Windows CI.
telegramdesktop/tdesktop/nightly • 6cda4dd • 1 files, +24/-11
Switched macOS CI to Release build with LTO on nightly.
#tdesktop
🫡3
telegramdesktop/tdesktop/nightly • 4f1f0f5 • 3 files, +138/-1
Added packing of Lottie animations into tgs at build time.
telegramdesktop/tdesktop/nightly • 567462e • 226 files, +1071/-112
Replaced animation tgs blobs with plain json sources.
#tdesktop
Added packing of Lottie animations into tgs at build time.
telegramdesktop/tdesktop/nightly • 567462e • 226 files, +1071/-112
Replaced animation tgs blobs with plain json sources.
#tdesktop
🫡2
UnigramDev/Unigram/develop • ec0529b • 1 files, +0/-0
Fix space char in emoji font
UnigramDev/Unigram/develop • b9ed1af • 1 files, +4/-1
Normalize log tail
UnigramDev/Unigram/develop • 1914371 • 1 files, +18/-2
Log focus manager exceptions
UnigramDev/Unigram/develop • 7189e2b • 1 files, +16/-0
Try to park window focus before swapping content
UnigramDev/Unigram/develop • 9d60582 • 1 files, +4/-1
Enable bubble tails only in high performance mode
UnigramDev/Unigram/develop • c3cdae3 • 1 files, +1/-1
Don't ignore source ImageBrush
UnigramDev/Unigram/develop • a99cbaf • 31 files, +222/-87
Update TDLib
UnigramDev/Unigram/develop • 0907419 • 3 files, +11/-12
Update webrtc to the 2026-08-19 archives, built with Visual Studio 18
UnigramDev/Unigram/develop • 6fcff0b • 6 files, +29/-0
Split generators into two projects
UnigramDev/Unigram/develop • 6fb1c62 • 10 files, +230/-64
Support message ephemeral content
UnigramDev/Unigram/develop • a2e5b96 • 6 files, +63/-6
Handle unsupported rich message blocks
UnigramDev/Unigram/develop • c2b0239 • 1 files, +24/-0
Store community full info
UnigramDev/Unigram/develop • a16508c • 1 files, +3/-0
Unsubscribe events on unlock
UnigramDev/Unigram/develop • dafbee5 • 1 files, +7/-3
Fix VideoAnimation getting stuck on read loop
UnigramDev/Unigram/develop • 0769a06 • 1 files, +6/-1
Capture RPC_E_WRONG_THREAD too
#unigram
Fix space char in emoji font
UnigramDev/Unigram/develop • b9ed1af • 1 files, +4/-1
Normalize log tail
UnigramDev/Unigram/develop • 1914371 • 1 files, +18/-2
Log focus manager exceptions
UnigramDev/Unigram/develop • 7189e2b • 1 files, +16/-0
Try to park window focus before swapping content
UnigramDev/Unigram/develop • 9d60582 • 1 files, +4/-1
Enable bubble tails only in high performance mode
UnigramDev/Unigram/develop • c3cdae3 • 1 files, +1/-1
Don't ignore source ImageBrush
UnigramDev/Unigram/develop • a99cbaf • 31 files, +222/-87
Update TDLib
UnigramDev/Unigram/develop • 0907419 • 3 files, +11/-12
Update webrtc to the 2026-08-19 archives, built with Visual Studio 18
UnigramDev/Unigram/develop • 6fcff0b • 6 files, +29/-0
Split generators into two projects
UnigramDev/Unigram/develop • 6fb1c62 • 10 files, +230/-64
Support message ephemeral content
UnigramDev/Unigram/develop • a2e5b96 • 6 files, +63/-6
Handle unsupported rich message blocks
UnigramDev/Unigram/develop • c2b0239 • 1 files, +24/-0
Store community full info
UnigramDev/Unigram/develop • a16508c • 1 files, +3/-0
Unsubscribe events on unlock
UnigramDev/Unigram/develop • dafbee5 • 1 files, +7/-3
Fix VideoAnimation getting stuck on read loop
UnigramDev/Unigram/develop • 0769a06 • 1 files, +6/-1
Capture RPC_E_WRONG_THREAD too
#unigram
UnigramDev/Unigram/develop • ba5dbcb • 13 files, +1220/-43
Animate deleted messages coming apart
A frozen visual surface captures at the compositor commit that follows the
freeze, so the view's mirror holds a removal back for one frame to give it one.
The view model applies updateDeleteMessages unchanged.
IsInitial becomes AnimationState, which is also how the view tells a deletion
from a row leaving the list for any other reason. The renderer is a diagnostics
setting, off by default in the Store build.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
UnigramDev/Unigram/develop • c290b37 • 1 files, +8/-1
Try to fix null ref
UnigramDev/Unigram/develop • 24927ab • 1 files, +73/-9
Park focus asynchronously when swapping window content
Control.Focus answers before the focus pipeline has run, and reports success
even when a LosingFocus handler cancels the move underneath it. Focus stayed
on the passcode field, which was then detached with it, leaving the focus
manager pointing at an element XAML can no longer resolve a peer for.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
#unigram
Animate deleted messages coming apart
A frozen visual surface captures at the compositor commit that follows the
freeze, so the view's mirror holds a removal back for one frame to give it one.
The view model applies updateDeleteMessages unchanged.
IsInitial becomes AnimationState, which is also how the view tells a deletion
from a row leaving the list for any other reason. The renderer is a diagnostics
setting, off by default in the Store build.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
UnigramDev/Unigram/develop • c290b37 • 1 files, +8/-1
Try to fix null ref
UnigramDev/Unigram/develop • 24927ab • 1 files, +73/-9
Park focus asynchronously when swapping window content
Control.Focus answers before the focus pipeline has run, and reports success
even when a LosingFocus handler cancels the move underneath it. Focus stayed
on the passcode field, which was then detached with it, leaving the focus
manager pointing at an element XAML can no longer resolve a peer for.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
#unigram
Ajaxy/telegram-tt/master • b70a9f3 • 3 files, +4/-4
12.0.40
Ajaxy/telegram-tt/master • 00b3e6c • 28 files, +627/-17
Profile: Add "Playlist" tab with saved music
Lists the music a peer has added to their profile, next to Posts and Gifts
and ahead of the shared media tabs. The tab is shown when `userFull` reports
saved music, so it costs no extra request.
Tracks come from `users.getSavedMusic` as bare documents, so they are played
inline through their own `savedMusic` track queue, which advances in listing
order. `TrackId` accepts document-based ids alongside message-based ones, and
file references are repaired via `users.getSavedMusicByID`.
Also keeps the current user's own playlist in step with "Add to Profile", so
toggling does not need a refetch.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Ajaxy/telegram-tt/master • a91fb87 • 2 files, +8/-1
Modals: Fix link overflow for modal windows (#7216)
Ajaxy/telegram-tt/master • a821d5d • 5 files, +47/-22
TLottie: Bump renderer (#7227)
Ajaxy/telegram-tt/master • 81fe0ff • 80 files, +4141/-1446
Emoji Picker: Add search (#7210)
Ajaxy/telegram-tt/master • 4542449 • 1 files, +5/-1
Round Video: Fix width (#7226)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Ajaxy/telegram-tt/master • 8b63941 • 144 files, +593/-569
[Build]
#webz
12.0.40
Ajaxy/telegram-tt/master • 00b3e6c • 28 files, +627/-17
Profile: Add "Playlist" tab with saved music
Lists the music a peer has added to their profile, next to Posts and Gifts
and ahead of the shared media tabs. The tab is shown when `userFull` reports
saved music, so it costs no extra request.
Tracks come from `users.getSavedMusic` as bare documents, so they are played
inline through their own `savedMusic` track queue, which advances in listing
order. `TrackId` accepts document-based ids alongside message-based ones, and
file references are repaired via `users.getSavedMusicByID`.
Also keeps the current user's own playlist in step with "Add to Profile", so
toggling does not need a refetch.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Ajaxy/telegram-tt/master • a91fb87 • 2 files, +8/-1
Modals: Fix link overflow for modal windows (#7216)
Ajaxy/telegram-tt/master • a821d5d • 5 files, +47/-22
TLottie: Bump renderer (#7227)
Ajaxy/telegram-tt/master • 81fe0ff • 80 files, +4141/-1446
Emoji Picker: Add search (#7210)
Ajaxy/telegram-tt/master • 4542449 • 1 files, +5/-1
Round Video: Fix width (#7226)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Ajaxy/telegram-tt/master • 8b63941 • 144 files, +593/-569
[Build]
#webz
UnigramDev/Unigram/develop • 8b28e13 • 1 files, +28/-0
Note playing a paused recording back as todo
The paused bar draws a waveform with nothing to press, and neither the ogg nor
the mp4 is a finished file at the pause, so what gets played is the question the
task turns on.
#unigram
Note playing a paused recording back as todo
The paused bar draws a waveform with nothing to press, and neither the ogg nor
the mp4 is a finished file at the pause, so what gets played is the question the
task turns on.
#unigram
TGX-Android/Telegram-X/main • dc7a0be • 110 files, +13/-3
Reduce non-latest APK size
TGX-Android/Telegram-X/main • 39e7361 • 1 files, +1/-1
Version bump to `1805`
#tgxandroid
Reduce non-latest APK size
TGX-Android/Telegram-X/main • 39e7361 • 1 files, +1/-1
Version bump to `1805`
#tgxandroid
🫡3
telegramdesktop/tdesktop/dev • d23928e • 3 files, +25/-4
Share the notification gate with the poll scheduler
Task: 2026/08/18/share-notification-gate-predicate-with-scheduler
telegramdesktop/tdesktop/dev • 3667c0e • 3 files, +34/-9
Attribute poll vote notifications to the voted message
Task: 2026/08/18/attribute-poll-vote-notifications-to-voted-message
telegramdesktop/tdesktop/dev • 449b2eb • 1 files, +28/-9
[ai] Digest retained task content from git, not the checkout
A consolidation alias sealed on one platform could never revalidate on
another, because the seal hashed working-tree bytes.
telegramdesktop/tdesktop/dev • de211ff • 2 files, +5/-2
Fix build on MSVC.
telegramdesktop/tdesktop/dev • 40043de • 1 files, +0/-10
Remove irrelevant helper info.
telegramdesktop/tdesktop/dev • 9c73541 • 1 files, +3/-0
Survive creating a window with none open
Task: 2026/08/15/survive-window-creation-with-an-empty-registry
telegramdesktop/tdesktop/dev • 8d657ca • 3 files, +25/-5
Clear a window's TouchBar when it is destroyed
Task: 2026/08/15/survive-last-primary-close-after-an-extra-window
telegramdesktop/tdesktop/dev • 56ff88e • 1 files, +13/-15
Guard delayed updateOnline on the window
Task: 2026/08/15/survive-last-primary-close-after-an-extra-window
telegramdesktop/tdesktop/dev • 02e51c1 • 2 files, +162/-5
[ai] Stage removed paths in workspace helper commits
Task: 2026/08/18/stage-removed-paths-in-helper-commits
telegramdesktop/tdesktop/dev • c367454 • 2 files, +61/-1
[ai] Read non-ASCII paths literally in workspace scans
Task: 2026/08/18/read-non-ascii-paths-literally-in-change-scans
telegramdesktop/tdesktop/dev • 85a6249 • 2 files, +216/-18
[ai] Read helper paths literally, fix crash detection
Task: 2026/08/18/repair-helper-path-reads-and-linux-crash-diagnosis
telegramdesktop/tdesktop/dev • 4da95d2 • 1 files, +50/-37
Fixed macOS tray menu blocking whole application event loop.
#tdesktop
Share the notification gate with the poll scheduler
Task: 2026/08/18/share-notification-gate-predicate-with-scheduler
telegramdesktop/tdesktop/dev • 3667c0e • 3 files, +34/-9
Attribute poll vote notifications to the voted message
Task: 2026/08/18/attribute-poll-vote-notifications-to-voted-message
telegramdesktop/tdesktop/dev • 449b2eb • 1 files, +28/-9
[ai] Digest retained task content from git, not the checkout
A consolidation alias sealed on one platform could never revalidate on
another, because the seal hashed working-tree bytes.
telegramdesktop/tdesktop/dev • de211ff • 2 files, +5/-2
Fix build on MSVC.
telegramdesktop/tdesktop/dev • 40043de • 1 files, +0/-10
Remove irrelevant helper info.
telegramdesktop/tdesktop/dev • 9c73541 • 1 files, +3/-0
Survive creating a window with none open
Task: 2026/08/15/survive-window-creation-with-an-empty-registry
telegramdesktop/tdesktop/dev • 8d657ca • 3 files, +25/-5
Clear a window's TouchBar when it is destroyed
Task: 2026/08/15/survive-last-primary-close-after-an-extra-window
telegramdesktop/tdesktop/dev • 56ff88e • 1 files, +13/-15
Guard delayed updateOnline on the window
Task: 2026/08/15/survive-last-primary-close-after-an-extra-window
telegramdesktop/tdesktop/dev • 02e51c1 • 2 files, +162/-5
[ai] Stage removed paths in workspace helper commits
Task: 2026/08/18/stage-removed-paths-in-helper-commits
telegramdesktop/tdesktop/dev • c367454 • 2 files, +61/-1
[ai] Read non-ASCII paths literally in workspace scans
Task: 2026/08/18/read-non-ascii-paths-literally-in-change-scans
telegramdesktop/tdesktop/dev • 85a6249 • 2 files, +216/-18
[ai] Read helper paths literally, fix crash detection
Task: 2026/08/18/repair-helper-path-reads-and-linux-crash-diagnosis
telegramdesktop/tdesktop/dev • 4da95d2 • 1 files, +50/-37
Fixed macOS tray menu blocking whole application event loop.
#tdesktop
🫡2
telegramdesktop/tdesktop/dev • d4df978 • 4 files, +45/-46
Moved settings section search row to shared helper.
telegramdesktop/tdesktop/dev • 4742c42 • 3 files, +44/-12
Switched experimental settings search to shared word matching.
telegramdesktop/tdesktop/dev • c392e53 • 1 files, +143/-9
Added quick search in keyboard shortcuts settings section.
telegramdesktop/tdesktop/dev • b85c806 • 1 files, +1/-1
Fix new restricted WEB proxy on Windows.
telegramdesktop/tdesktop/dev • df5d3af • 1 files, +1/-2
Drop the subsumed clip rect from the unique gift bg
Task: 2026/08/18/drop-subsumed-clip-rect-from-unique-gift-bg
telegramdesktop/tdesktop/dev • 08dfb4e • 1 files, +1/-1
Floor the stored sparse ids count at zero
Task: 2026/08/18/floor-stored-shared-media-count-at-zero
telegramdesktop/tdesktop/dev • 270d47b • 1 files, +2/-2
Compose the poll vote notification via the shared lookup
Task: 2026/08/18/read-vote-notification-poll-through-shared-lookup
telegramdesktop/tdesktop/dev • c7b1930 • 1 files, +1/-2
Read the unread poll vote's poll through the shared lookup
Task: 2026/08/18/read-unread-vote-poll-through-shared-lookup
telegramdesktop/tdesktop/dev • 38aec1e • 7 files, +12/-25
Fix build on Linux.
telegramdesktop/tdesktop/dev • b66e274 • 2 files, +8/-7
Added pixel ratio as arg to credits graphics for stars image generation.
telegramdesktop/tdesktop/dev • 64d9d30 • 1 files, +13/-10
Removed outline passes from single star image generation.
telegramdesktop/tdesktop/dev • 7de7b31 • 2 files, +119/-59
Replaced subscription badge outline path with computed cut mask.
telegramdesktop/tdesktop/dev • aa7217d • 1 files, +4/-2
Added active state guard for corner badge frame rebuild in dialogs.
#tdesktop
Moved settings section search row to shared helper.
telegramdesktop/tdesktop/dev • 4742c42 • 3 files, +44/-12
Switched experimental settings search to shared word matching.
telegramdesktop/tdesktop/dev • c392e53 • 1 files, +143/-9
Added quick search in keyboard shortcuts settings section.
telegramdesktop/tdesktop/dev • b85c806 • 1 files, +1/-1
Fix new restricted WEB proxy on Windows.
telegramdesktop/tdesktop/dev • df5d3af • 1 files, +1/-2
Drop the subsumed clip rect from the unique gift bg
Task: 2026/08/18/drop-subsumed-clip-rect-from-unique-gift-bg
telegramdesktop/tdesktop/dev • 08dfb4e • 1 files, +1/-1
Floor the stored sparse ids count at zero
Task: 2026/08/18/floor-stored-shared-media-count-at-zero
telegramdesktop/tdesktop/dev • 270d47b • 1 files, +2/-2
Compose the poll vote notification via the shared lookup
Task: 2026/08/18/read-vote-notification-poll-through-shared-lookup
telegramdesktop/tdesktop/dev • c7b1930 • 1 files, +1/-2
Read the unread poll vote's poll through the shared lookup
Task: 2026/08/18/read-unread-vote-poll-through-shared-lookup
telegramdesktop/tdesktop/dev • 38aec1e • 7 files, +12/-25
Fix build on Linux.
telegramdesktop/tdesktop/dev • b66e274 • 2 files, +8/-7
Added pixel ratio as arg to credits graphics for stars image generation.
telegramdesktop/tdesktop/dev • 64d9d30 • 1 files, +13/-10
Removed outline passes from single star image generation.
telegramdesktop/tdesktop/dev • 7de7b31 • 2 files, +119/-59
Replaced subscription badge outline path with computed cut mask.
telegramdesktop/tdesktop/dev • aa7217d • 1 files, +4/-2
Added active state guard for corner badge frame rebuild in dialogs.
#tdesktop
🫡2
telegramdesktop/tdesktop/dev • de957d6 • 3 files, +32/-0
Added disabling of restore windows offer after three skips.
telegramdesktop/tdesktop/dev • 88f5a3a • 4 files, +57/-0
Added platform primitive for window screenshot protection.
telegramdesktop/tdesktop/dev • 390d0e1 • 5 files, +156/-0
Added screenshot protection reason registry to application.
telegramdesktop/tdesktop/dev • 6298b1b • 3 files, +27/-17
Extracted reactive check for peer allowing forwarding.
telegramdesktop/tdesktop/dev • a4cfb9f • 2 files, +14/-0
Added screenshot protection for chats forbidding forwarding.
telegramdesktop/tdesktop/dev • 4a96908 • 2 files, +27/-0
Added screenshot protection following media viewer content.
telegramdesktop/tdesktop/dev • 9fc6739 • 1 files, +5/-0
Added screenshot protection for one-time media player.
telegramdesktop/tdesktop/dev • d8f336d • 2 files, +9/-0
Added screenshot protection for payment checkout panel.
telegramdesktop/tdesktop/dev • 414b562 • 5 files, +2/-67
Removed protobuf dependency from cld3 and build recipes.
telegramdesktop/tdesktop/dev • 0326af4 • 1 files, +71/-21
Reduced full size image copies per transcoded frame.
telegramdesktop/tdesktop/dev • d94501a • 1 files, +3/-0
Added premultiplication of alpha sources in video transcode.
telegramdesktop/tdesktop/dev • 9f23427 • 1 files, +36/-35
Reduced per pixel work in round video recorder overlay.
Related commit: b4120b156e.
telegramdesktop/tdesktop/dev • e185a1a • 2 files, +11/-5
Fixed rich paste toast offering editor with same formatting.
#tdesktop
Added disabling of restore windows offer after three skips.
telegramdesktop/tdesktop/dev • 88f5a3a • 4 files, +57/-0
Added platform primitive for window screenshot protection.
telegramdesktop/tdesktop/dev • 390d0e1 • 5 files, +156/-0
Added screenshot protection reason registry to application.
telegramdesktop/tdesktop/dev • 6298b1b • 3 files, +27/-17
Extracted reactive check for peer allowing forwarding.
telegramdesktop/tdesktop/dev • a4cfb9f • 2 files, +14/-0
Added screenshot protection for chats forbidding forwarding.
telegramdesktop/tdesktop/dev • 4a96908 • 2 files, +27/-0
Added screenshot protection following media viewer content.
telegramdesktop/tdesktop/dev • 9fc6739 • 1 files, +5/-0
Added screenshot protection for one-time media player.
telegramdesktop/tdesktop/dev • d8f336d • 2 files, +9/-0
Added screenshot protection for payment checkout panel.
telegramdesktop/tdesktop/dev • 414b562 • 5 files, +2/-67
Removed protobuf dependency from cld3 and build recipes.
telegramdesktop/tdesktop/dev • 0326af4 • 1 files, +71/-21
Reduced full size image copies per transcoded frame.
telegramdesktop/tdesktop/dev • d94501a • 1 files, +3/-0
Added premultiplication of alpha sources in video transcode.
telegramdesktop/tdesktop/dev • 9f23427 • 1 files, +36/-35
Reduced per pixel work in round video recorder overlay.
Related commit: b4120b156e.
telegramdesktop/tdesktop/dev • e185a1a • 2 files, +11/-5
Fixed rich paste toast offering editor with same formatting.
#tdesktop
🫡2