UnigramDev/Unigram/more-button-disabled • 837811e • 1 files, +4/-7
Point MoreButton's disabled state at the icon it actually has
#unigram
Point MoreButton's disabled state at the icon it actually has
#unigram
morethanwords/tweb/master • 00c1e1a • 1 files, +64/-52
Render the hh:mm fast path through the cached Intl formatter
Replace the hand-built zero-padded string + amPmCache day-period snapshot
in IntlDateElement.update() with formatTimeString(): the cached
{hour: '2-digit', minute: '2-digit'} formatter (the locale already
carries -u-hc-h12/h23) plus a per-minute-of-day memo. This deletes
updateAmPm/amPmCache entirely and fixes the residual half-localization —
native digits for fa/my, locale time separators for fi/da/id — while the
other locales stay byte-identical.
Perf stays at hand-built parity (~36ns vs ~24ns per render; raw cached
format() is ~560ns): rendered strings are memoized by hours*60+minutes in
a WeakMap keyed by the formatter instance, so the memo dies with it
whenever cachedDateTimeFormats is cleared, with no extra invalidation
wiring. A new memo pre-renders all 1440 minutes in chunked idle tasks
(bailing if its generation is orphaned by a locale/format change), so
batches of distinct times — 30+ bubbles, shared media — never pay for
Intl after warmup. The prewarm skips DST-hole wall times, leaving them to
the lazy path, which is always self-consistent for real dates.
Also: setTimeFormat now drops cached formatters on the first call too
(they carry no -u-hc- before timeFormat is known), and getDateTimeFormat
no longer builds an invalid language tag while timeFormat is undefined.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
morethanwords/tweb/master • f73102e • 4 files, +154/-33
Explain an unknown sender's emoji status in the actions plate
A stranger writing to us can wear a badge next to their name, and nothing said
what it was — easy to read as a verification mark. Add the note the other
clients show: a line under the contact-status buttons naming the badge and
pointing at Premium.
Only a badge that carries information is worth the line: a collectible, or a
custom emoji of the sender's own. The recolorable ones every subscriber picks
from say nothing, which is the `text_color` attribute here and the coloredSetId
check in tdesktop. Resolving the document can hit the network, so it runs after
the plate is up rather than on the chat-open path — the note appears once it
lands — and it is gated to the states where we are deciding about a stranger,
so no Premium promo turns up under the topic-reopen or set-photo prompts.
Layout: the note goes below the buttons, not above. The cross belongs with the
buttons (it dismisses the bar), and the note is a two-line footnote rather than
a caption for the action the way the fee notice is, so putting it on top would
push the buttons away from the topbar. The plate is a column now with the
buttons in a row of their own; `flex-wrap` would have dropped the cross onto a
line of its own once `is-multiple` makes it a flex item.
The text styling is shared with the fee notice rather than copied, and the
badge needs three overrides to sit in a sentence: it is a `display: flex` box
built to be a flex item beside the peer title, carrying a margin meant for that
spot. The Premium link carries no href, so it needs its own cursor to beat the
`cursor: default` the plate inherits from `.sidebar-header`.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
#webk
Render the hh:mm fast path through the cached Intl formatter
Replace the hand-built zero-padded string + amPmCache day-period snapshot
in IntlDateElement.update() with formatTimeString(): the cached
{hour: '2-digit', minute: '2-digit'} formatter (the locale already
carries -u-hc-h12/h23) plus a per-minute-of-day memo. This deletes
updateAmPm/amPmCache entirely and fixes the residual half-localization —
native digits for fa/my, locale time separators for fi/da/id — while the
other locales stay byte-identical.
Perf stays at hand-built parity (~36ns vs ~24ns per render; raw cached
format() is ~560ns): rendered strings are memoized by hours*60+minutes in
a WeakMap keyed by the formatter instance, so the memo dies with it
whenever cachedDateTimeFormats is cleared, with no extra invalidation
wiring. A new memo pre-renders all 1440 minutes in chunked idle tasks
(bailing if its generation is orphaned by a locale/format change), so
batches of distinct times — 30+ bubbles, shared media — never pay for
Intl after warmup. The prewarm skips DST-hole wall times, leaving them to
the lazy path, which is always self-consistent for real dates.
Also: setTimeFormat now drops cached formatters on the first call too
(they carry no -u-hc- before timeFormat is known), and getDateTimeFormat
no longer builds an invalid language tag while timeFormat is undefined.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
morethanwords/tweb/master • f73102e • 4 files, +154/-33
Explain an unknown sender's emoji status in the actions plate
A stranger writing to us can wear a badge next to their name, and nothing said
what it was — easy to read as a verification mark. Add the note the other
clients show: a line under the contact-status buttons naming the badge and
pointing at Premium.
Only a badge that carries information is worth the line: a collectible, or a
custom emoji of the sender's own. The recolorable ones every subscriber picks
from say nothing, which is the `text_color` attribute here and the coloredSetId
check in tdesktop. Resolving the document can hit the network, so it runs after
the plate is up rather than on the chat-open path — the note appears once it
lands — and it is gated to the states where we are deciding about a stranger,
so no Premium promo turns up under the topic-reopen or set-photo prompts.
Layout: the note goes below the buttons, not above. The cross belongs with the
buttons (it dismisses the bar), and the note is a two-line footnote rather than
a caption for the action the way the fee notice is, so putting it on top would
push the buttons away from the topbar. The plate is a column now with the
buttons in a row of their own; `flex-wrap` would have dropped the cross onto a
line of its own once `is-multiple` makes it a flex item.
The text styling is shared with the fee notice rather than copied, and the
badge needs three overrides to sit in a sentence: it is a `display: flex` box
built to be a flex item beside the peer title, carrying a margin meant for that
spot. The Premium link carries no href, so it needs its own cursor to beat the
`cursor: default` the plate inherits from `.sidebar-header`.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
#webk
🫡3
Assets for release
• Source code (tar.gz, full)
• Windows on ARM: Portable
• Windows 64 bit: Portable
• Windows 32 bit: Portable
• Windows on ARM: Installer
• Windows 64 bit: Installer
• macOS 10.13+: Installer
• Windows 32 bit: Installer
• Linux 64 bit: Binary
#tdesktop
v7.1.3 of telegramdesktop/tdesktop:• Source code (tar.gz, full)
• Windows on ARM: Portable
• Windows 64 bit: Portable
• Windows 32 bit: Portable
• Windows on ARM: Installer
• Windows 64 bit: Installer
• macOS 10.13+: Installer
• Windows 32 bit: Installer
• Linux 64 bit: Binary
#tdesktop
🫡3
UnigramDev/Unigram/develop • 668d6d2 • 15 files, +657/-396
Move downloads logic to DownloadFolderService
UnigramDev/Unigram/develop • d9d72de • 2 files, +9/-9
Use Logger.TickCount in charts
UnigramDev/Unigram/develop • 5696da9 • 1 files, +18/-2
Record that a shared Backdrop acrylic falls back across islands
UnigramDev/Unigram/develop • 7dfc573 • 1 files, +10/-0
State that every Win32 window is on the main thread
UnigramDev/Unigram/develop • 051857b • 62 files, +631/-589
Split range operations out of DiffObservableCollection
UnigramDev/Unigram/develop • d0d35ee • 29 files, +398/-273
Make HasMoreItems part of the incremental loading contract
UnigramDev/Unigram/develop • 3d96c87 • 4 files, +57/-301
Remove LegacyIncrementalCollection
UnigramDev/Unigram/develop • 0e09016 • 7 files, +510/-382
Split group call participants into a model and a windowed view
UnigramDev/Unigram/develop • 5475e7f • 3 files, +73/-0
Track the files a reader is streaming
UnigramDev/Unigram/develop • 9996e8a • 13 files, +181/-138
Hide a download that only feeds a reader from the file buttons
#unigram
Move downloads logic to DownloadFolderService
UnigramDev/Unigram/develop • d9d72de • 2 files, +9/-9
Use Logger.TickCount in charts
UnigramDev/Unigram/develop • 5696da9 • 1 files, +18/-2
Record that a shared Backdrop acrylic falls back across islands
UnigramDev/Unigram/develop • 7dfc573 • 1 files, +10/-0
State that every Win32 window is on the main thread
UnigramDev/Unigram/develop • 051857b • 62 files, +631/-589
Split range operations out of DiffObservableCollection
UnigramDev/Unigram/develop • d0d35ee • 29 files, +398/-273
Make HasMoreItems part of the incremental loading contract
UnigramDev/Unigram/develop • 3d96c87 • 4 files, +57/-301
Remove LegacyIncrementalCollection
UnigramDev/Unigram/develop • 0e09016 • 7 files, +510/-382
Split group call participants into a model and a windowed view
UnigramDev/Unigram/develop • 5475e7f • 3 files, +73/-0
Track the files a reader is streaming
UnigramDev/Unigram/develop • 9996e8a • 13 files, +181/-138
Hide a download that only feeds a reader from the file buttons
#unigram
UnigramDev/Unigram/playback-reconcile • 7c83a60 • 2 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-reconcile • 2b841f9 • 3 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-reconcile • ffd2c40 • 2 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-reconcile • f2b71db • 3 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
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-reconcile • 2b841f9 • 3 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-reconcile • ffd2c40 • 2 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-reconcile • f2b71db • 3 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-shuffle • 90167bf • 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/public-canary • 0f93f5a • 4 files, +7/-0
Add public keys for canary channel.
telegramdesktop/tdesktop/public-canary • f250cb4 • 9 files, +1279/-0
Add v2 update verification core and build channels
telegramdesktop/tdesktop/public-canary • e5c52dc • 3 files, +672/-0
Support v2 channel packing in the Packer
telegramdesktop/tdesktop/public-canary • 74d5c7c • 7 files, +662/-141
Verify, fetch and install v2 updates in the client
telegramdesktop/tdesktop/public-canary • df92d4e • 2 files, +9/-1
Show canary version and skip changelogs on canary
telegramdesktop/tdesktop/public-canary • 349b3ef • 2 files, +821/-0
Add focused tests for v2 update verification
telegramdesktop/tdesktop/public-canary • d35028c • 1 files, +862/-0
Add canary build and publish workflow
telegramdesktop/tdesktop/public-canary • b122add • 1 files, +186/-163
Build one canary lane per repository in CI
telegramdesktop/tdesktop/public-canary • 2497968 • 3 files, +31/-13
Use readable v2 update file names
telegramdesktop/tdesktop/public-canary • 542d2a0 • 4 files, +117/-8
Use new update names and pinned Bot API image in CI
telegramdesktop/tdesktop/public-canary • 3dfd2a2 • 3 files, +108/-62
Ship per-arch mac updates with a universal installer
telegramdesktop/tdesktop/public-canary • aa6de6c • 1 files, +70/-28
Publish portable archives as canary first installs
telegramdesktop/tdesktop/public-canary • a65a8b0 • 1 files, +5/-4
Drop the bundled d3d compiler from canary builds
#tdesktop
Add public keys for canary channel.
telegramdesktop/tdesktop/public-canary • f250cb4 • 9 files, +1279/-0
Add v2 update verification core and build channels
telegramdesktop/tdesktop/public-canary • e5c52dc • 3 files, +672/-0
Support v2 channel packing in the Packer
telegramdesktop/tdesktop/public-canary • 74d5c7c • 7 files, +662/-141
Verify, fetch and install v2 updates in the client
telegramdesktop/tdesktop/public-canary • df92d4e • 2 files, +9/-1
Show canary version and skip changelogs on canary
telegramdesktop/tdesktop/public-canary • 349b3ef • 2 files, +821/-0
Add focused tests for v2 update verification
telegramdesktop/tdesktop/public-canary • d35028c • 1 files, +862/-0
Add canary build and publish workflow
telegramdesktop/tdesktop/public-canary • b122add • 1 files, +186/-163
Build one canary lane per repository in CI
telegramdesktop/tdesktop/public-canary • 2497968 • 3 files, +31/-13
Use readable v2 update file names
telegramdesktop/tdesktop/public-canary • 542d2a0 • 4 files, +117/-8
Use new update names and pinned Bot API image in CI
telegramdesktop/tdesktop/public-canary • 3dfd2a2 • 3 files, +108/-62
Ship per-arch mac updates with a universal installer
telegramdesktop/tdesktop/public-canary • aa6de6c • 1 files, +70/-28
Publish portable archives as canary first installs
telegramdesktop/tdesktop/public-canary • a65a8b0 • 1 files, +5/-4
Drop the bundled d3d compiler from canary builds
#tdesktop
🫡3
telegramdesktop/tdesktop/public-canary • f3d2a88 • 3 files, +41/-4
Embed external and local signatures in one packer pass
telegramdesktop/tdesktop/public-canary • c2e0045 • 2 files, +82/-3
Add a v2 update switch to the release build scripts
telegramdesktop/tdesktop/public-canary • 400aa95 • 1 files, +29/-1
Read the pinned metadata through the local Bot API
telegramdesktop/tdesktop/public-canary • 0021ab0 • 3 files, +25/-1
Support v2 updates in the updater and deploy scripts
telegramdesktop/tdesktop/public-canary • 34ba6d0 • 23 files, +872/-216
Harden canary builds running.
telegramdesktop/tdesktop/public-canary • b2780aa • 4 files, +20/-10
Fix build for Release.
telegramdesktop/tdesktop/public-canary • 1498b72 • 2 files, +68/-21
Try to fix signing.
telegramdesktop/tdesktop/public-canary • 725471e • 1 files, +77/-5
Improve caching.
telegramdesktop/tdesktop/public-canary • ab01960 • 1 files, +17/-5
Try to fix signing again.
telegramdesktop/tdesktop/public-canary • d7053db • 10 files, +598/-311
New names, separate publishing.
telegramdesktop/tdesktop/public-canary • a80a885 • 7 files, +255/-6
Fix translocated launch on macOS.
telegramdesktop/tdesktop/public-canary • a7f0eb2 • 4 files, +32/-14
Improve version display for canary.
telegramdesktop/tdesktop/public-canary • 01db4d3 • 1 files, +141/-40
Split macOS canary build into per-arch jobs.
#tdesktop
Embed external and local signatures in one packer pass
telegramdesktop/tdesktop/public-canary • c2e0045 • 2 files, +82/-3
Add a v2 update switch to the release build scripts
telegramdesktop/tdesktop/public-canary • 400aa95 • 1 files, +29/-1
Read the pinned metadata through the local Bot API
telegramdesktop/tdesktop/public-canary • 0021ab0 • 3 files, +25/-1
Support v2 updates in the updater and deploy scripts
telegramdesktop/tdesktop/public-canary • 34ba6d0 • 23 files, +872/-216
Harden canary builds running.
telegramdesktop/tdesktop/public-canary • b2780aa • 4 files, +20/-10
Fix build for Release.
telegramdesktop/tdesktop/public-canary • 1498b72 • 2 files, +68/-21
Try to fix signing.
telegramdesktop/tdesktop/public-canary • 725471e • 1 files, +77/-5
Improve caching.
telegramdesktop/tdesktop/public-canary • ab01960 • 1 files, +17/-5
Try to fix signing again.
telegramdesktop/tdesktop/public-canary • d7053db • 10 files, +598/-311
New names, separate publishing.
telegramdesktop/tdesktop/public-canary • a80a885 • 7 files, +255/-6
Fix translocated launch on macOS.
telegramdesktop/tdesktop/public-canary • a7f0eb2 • 4 files, +32/-14
Improve version display for canary.
telegramdesktop/tdesktop/public-canary • 01db4d3 • 1 files, +141/-40
Split macOS canary build into per-arch jobs.
#tdesktop
🫡3
telegramdesktop/tdesktop/public-canary • 4092996 • 7 files, +198/-3
Add an in-title CANARY/PRIVATE marking.
telegramdesktop/tdesktop/public-canary • 94a13f9 • 6 files, +42/-24
Rename canary branches.
telegramdesktop/tdesktop/public-canary • 3ca42c0 • 1 files, +3/-0
Fixed per-arch build picking universal crashpad handler.
telegramdesktop/tdesktop/public-canary • a98c5ba • 1 files, +11/-4
Keep TelegramForcePortable in portable archives.
telegramdesktop/tdesktop/public-canary • f8bff07 • 1 files, +11/-11
Allow CANARY_ALLOW_UNSIGNED in public lane too.
telegramdesktop/tdesktop/public-canary • c0c8a2d • 1 files, +38/-3
Try workaround clone problems.
telegramdesktop/tdesktop/public-canary • 7da0215 • 1 files, +25/-19
Fix build with GCC.
telegramdesktop/tdesktop/public-canary • 8085132 • 2 files, +36/-19
Fix public publishing.
telegramdesktop/tdesktop/public-canary • 76908ec • 1 files, +6/-6
Keep canary artifacts for seven days
telegramdesktop/tdesktop/public-canary • 2be48f1 • 1 files, +29/-1
Fixed missing ATL breaking breakpad build in canary Windows job.
telegramdesktop/tdesktop/public-canary • d2828bc • 1 files, +50/-20
Install ATL for the pinned Windows toolset
telegramdesktop/tdesktop/public-canary • ed9f891 • 1 files, +10/-1
Fallback to v1 update unpacking.
telegramdesktop/tdesktop/public-canary • d0a5e0d • 3 files, +26/-7
[ai] Refuse implausible test watchdog values
#tdesktop
Add an in-title CANARY/PRIVATE marking.
telegramdesktop/tdesktop/public-canary • 94a13f9 • 6 files, +42/-24
Rename canary branches.
telegramdesktop/tdesktop/public-canary • 3ca42c0 • 1 files, +3/-0
Fixed per-arch build picking universal crashpad handler.
telegramdesktop/tdesktop/public-canary • a98c5ba • 1 files, +11/-4
Keep TelegramForcePortable in portable archives.
telegramdesktop/tdesktop/public-canary • f8bff07 • 1 files, +11/-11
Allow CANARY_ALLOW_UNSIGNED in public lane too.
telegramdesktop/tdesktop/public-canary • c0c8a2d • 1 files, +38/-3
Try workaround clone problems.
telegramdesktop/tdesktop/public-canary • 7da0215 • 1 files, +25/-19
Fix build with GCC.
telegramdesktop/tdesktop/public-canary • 8085132 • 2 files, +36/-19
Fix public publishing.
telegramdesktop/tdesktop/public-canary • 76908ec • 1 files, +6/-6
Keep canary artifacts for seven days
telegramdesktop/tdesktop/public-canary • 2be48f1 • 1 files, +29/-1
Fixed missing ATL breaking breakpad build in canary Windows job.
telegramdesktop/tdesktop/public-canary • d2828bc • 1 files, +50/-20
Install ATL for the pinned Windows toolset
telegramdesktop/tdesktop/public-canary • ed9f891 • 1 files, +10/-1
Fallback to v1 update unpacking.
telegramdesktop/tdesktop/public-canary • d0a5e0d • 3 files, +26/-7
[ai] Refuse implausible test watchdog values
#tdesktop
🫡3
telegramdesktop/tdesktop/public-canary • c857c57 • 3 files, +0/-0
Delete unused account_check icon rasters
telegramdesktop/tdesktop/public-canary • 02cb1fa • 2 files, +11/-2
Correct shared media index writes and viewer counts
telegramdesktop/tdesktop/public-canary • 2b30e1d • 1 files, +16/-3
Re-index a sent message only when its thread moves
telegramdesktop/tdesktop/public-canary • 28a21da • 2 files, +60/-6
Derive the pinned bar's topic root from the thread
telegramdesktop/tdesktop/public-canary • 06787dc • 2 files, +1/-1
Pair the uploaded media edit's shared media removal
telegramdesktop/tdesktop/public-canary • c41ae88 • 1 files, +20/-5
Drop a sent message from the shared media lists it left
telegramdesktop/tdesktop/public-canary • b99c6a5 • 1 files, +3/-3
Don't keep a media reference across rich page changes
telegramdesktop/tdesktop/public-canary • 9c5f26b • 5 files, +30/-13
Don't lower shared media counts for unindexed messages
telegramdesktop/tdesktop/public-canary • a42f61b • 7 files, +40/-56
Tie stored pinned index writes to the pinned flag
telegramdesktop/tdesktop/public-canary • a88696d • 2 files, +52/-1
Write the pinned thread index only in forum peers
telegramdesktop/tdesktop/public-canary • f8ae25b • 2 files, +5/-2
Give a saved sublist its own pinned message list
telegramdesktop/tdesktop/public-canary • ff6102d • 1 files, +6/-0
Retire shared media of a deleted topic with no object
telegramdesktop/tdesktop/public-canary • c626a1c • 5 files, +31/-0
Retire all topic shared media when a forum is destroyed
#tdesktop
Delete unused account_check icon rasters
telegramdesktop/tdesktop/public-canary • 02cb1fa • 2 files, +11/-2
Correct shared media index writes and viewer counts
telegramdesktop/tdesktop/public-canary • 2b30e1d • 1 files, +16/-3
Re-index a sent message only when its thread moves
telegramdesktop/tdesktop/public-canary • 28a21da • 2 files, +60/-6
Derive the pinned bar's topic root from the thread
telegramdesktop/tdesktop/public-canary • 06787dc • 2 files, +1/-1
Pair the uploaded media edit's shared media removal
telegramdesktop/tdesktop/public-canary • c41ae88 • 1 files, +20/-5
Drop a sent message from the shared media lists it left
telegramdesktop/tdesktop/public-canary • b99c6a5 • 1 files, +3/-3
Don't keep a media reference across rich page changes
telegramdesktop/tdesktop/public-canary • 9c5f26b • 5 files, +30/-13
Don't lower shared media counts for unindexed messages
telegramdesktop/tdesktop/public-canary • a42f61b • 7 files, +40/-56
Tie stored pinned index writes to the pinned flag
telegramdesktop/tdesktop/public-canary • a88696d • 2 files, +52/-1
Write the pinned thread index only in forum peers
telegramdesktop/tdesktop/public-canary • f8ae25b • 2 files, +5/-2
Give a saved sublist its own pinned message list
telegramdesktop/tdesktop/public-canary • ff6102d • 1 files, +6/-0
Retire shared media of a deleted topic with no object
telegramdesktop/tdesktop/public-canary • c626a1c • 5 files, +31/-0
Retire all topic shared media when a forum is destroyed
#tdesktop
🫡3
telegramdesktop/tdesktop/public-canary • 396e23e • 1 files, +6/-4
Guard the live-topic media unload against a zero root
telegramdesktop/tdesktop/public-canary • d320538 • 1 files, +6/-4
Guard the forum teardown media unload against a zero root
telegramdesktop/tdesktop/public-canary • b285e5b • 2 files, +4/-4
Resolve the self peer sublist in the shared resolver
telegramdesktop/tdesktop/public-canary • 5df6e88 • 2 files, +0/-2
Drop the write-only monoforum id from top controls
telegramdesktop/tdesktop/public-canary • 6b59a1e • 1 files, +1/-1
Read the inbox when a sublist has no parent chat
telegramdesktop/tdesktop/public-canary • ef955f1 • 1 files, +2/-8
Use the shared sublist resolver in the player panel
telegramdesktop/tdesktop/public-canary • 0ca3545 • 4 files, +35/-0
Request pinned messages when a pin is not loaded
telegramdesktop/tdesktop/public-canary • 7e48492 • 6 files, +21/-10
Open a saved sublist's own shared media page
telegramdesktop/tdesktop/public-canary • 1ff92f0 • 9 files, +63/-43
Align sublist media count, query and window keys
telegramdesktop/tdesktop/public-canary • d9feb63 • 4 files, +55/-3
Keep Info pages on their topic or sublist
telegramdesktop/tdesktop/public-canary • d860b5c • 1 files, +12/-10
Tear down Info after a sublist is destroyed
telegramdesktop/tdesktop/public-canary • 779414c • 1 files, +14/-12
Clear Info immediately when its sublist dies
telegramdesktop/tdesktop/public-canary • 3dba37f • 1 files, +9/-13
Always drop an Info wrap when its sublist dies
#tdesktop
Guard the live-topic media unload against a zero root
telegramdesktop/tdesktop/public-canary • d320538 • 1 files, +6/-4
Guard the forum teardown media unload against a zero root
telegramdesktop/tdesktop/public-canary • b285e5b • 2 files, +4/-4
Resolve the self peer sublist in the shared resolver
telegramdesktop/tdesktop/public-canary • 5df6e88 • 2 files, +0/-2
Drop the write-only monoforum id from top controls
telegramdesktop/tdesktop/public-canary • 6b59a1e • 1 files, +1/-1
Read the inbox when a sublist has no parent chat
telegramdesktop/tdesktop/public-canary • ef955f1 • 1 files, +2/-8
Use the shared sublist resolver in the player panel
telegramdesktop/tdesktop/public-canary • 0ca3545 • 4 files, +35/-0
Request pinned messages when a pin is not loaded
telegramdesktop/tdesktop/public-canary • 7e48492 • 6 files, +21/-10
Open a saved sublist's own shared media page
telegramdesktop/tdesktop/public-canary • 1ff92f0 • 9 files, +63/-43
Align sublist media count, query and window keys
telegramdesktop/tdesktop/public-canary • d9feb63 • 4 files, +55/-3
Keep Info pages on their topic or sublist
telegramdesktop/tdesktop/public-canary • d860b5c • 1 files, +12/-10
Tear down Info after a sublist is destroyed
telegramdesktop/tdesktop/public-canary • 779414c • 1 files, +14/-12
Clear Info immediately when its sublist dies
telegramdesktop/tdesktop/public-canary • 3dba37f • 1 files, +9/-13
Always drop an Info wrap when its sublist dies
#tdesktop
🫡3
telegramdesktop/tdesktop/public-canary • 221039b • 6 files, +90/-34
Reach unloaded pins on thread keys and updates
telegramdesktop/tdesktop/public-canary • 8073787 • 3 files, +11/-4
Rebind Info wrap teardown when a sublist is replaced
telegramdesktop/tdesktop/public-canary • f711e3c • 2 files, +14/-10
Tear down Layer Info instantly when its sublist dies
telegramdesktop/tdesktop/public-canary • 8970a27 • 2 files, +17/-14
Queue Info wrap teardown off sublist destroyed()
telegramdesktop/tdesktop/public-canary • 30730ea • 3 files, +19/-21
Hide Layer Info before its sublist is erased
telegramdesktop/tdesktop/public-canary • 75a414e • 2 files, +15/-18
Preserve teardown stream across Info wrap removal
telegramdesktop/tdesktop/public-canary • a23afb2 • 1 files, +0/-1
Remove stale Info teardown implementation note
telegramdesktop/tdesktop/public-canary • 05cdd44 • 1 files, +3/-2
Keep saved sublists alive through item teardown
telegramdesktop/tdesktop/public-canary • 18bb477 • 4 files, +39/-20
Align sublist media counts, windows and titles
telegramdesktop/tdesktop/public-canary • 0ea2b18 • 1 files, +7/-5
Show the new window tooltip only on entries that have one
telegramdesktop/tdesktop/public-canary • 31378df • 4 files, +90/-67
Unify sublist media window ids and persisted titles
telegramdesktop/tdesktop/public-canary • 0e685f2 • 1 files, +2/-2
Limit media topic context to forum chats
telegramdesktop/tdesktop/public-canary • 18c652d • 1 files, +1/-1
Removed stale comment about swscale destination format caching.
#tdesktop
Reach unloaded pins on thread keys and updates
telegramdesktop/tdesktop/public-canary • 8073787 • 3 files, +11/-4
Rebind Info wrap teardown when a sublist is replaced
telegramdesktop/tdesktop/public-canary • f711e3c • 2 files, +14/-10
Tear down Layer Info instantly when its sublist dies
telegramdesktop/tdesktop/public-canary • 8970a27 • 2 files, +17/-14
Queue Info wrap teardown off sublist destroyed()
telegramdesktop/tdesktop/public-canary • 30730ea • 3 files, +19/-21
Hide Layer Info before its sublist is erased
telegramdesktop/tdesktop/public-canary • 75a414e • 2 files, +15/-18
Preserve teardown stream across Info wrap removal
telegramdesktop/tdesktop/public-canary • a23afb2 • 1 files, +0/-1
Remove stale Info teardown implementation note
telegramdesktop/tdesktop/public-canary • 05cdd44 • 1 files, +3/-2
Keep saved sublists alive through item teardown
telegramdesktop/tdesktop/public-canary • 18bb477 • 4 files, +39/-20
Align sublist media counts, windows and titles
telegramdesktop/tdesktop/public-canary • 0ea2b18 • 1 files, +7/-5
Show the new window tooltip only on entries that have one
telegramdesktop/tdesktop/public-canary • 31378df • 4 files, +90/-67
Unify sublist media window ids and persisted titles
telegramdesktop/tdesktop/public-canary • 0e685f2 • 1 files, +2/-2
Limit media topic context to forum chats
telegramdesktop/tdesktop/public-canary • 18c652d • 1 files, +1/-1
Removed stale comment about swscale destination format caching.
#tdesktop
🫡3
telegramdesktop/tdesktop/public-canary • 879f995 • 1 files, +5/-0
Restricted transcode temp directory permissions to user.
telegramdesktop/tdesktop/public-canary • e896fe1 • 2 files, +26/-6
Extracted video editor layer showing to shared helper.
telegramdesktop/tdesktop/public-canary • d471ef4 • 1 files, +26/-10
Extracted shared video encoder setup from H264 encoder.
telegramdesktop/tdesktop/public-canary • aba7254 • 2 files, +7/-3
Added VP9 encoder and webm muxer to ffmpeg build configs.
telegramdesktop/tdesktop/public-canary • fa97d72 • 2 files, +150/-20
Added webm sticker output mode to video encoder.
telegramdesktop/tdesktop/public-canary • 13ca386 • 7 files, +332/-69
Added adapting video stickers into custom emoji.
telegramdesktop/tdesktop/public-canary • d02ad31 • 1 files, +1/-1
Fixed width growth of profile section stack on visibility change.
telegramdesktop/tdesktop/public-canary • fdc4d07 • 1 files, +1/-1
Fixed extra width of text in info line of profile.
telegramdesktop/tdesktop/public-canary • cbc44b0 • 4 files, +27/-0
Added demanded content width to markdown article.
telegramdesktop/tdesktop/public-canary • 0c032d4 • 2 files, +22/-4
Added widening of rich message bubble to demanded content width.
telegramdesktop/tdesktop/public-canary • 73f4002 • 1 files, +3/-1
Fixed horizontal scroll of quote with author in rich message.
telegramdesktop/tdesktop/public-canary • 731631d • 4 files, +20/-2
Added archive job description to prepared files with box preview.
telegramdesktop/tdesktop/public-canary • 03a000b • 4 files, +565/-0
Added zip archive writer for folders and file sets.
#tdesktop
Restricted transcode temp directory permissions to user.
telegramdesktop/tdesktop/public-canary • e896fe1 • 2 files, +26/-6
Extracted video editor layer showing to shared helper.
telegramdesktop/tdesktop/public-canary • d471ef4 • 1 files, +26/-10
Extracted shared video encoder setup from H264 encoder.
telegramdesktop/tdesktop/public-canary • aba7254 • 2 files, +7/-3
Added VP9 encoder and webm muxer to ffmpeg build configs.
telegramdesktop/tdesktop/public-canary • fa97d72 • 2 files, +150/-20
Added webm sticker output mode to video encoder.
telegramdesktop/tdesktop/public-canary • 13ca386 • 7 files, +332/-69
Added adapting video stickers into custom emoji.
telegramdesktop/tdesktop/public-canary • d02ad31 • 1 files, +1/-1
Fixed width growth of profile section stack on visibility change.
telegramdesktop/tdesktop/public-canary • fdc4d07 • 1 files, +1/-1
Fixed extra width of text in info line of profile.
telegramdesktop/tdesktop/public-canary • cbc44b0 • 4 files, +27/-0
Added demanded content width to markdown article.
telegramdesktop/tdesktop/public-canary • 0c032d4 • 2 files, +22/-4
Added widening of rich message bubble to demanded content width.
telegramdesktop/tdesktop/public-canary • 73f4002 • 1 files, +3/-1
Fixed horizontal scroll of quote with author in rich message.
telegramdesktop/tdesktop/public-canary • 731631d • 4 files, +20/-2
Added archive job description to prepared files with box preview.
telegramdesktop/tdesktop/public-canary • 03a000b • 4 files, +565/-0
Added zip archive writer for folders and file sets.
#tdesktop
🫡3
telegramdesktop/tdesktop/public-canary • a3603c3 • 7 files, +109/-17
Added archive writing to uploader with preparing progress in bubble.
telegramdesktop/tdesktop/public-canary • e9b96f3 • 9 files, +83/-1
Added folder drop zones for archive and separate files sending.
telegramdesktop/tdesktop/public-canary • 5c5e012 • 9 files, +50/-1
Added drop zone for archiving of multiple files into one archive.
telegramdesktop/tdesktop/public-canary • 17ce3f7 • 6 files, +105/-3
Added archive drop mode for media files under keyboard modifier.
telegramdesktop/tdesktop/public-canary • 671d5cd • 7 files, +66/-25
Added archive drop zone for folders and files in message editing.
telegramdesktop/tdesktop/public-canary • c4117fb • 3 files, +30/-4
Added folder drop zones with height limit to send files box.
#tdesktop
Added archive writing to uploader with preparing progress in bubble.
telegramdesktop/tdesktop/public-canary • e9b96f3 • 9 files, +83/-1
Added folder drop zones for archive and separate files sending.
telegramdesktop/tdesktop/public-canary • 5c5e012 • 9 files, +50/-1
Added drop zone for archiving of multiple files into one archive.
telegramdesktop/tdesktop/public-canary • 17ce3f7 • 6 files, +105/-3
Added archive drop mode for media files under keyboard modifier.
telegramdesktop/tdesktop/public-canary • 671d5cd • 7 files, +66/-25
Added archive drop zone for folders and files in message editing.
telegramdesktop/tdesktop/public-canary • c4117fb • 3 files, +30/-4
Added folder drop zones with height limit to send files box.
#tdesktop
🫡3
UnigramDev/Unigram/crash-report-both-stacks • 4371662 • 6 files, +113/-0
Attach the managed exception's own frames to a stowed crash report
#unigram
Attach the managed exception's own frames to a stowed crash report
#unigram
UnigramDev/Unigram/develop • 00eba08 • 1 files, +35/-0
Translate two more wrong-thread and three more no-interface messages (#3407)
#unigram
Translate two more wrong-thread and three more no-interface messages (#3407)
#unigram
UnigramDev/Unigram/develop • 0cc1d9d • 6 files, +113/-0
Attach the managed exception's own frames to a stowed crash report
UnigramDev/Unigram/develop • 276f8aa • 2 files, +104/-49
Fix threading around the transport controls and the player
UnigramDev/Unigram/develop • f3a6c29 • 3 files, +487/-57
Grow the playback playlist as it is played
UnigramDev/Unigram/develop • e96d34f • 2 files, +19/-4
Start a handed-over profile playlist past the items it came with
#unigram
Attach the managed exception's own frames to a stowed crash report
UnigramDev/Unigram/develop • 276f8aa • 2 files, +104/-49
Fix threading around the transport controls and the player
UnigramDev/Unigram/develop • f3a6c29 • 3 files, +487/-57
Grow the playback playlist as it is played
UnigramDev/Unigram/develop • e96d34f • 2 files, +19/-4
Start a handed-over profile playlist past the items it came with
#unigram
morethanwords/tweb/master • 1a5b40d • 7 files, +165/-17
Keep popup content mounted until the popup leaves the DOM
#webk
Keep popup content mounted until the popup leaves the DOM
#webk
🫡3
telegramdesktop/tdesktop/dev • 503a1f5 • 1 files, +1/-1
Fixed width growth of profile section stack on visibility change.
telegramdesktop/tdesktop/dev • 7c7158c • 1 files, +1/-1
Fixed extra width of text in info line of profile.
telegramdesktop/tdesktop/dev • eba8db7 • 4 files, +27/-0
Added demanded content width to markdown article.
telegramdesktop/tdesktop/dev • 0416e4b • 2 files, +22/-4
Added widening of rich message bubble to demanded content width.
telegramdesktop/tdesktop/dev • ed53977 • 1 files, +3/-1
Fixed horizontal scroll of quote with author in rich message.
#tdesktop
Fixed width growth of profile section stack on visibility change.
telegramdesktop/tdesktop/dev • 7c7158c • 1 files, +1/-1
Fixed extra width of text in info line of profile.
telegramdesktop/tdesktop/dev • eba8db7 • 4 files, +27/-0
Added demanded content width to markdown article.
telegramdesktop/tdesktop/dev • 0416e4b • 2 files, +22/-4
Added widening of rich message bubble to demanded content width.
telegramdesktop/tdesktop/dev • ed53977 • 1 files, +3/-1
Fixed horizontal scroll of quote with author in rich message.
#tdesktop
🫡3
telegramdesktop/tdesktop/dev • e256f11 • 1 files, +2/-0
Fixed Delete shown as Change folder in chat list quick action.
#tdesktop
Fixed Delete shown as Change folder in chat list quick action.
#tdesktop
🫡3