telegramdesktop/tdesktop/dev • 5e1a05f • 1 files, +1/-1
Fix crash when removing pinned chats during folder changes.
#tdesktop
Fix crash when removing pinned chats during folder changes.
#tdesktop
🫡2
telegramdesktop/tdesktop/dev • 24ccd1c • 1 files, +6/-1
Fix crash when finishing the appearing text animation
textAppearCheckLine() runs synchronously from inside the width and
height animation tick callbacks (textAppearWidthCallback /
textAppearHeightCallback). Calling RemoveComponents(TextAppearing::Bit())
there destroys those very animations (and their Ui::Animations::Simple
data) while the animations manager is still iterating them, leading to a
use-after-free / null _data dereference in Simple::value().
Defer the component removal to the next main loop iteration so the
running tick can unwind first.
#tdesktop
Fix crash when finishing the appearing text animation
textAppearCheckLine() runs synchronously from inside the width and
height animation tick callbacks (textAppearWidthCallback /
textAppearHeightCallback). Calling RemoveComponents(TextAppearing::Bit())
there destroys those very animations (and their Ui::Animations::Simple
data) while the animations manager is still iterating them, leading to a
use-after-free / null _data dereference in Simple::value().
Defer the component removal to the next main loop iteration so the
running tick can unwind first.
#tdesktop
🫡2
telegramdesktop/tdesktop/dev • 7f8c690 • 1 files, +0/-1
Remove duplicate QT_NO_PRIVATE_MODULE_WARNING from root CMakeLists.txt
It now lives in cmake/external/qt/package.cmake
#tdesktop
Remove duplicate QT_NO_PRIVATE_MODULE_WARNING from root CMakeLists.txt
It now lives in cmake/external/qt/package.cmake
#tdesktop
🫡2
telegramdesktop/tdesktop/dev • df268f3 • 4 files, +10/-10
Bump actions/cache from 5 to 6
Bumps [actions/cache](https://github.com/actions/cache) from 5 to 6.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v5...v6)
---
updated-dependencies:
- dependency-name: actions/cache
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
#tdesktop
Bump actions/cache from 5 to 6
Bumps [actions/cache](https://github.com/actions/cache) from 5 to 6.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v5...v6)
---
updated-dependencies:
- dependency-name: actions/cache
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
#tdesktop
🫡2
telegramdesktop/tdesktop/dev • 12ce38f • 1 files, +25/-4
Fixed editing of selected caption in album to target its own media.
telegramdesktop/tdesktop/dev • a5142b9 • 5 files, +94/-34
Slightly improved filling of swipe-next-channel gesture.
telegramdesktop/tdesktop/dev • 76120b7 • 6 files, +186/-175
Replaced custom scroll processing in profile top bar with regular one.
telegramdesktop/tdesktop/dev • a4ed19f • 1 files, +21/-7
Extended regular scroll processing to stories section.
telegramdesktop/tdesktop/dev • ffa6386 • 5 files, +137/-5
Cached peer list rows into opaque images while scrolling.
telegramdesktop/tdesktop/dev • fe8ca5a • 2 files, +34/-4
Added separate painting of peer badge emoji status to peer list.
telegramdesktop/tdesktop/dev • 1fb28f6 • 2 files, +14/-1
Added separate painting of peer list row emoji status to peer list.
telegramdesktop/tdesktop/dev • 89b4a78 • 2 files, +22/-1
Allowed emoji status animation over cached peer list rows.
telegramdesktop/tdesktop/dev • 3a90101 • 2 files, +45/-0
Added refresh of loaded userpics over cached peer list rows.
telegramdesktop/tdesktop/dev • 55b7484 • 3 files, +382/-113
Added media view video as system media controls source.
telegramdesktop/tdesktop/dev • 43b2110 • 3 files, +153/-1
Added metadata of media view video playback to system media controls.
telegramdesktop/tdesktop/dev • 40b3f62 • 3 files, +80/-7
Added swipe-back gesture to info profile section.
telegramdesktop/tdesktop/dev • f362c16 • 1 files, +2/-1
Fixed instant Cmd+Up/Down reply in sections with compose controls.
#tdesktop
Fixed editing of selected caption in album to target its own media.
telegramdesktop/tdesktop/dev • a5142b9 • 5 files, +94/-34
Slightly improved filling of swipe-next-channel gesture.
telegramdesktop/tdesktop/dev • 76120b7 • 6 files, +186/-175
Replaced custom scroll processing in profile top bar with regular one.
telegramdesktop/tdesktop/dev • a4ed19f • 1 files, +21/-7
Extended regular scroll processing to stories section.
telegramdesktop/tdesktop/dev • ffa6386 • 5 files, +137/-5
Cached peer list rows into opaque images while scrolling.
telegramdesktop/tdesktop/dev • fe8ca5a • 2 files, +34/-4
Added separate painting of peer badge emoji status to peer list.
telegramdesktop/tdesktop/dev • 1fb28f6 • 2 files, +14/-1
Added separate painting of peer list row emoji status to peer list.
telegramdesktop/tdesktop/dev • 89b4a78 • 2 files, +22/-1
Allowed emoji status animation over cached peer list rows.
telegramdesktop/tdesktop/dev • 3a90101 • 2 files, +45/-0
Added refresh of loaded userpics over cached peer list rows.
telegramdesktop/tdesktop/dev • 55b7484 • 3 files, +382/-113
Added media view video as system media controls source.
telegramdesktop/tdesktop/dev • 43b2110 • 3 files, +153/-1
Added metadata of media view video playback to system media controls.
telegramdesktop/tdesktop/dev • 40b3f62 • 3 files, +80/-7
Added swipe-back gesture to info profile section.
telegramdesktop/tdesktop/dev • f362c16 • 1 files, +2/-1
Fixed instant Cmd+Up/Down reply in sections with compose controls.
#tdesktop
🫡3
telegramdesktop/tdesktop/dev • 14909bc • 2 files, +6/-4
Fixed display of sticker-set and favorite actions for sending stickers.
telegramdesktop/tdesktop/dev • 85c9495 • 7 files, +184/-0
Added keyboard extension of message text selection to history sections.
#tdesktop
Fixed display of sticker-set and favorite actions for sending stickers.
telegramdesktop/tdesktop/dev • 85c9495 • 7 files, +184/-0
Added keyboard extension of message text selection to history sections.
#tdesktop
🫡2
morethanwords/tweb/master • 512d07d • 1 files, +25/-2
Fix stories hold-to-pause not resuming on release
SwipeHandler bound its global mouseup/touchend listeners to
this.element.ownerDocument at construction time. For a Solid JSX
element (cloned from a <template>), ownerDocument is the inert
about:blank template-contents document until the node is inserted
into the live DOM. The stories viewer constructs the SwipeHandler
before its <Portal> mounts the element, so the release listeners
were bound to a document that never receives real events: mousedown
(bound to the element directly) still paused on press, but mouseup
never reached reset()/onReset()/play(), so the story stayed paused.
Bind the gesture-end listener lazily in handleStart instead, when the
element is live and ownerDocument resolves to the real (main or
Document-PiP) document. Keeps the PiP fix from 9d58fe155 intact and
mirrors the lazy pattern already used in attachGrabListeners.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
morethanwords/tweb/master • bbd3782 • 3 files, +87/-79
Render topic profile avatar in the profile-avatars header
Forum and bot-forum topic profiles used a separate inline 'simple avatar'
(.profile-avatar.avatar-120 inside the MainSection, gated by has-simple-avatar).
Route them through the same PeerProfileAvatars header as regular chats with no
photo instead: PeerProfileAvatars.setPeer now takes a threadId, skips the photo
carousel/list-loader, and renders the topic icon as a single centered avatar-120
(no profile-avatars-avatar-fake duplicate, no scaled-down full photo).
- peerProfileAvatars: topic branch in setPeer; processItem renders avatar-120
with a 120px custom-emoji size for topics.
- peerProfile: always use the carousel path, passing the topic id; drop the
needSimpleAvatar concept and the in-section avatar.
- _profile.scss: .is-topic centers the fixed-size icon and keeps it unscaled
when the header collapses; removed the dead .has-simple-avatar rule.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
morethanwords/tweb/master • 1296446 • 2 files, +23/-25
Fix sponsored topbar plate not reserving chat padding-top
The sponsored/ad plate is the only floating plate with height: 'auto', so setFloating measures its offsetHeight. The measurement ran inside the count loop, before the wrapper's `hide` (display: none) class was toggled off — and a display:none ancestor zeroes descendants' offsetHeight. So exactly when the ad plate is the one flipping the visible-plate count 0 -> 1, it was measured at 0 and never reserved its padding-top, leaving it overlapping the chat. Compute the visible set and un-hide the wrapper before measuring.
Also clarify in updatePinnedFloatingHeight that a mid-scroll position is left anchored on purpose (matches iOS/Android: the plate slides over the content rather than shoving it down); behavior unchanged.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
#webk
Fix stories hold-to-pause not resuming on release
SwipeHandler bound its global mouseup/touchend listeners to
this.element.ownerDocument at construction time. For a Solid JSX
element (cloned from a <template>), ownerDocument is the inert
about:blank template-contents document until the node is inserted
into the live DOM. The stories viewer constructs the SwipeHandler
before its <Portal> mounts the element, so the release listeners
were bound to a document that never receives real events: mousedown
(bound to the element directly) still paused on press, but mouseup
never reached reset()/onReset()/play(), so the story stayed paused.
Bind the gesture-end listener lazily in handleStart instead, when the
element is live and ownerDocument resolves to the real (main or
Document-PiP) document. Keeps the PiP fix from 9d58fe155 intact and
mirrors the lazy pattern already used in attachGrabListeners.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
morethanwords/tweb/master • bbd3782 • 3 files, +87/-79
Render topic profile avatar in the profile-avatars header
Forum and bot-forum topic profiles used a separate inline 'simple avatar'
(.profile-avatar.avatar-120 inside the MainSection, gated by has-simple-avatar).
Route them through the same PeerProfileAvatars header as regular chats with no
photo instead: PeerProfileAvatars.setPeer now takes a threadId, skips the photo
carousel/list-loader, and renders the topic icon as a single centered avatar-120
(no profile-avatars-avatar-fake duplicate, no scaled-down full photo).
- peerProfileAvatars: topic branch in setPeer; processItem renders avatar-120
with a 120px custom-emoji size for topics.
- peerProfile: always use the carousel path, passing the topic id; drop the
needSimpleAvatar concept and the in-section avatar.
- _profile.scss: .is-topic centers the fixed-size icon and keeps it unscaled
when the header collapses; removed the dead .has-simple-avatar rule.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
morethanwords/tweb/master • 1296446 • 2 files, +23/-25
Fix sponsored topbar plate not reserving chat padding-top
The sponsored/ad plate is the only floating plate with height: 'auto', so setFloating measures its offsetHeight. The measurement ran inside the count loop, before the wrapper's `hide` (display: none) class was toggled off — and a display:none ancestor zeroes descendants' offsetHeight. So exactly when the ad plate is the one flipping the visible-plate count 0 -> 1, it was measured at 0 and never reserved its padding-top, leaving it overlapping the chat. Compute the visible set and un-hide the wrapper before measuring.
Also clarify in updatePinnedFloatingHeight that a mid-scroll position is left anchored on purpose (matches iOS/Android: the plate slides over the content rather than shoving it down); behavior unchanged.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
#webk
🫡3
morethanwords/tweb/master • 96fb8c0 • 4 files, +227/-194
Fix intermittent SRP 2FA password rejection (unpadded A)
The client public value A = g^a mod p was serialized with its minimal
big-endian length instead of being zero-padded to 256 bytes. The server
normalizes A to 256 bytes before hashing u and M1, so whenever g^a mod p
had a leading zero byte (~1/256 of attempts) our M1 mismatched the
server's and a correct password was rejected at random; a retry (fresh
account.getPassword -> new a) usually succeeded. Pad A to 256 bytes
everywhere, exactly like tdlib's A_bn.to_binary(256).
While matching tdlib's PasswordManager::get_input_check_password:
- generate the ephemeral secret a from a fresh local CSPRNG instead of
the server-provided state.secure_random (which leaked the secret
exponent and was constant across the now-removed retry loop);
- add the validations that were commented-out stubs: verifyDhPrimeAndGenerator
(= check_config) for both the check and new-password paths, and the
srp_B range/length check (0 < B < p, 248 <= len <= 256).
Rewrite src/tests/srp.test.ts into a real suite: KDF vs an independent
Node-crypto reference, a client/server SRP round-trip x25, a forced
leading-zero-A regression (mutation-confirmed it fails on the unpadded
code), the isNew verifier path, and validation throws. Drop the stale
A/M1/srp_B fixtures and the dead src/mock/srp_original.ts.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
morethanwords/tweb/master • c6fb69c • 2 files, +1/-8
Align reply-quote poll icon inline instead of flexing the subtitle
The poll-option checkmark in the reply/pinned container now carries the
standard inline-icon classes (inline-icon inline-icon-left) so it aligns
with the quote text through the normal inline flow, dropping the bespoke
.with-icon flex wrapper on the subtitle.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
#webk
Fix intermittent SRP 2FA password rejection (unpadded A)
The client public value A = g^a mod p was serialized with its minimal
big-endian length instead of being zero-padded to 256 bytes. The server
normalizes A to 256 bytes before hashing u and M1, so whenever g^a mod p
had a leading zero byte (~1/256 of attempts) our M1 mismatched the
server's and a correct password was rejected at random; a retry (fresh
account.getPassword -> new a) usually succeeded. Pad A to 256 bytes
everywhere, exactly like tdlib's A_bn.to_binary(256).
While matching tdlib's PasswordManager::get_input_check_password:
- generate the ephemeral secret a from a fresh local CSPRNG instead of
the server-provided state.secure_random (which leaked the secret
exponent and was constant across the now-removed retry loop);
- add the validations that were commented-out stubs: verifyDhPrimeAndGenerator
(= check_config) for both the check and new-password paths, and the
srp_B range/length check (0 < B < p, 248 <= len <= 256).
Rewrite src/tests/srp.test.ts into a real suite: KDF vs an independent
Node-crypto reference, a client/server SRP round-trip x25, a forced
leading-zero-A regression (mutation-confirmed it fails on the unpadded
code), the isNew verifier path, and validation throws. Drop the stale
A/M1/srp_B fixtures and the dead src/mock/srp_original.ts.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
morethanwords/tweb/master • c6fb69c • 2 files, +1/-8
Align reply-quote poll icon inline instead of flexing the subtitle
The poll-option checkmark in the reply/pinned container now carries the
standard inline-icon classes (inline-icon inline-icon-left) so it aligns
with the quote text through the normal inline flow, dropping the bespoke
.with-icon flex wrapper on the subtitle.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
#webk
🫡3
🫡2
morethanwords/tweb/master • a5c7327 • 1 files, +42/-19
Fix video streaming edge cases in service worker
- Fall back to the worker on any cache read error (incl. a bare cache
timeout that rejects with undefined) instead of throwing TypeError on
error.type and killing the range request
- Preload the file's last chunk at start (moov/bounds) instead of chunk 0
- Treat PRELOAD_SIZE as a read-ahead window from the current position
rather than an absolute end offset (read-ahead was dead past 20MB)
- Align the preload window start to the chunk grid so preloaded offsets
stay valid MTProto offsets
- Gate the second range part on overflow > 0 (a byte count was used as a
boolean, so a negative value forced a wasteful extra chunk fetch)
- Clamp limit to a server-valid minimum (4KB) to avoid LIMIT_INVALID on
tiny ranges; make SMALLEST_CHUNK_LIMIT a valid 4KB and use it
- Don't resurrect a destroyed stream from toggleStreamInUse(false); clamp
inUse at 0 to stop zombie streams leaking in the map
- Re-arm the idle debounce instead of destroying a stream still bound to
a live <video>
- Swallow rejections from best-effort cache writes and fire-and-forget
preloads to avoid unhandled rejections
- Use Math.clz32 in alignLimit to drop the Math.log FP rounding; remove
the unused Response-Time header
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
morethanwords/tweb/master • 99de4a8 • 2 files, +30/-4
Fix rich-text paste/serialization of newlines around blockquotes
Three related fixes in the contenteditable rich-text path:
- getRichValueWithCaret paste reconciliation: the re-insertion pass used a
drifting offset threshold (`offset > plainTextLength - lineIndex + 1`) that
was only correct for one line index, shifting/losing entities on multi-line
formatted pastes (e.g. a second line in bold). Use the splice index directly
and adjust entity length, not just offset, in both removal and insertion.
- Paste handler: strip messageEntityLinebreak before insertRichTextAsHTML.
wrapDraftText renders line breaks from the text itself; passing explicit
linebreak entities made wrapRichText slice the one before a blockquote,
dropping a \n on e.g. `text\n\nquote`. Stripping them aligns paste with the
edit/draft path (verified: no extra blank line, model preserves both \n).
- getRichElementValue: a multiline blockquote built from block children
(<br>/<div>, what Enter produces) lost its last character outside the quote,
because the entity length is only grown by text nodes while block-generated
\n bypass it. Track the last real-content offset and re-span the blockquote
up to it, excluding trailing block line breaks.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
#webk
Fix video streaming edge cases in service worker
- Fall back to the worker on any cache read error (incl. a bare cache
timeout that rejects with undefined) instead of throwing TypeError on
error.type and killing the range request
- Preload the file's last chunk at start (moov/bounds) instead of chunk 0
- Treat PRELOAD_SIZE as a read-ahead window from the current position
rather than an absolute end offset (read-ahead was dead past 20MB)
- Align the preload window start to the chunk grid so preloaded offsets
stay valid MTProto offsets
- Gate the second range part on overflow > 0 (a byte count was used as a
boolean, so a negative value forced a wasteful extra chunk fetch)
- Clamp limit to a server-valid minimum (4KB) to avoid LIMIT_INVALID on
tiny ranges; make SMALLEST_CHUNK_LIMIT a valid 4KB and use it
- Don't resurrect a destroyed stream from toggleStreamInUse(false); clamp
inUse at 0 to stop zombie streams leaking in the map
- Re-arm the idle debounce instead of destroying a stream still bound to
a live <video>
- Swallow rejections from best-effort cache writes and fire-and-forget
preloads to avoid unhandled rejections
- Use Math.clz32 in alignLimit to drop the Math.log FP rounding; remove
the unused Response-Time header
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
morethanwords/tweb/master • 99de4a8 • 2 files, +30/-4
Fix rich-text paste/serialization of newlines around blockquotes
Three related fixes in the contenteditable rich-text path:
- getRichValueWithCaret paste reconciliation: the re-insertion pass used a
drifting offset threshold (`offset > plainTextLength - lineIndex + 1`) that
was only correct for one line index, shifting/losing entities on multi-line
formatted pastes (e.g. a second line in bold). Use the splice index directly
and adjust entity length, not just offset, in both removal and insertion.
- Paste handler: strip messageEntityLinebreak before insertRichTextAsHTML.
wrapDraftText renders line breaks from the text itself; passing explicit
linebreak entities made wrapRichText slice the one before a blockquote,
dropping a \n on e.g. `text\n\nquote`. Stripping them aligns paste with the
edit/draft path (verified: no extra blank line, model preserves both \n).
- getRichElementValue: a multiline blockquote built from block children
(<br>/<div>, what Enter produces) lost its last character outside the quote,
because the entity length is only grown by text nodes while block-generated
\n bypass it. Track the last real-content offset and re-span the blockquote
up to it, excluding trailing block line breaks.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
#webk
🫡3
telegramdesktop/tdesktop/chrome_149.0.0.0 • 0830bf3 • 1 files, +1/-1
Update User-Agent for DNS to Chrome 149.0.0.0.
#tdesktop
Update User-Agent for DNS to Chrome 149.0.0.0.
#tdesktop
🫡2
telegramdesktop/tdesktop/unused_styles_2026_07 • 1af2be2 • 1 files, +0/-8
Removed 4 unused style entries.
#tdesktop
Removed 4 unused style entries.
#tdesktop
🫡2
🫡3
telegramdesktop/tdesktop/dev • cf661e5 • 1 files, +1/-1
Update User-Agent for DNS to Chrome 149.0.0.0.
#tdesktop
Update User-Agent for DNS to Chrome 149.0.0.0.
#tdesktop
🫡3
telegramdesktop/tdesktop/dev • 3a528d8 • 2 files, +6/-3
Move -fuse-ld=lld to linker flags
telegramdesktop/tdesktop/dev • 6fcd650 • 1 files, +0/-8
Remove cmake policy linking error workarounds
telegramdesktop/tdesktop/dev • a2d3b37 • 3 files, +3/-5
Restore cmake 3.25 as minimum version
telegramdesktop/tdesktop/dev • fa3948d • 1 files, +3/-5
Use theme change event from qApp
telegramdesktop/tdesktop/dev • 09459d1 • 1 files, +9/-8
CreateOfficialIcon -> CreateSupportIcon
That better fits the current meaning
telegramdesktop/tdesktop/dev • 84b0f73 • 1 files, +4/-0
Preserve window icon name on Wayland
#tdesktop
Move -fuse-ld=lld to linker flags
telegramdesktop/tdesktop/dev • 6fcd650 • 1 files, +0/-8
Remove cmake policy linking error workarounds
telegramdesktop/tdesktop/dev • a2d3b37 • 3 files, +3/-5
Restore cmake 3.25 as minimum version
telegramdesktop/tdesktop/dev • fa3948d • 1 files, +3/-5
Use theme change event from qApp
telegramdesktop/tdesktop/dev • 09459d1 • 1 files, +9/-8
CreateOfficialIcon -> CreateSupportIcon
That better fits the current meaning
telegramdesktop/tdesktop/dev • 84b0f73 • 1 files, +4/-0
Preserve window icon name on Wayland
#tdesktop
🫡3
🫡3
morethanwords/tweb/master • 3acb5a4 • 3 files, +295/-0
Add run-build skill to list and serve past build snapshots
Lists the git "Build" commits (compiled app in public/) as a paginated,
date-sorted table, then serves any chosen snapshot locally by extracting
that commit's public/ tree via git archive — mirroring server.js and
leaving the working tree untouched.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
#webk
Add run-build skill to list and serve past build snapshots
Lists the git "Build" commits (compiled app in public/) as a paginated,
date-sorted table, then serves any chosen snapshot locally by extracting
that commit's public/ tree via git archive — mirroring server.js and
leaving the working tree untouched.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
#webk
🫡2
Ajaxy/telegram-tt/master • f33f22a • 3 files, +4/-4
12.0.32
Ajaxy/telegram-tt/master • 360de48 • 16 files, +188/-37
Support startGroup deep link for bots (#7050)
Ajaxy/telegram-tt/master • 8f8cc05 • 1 files, +12/-3
Modal: Autofocus title by default (#7068)
Ajaxy/telegram-tt/master • 24fab59 • 3 files, +43/-20
Surface Container: Fix background color (#7071)
Ajaxy/telegram-tt/master • 63b505e • 1 files, +4/-1
Profile: Improve closing on Esc logic for profiles (#7070)
Ajaxy/telegram-tt/master • e3318c0 • 2 files, +7/-0
Passcode: Fix button spacing in passcode settings (#7069)
Ajaxy/telegram-tt/master • db6db81 • 5 files, +37/-23
Passcode: Persist shared state to fix theme flicker on unlock (#7066)
Co-authored-by: Dmitry Kabanov <153344039+dmitrykabanovdev@users.noreply.github.com>
Ajaxy/telegram-tt/master • 55557c2 • 6 files, +20/-11
Middle Header Panel: Fix styles (#7072)
Ajaxy/telegram-tt/master • 6a0d49f • 29 files, +587/-240
Middle Column: Redesign composer and chat panels mask (#7059)
Co-authored-by: Alexander Zinchuk <alx.zinchuk@gmail.com>
Ajaxy/telegram-tt/master • 3b3fde0 • 1 files, +19/-6
Mini Apps: Fix miniAppsCachedSize saving after fullscreen (#7074)
Ajaxy/telegram-tt/master • eb9f746 • 88 files, +246/-246
[Build]
#webz
12.0.32
Ajaxy/telegram-tt/master • 360de48 • 16 files, +188/-37
Support startGroup deep link for bots (#7050)
Ajaxy/telegram-tt/master • 8f8cc05 • 1 files, +12/-3
Modal: Autofocus title by default (#7068)
Ajaxy/telegram-tt/master • 24fab59 • 3 files, +43/-20
Surface Container: Fix background color (#7071)
Ajaxy/telegram-tt/master • 63b505e • 1 files, +4/-1
Profile: Improve closing on Esc logic for profiles (#7070)
Ajaxy/telegram-tt/master • e3318c0 • 2 files, +7/-0
Passcode: Fix button spacing in passcode settings (#7069)
Ajaxy/telegram-tt/master • db6db81 • 5 files, +37/-23
Passcode: Persist shared state to fix theme flicker on unlock (#7066)
Co-authored-by: Dmitry Kabanov <153344039+dmitrykabanovdev@users.noreply.github.com>
Ajaxy/telegram-tt/master • 55557c2 • 6 files, +20/-11
Middle Header Panel: Fix styles (#7072)
Ajaxy/telegram-tt/master • 6a0d49f • 29 files, +587/-240
Middle Column: Redesign composer and chat panels mask (#7059)
Co-authored-by: Alexander Zinchuk <alx.zinchuk@gmail.com>
Ajaxy/telegram-tt/master • 3b3fde0 • 1 files, +19/-6
Mini Apps: Fix miniAppsCachedSize saving after fullscreen (#7074)
Ajaxy/telegram-tt/master • eb9f746 • 88 files, +246/-246
[Build]
#webz
🫡2
telegramdesktop/tdesktop/dev • 7bc0e17 • 1 files, +0/-1
Removed dead deep copy of reactions in unread lookup.
telegramdesktop/tdesktop/dev • 0426e19 • 1 files, +3/-0
Fixed quick-action icon loss after swipe returns to origin in dialogs.
telegramdesktop/tdesktop/dev • abf77d7 • 2 files, +8/-19
Replaced flattened table rows with label in rich reply previews.
telegramdesktop/tdesktop/dev • 94af158 • 1 files, +1/-10
Fixed extra empty space below short member lists in info profiles.
telegramdesktop/tdesktop/dev • e2a6a08 • 2 files, +2/-1
Fixed profile scroll bar sliding under flexible top bar scroll.
telegramdesktop/tdesktop/dev • 8457d13 • 1 files, +6/-2
Fix escaping in HTML export of keyboards.
telegramdesktop/tdesktop/dev • 673d3d3 • 9 files, +18/-37
Revert "Disable IV editor for now."
This reverts commit 9a234182e1e8b3e099719404378b10f374a21731.
telegramdesktop/tdesktop/dev • 869941c • 9 files, +378/-200
Check for changes in rich message.
telegramdesktop/tdesktop/dev • f7c2ff3 • 2 files, +18/-7
Support Ctrl+X to cut block selections.
telegramdesktop/tdesktop/dev • a47aad4 • 3 files, +70/-0
Close editors on session destructions.
telegramdesktop/tdesktop/dev • 388da4b • 37 files, +2773/-178
Improve editor top bar controls.
telegramdesktop/tdesktop/dev • 6b970df • 7 files, +627/-38
Improve math formula edit with a box.
telegramdesktop/tdesktop/dev • 732df97 • 3 files, +182/-110
Improve emoji toggle, italic icon.
telegramdesktop/tdesktop/dev • b667228 • 3 files, +346/-47
Improve undo/redo and single-block Ctrl+A.
#tdesktop
Removed dead deep copy of reactions in unread lookup.
telegramdesktop/tdesktop/dev • 0426e19 • 1 files, +3/-0
Fixed quick-action icon loss after swipe returns to origin in dialogs.
telegramdesktop/tdesktop/dev • abf77d7 • 2 files, +8/-19
Replaced flattened table rows with label in rich reply previews.
telegramdesktop/tdesktop/dev • 94af158 • 1 files, +1/-10
Fixed extra empty space below short member lists in info profiles.
telegramdesktop/tdesktop/dev • e2a6a08 • 2 files, +2/-1
Fixed profile scroll bar sliding under flexible top bar scroll.
telegramdesktop/tdesktop/dev • 8457d13 • 1 files, +6/-2
Fix escaping in HTML export of keyboards.
telegramdesktop/tdesktop/dev • 673d3d3 • 9 files, +18/-37
Revert "Disable IV editor for now."
This reverts commit 9a234182e1e8b3e099719404378b10f374a21731.
telegramdesktop/tdesktop/dev • 869941c • 9 files, +378/-200
Check for changes in rich message.
telegramdesktop/tdesktop/dev • f7c2ff3 • 2 files, +18/-7
Support Ctrl+X to cut block selections.
telegramdesktop/tdesktop/dev • a47aad4 • 3 files, +70/-0
Close editors on session destructions.
telegramdesktop/tdesktop/dev • 388da4b • 37 files, +2773/-178
Improve editor top bar controls.
telegramdesktop/tdesktop/dev • 6b970df • 7 files, +627/-38
Improve math formula edit with a box.
telegramdesktop/tdesktop/dev • 732df97 • 3 files, +182/-110
Improve emoji toggle, italic icon.
telegramdesktop/tdesktop/dev • b667228 • 3 files, +346/-47
Improve undo/redo and single-block Ctrl+A.
#tdesktop
🫡3
telegramdesktop/tdesktop/dev • 6508c98 • 24 files, +195/-49
Improve icons in the editor.
telegramdesktop/tdesktop/dev • 8b73413 • 7 files, +734/-37
Improve inter-blocks navigation.
telegramdesktop/tdesktop/dev • 05455fb • 3 files, +379/-50
Fix incorrect scroll jumps and block selections.
telegramdesktop/tdesktop/dev • 8d42262 • 11 files, +1169/-103
Implement some media management.
telegramdesktop/tdesktop/dev • 2027d35 • 2 files, +451/-122
Improve arrows navigation through text nodes.
telegramdesktop/tdesktop/dev • 748bc82 • 9 files, +2855/-85
Allow drag-n-drop of blocks selections.
telegramdesktop/tdesktop/dev • 282d647 • 22 files, +1781/-298
Support nice ordered list editing.
telegramdesktop/tdesktop/dev • 9dc4b8c • 24 files, +2356/-241
Support rich messages drafts.
telegramdesktop/tdesktop/dev • f68b30b • 12 files, +246/-298
Improve rich message draft preview.
telegramdesktop/tdesktop/dev • 67f4756 • 6 files, +382/-53
Improve draft preview, make it rich.
telegramdesktop/tdesktop/dev • ec7e056 • 13 files, +594/-161
Improve rich messages serialization.
telegramdesktop/tdesktop/dev • c0cb889 • 4 files, +621/-29
Improve block creation / wrapping.
telegramdesktop/tdesktop/dev • 348f916 • 3 files, +315/-9
Correct handling monospace/codeblock shortcuts.
telegramdesktop/tdesktop/dev • 60cd894 • 2 files, +15/-5
Fix copy of codeblock from rich message.
#tdesktop
Improve icons in the editor.
telegramdesktop/tdesktop/dev • 8b73413 • 7 files, +734/-37
Improve inter-blocks navigation.
telegramdesktop/tdesktop/dev • 05455fb • 3 files, +379/-50
Fix incorrect scroll jumps and block selections.
telegramdesktop/tdesktop/dev • 8d42262 • 11 files, +1169/-103
Implement some media management.
telegramdesktop/tdesktop/dev • 2027d35 • 2 files, +451/-122
Improve arrows navigation through text nodes.
telegramdesktop/tdesktop/dev • 748bc82 • 9 files, +2855/-85
Allow drag-n-drop of blocks selections.
telegramdesktop/tdesktop/dev • 282d647 • 22 files, +1781/-298
Support nice ordered list editing.
telegramdesktop/tdesktop/dev • 9dc4b8c • 24 files, +2356/-241
Support rich messages drafts.
telegramdesktop/tdesktop/dev • f68b30b • 12 files, +246/-298
Improve rich message draft preview.
telegramdesktop/tdesktop/dev • 67f4756 • 6 files, +382/-53
Improve draft preview, make it rich.
telegramdesktop/tdesktop/dev • ec7e056 • 13 files, +594/-161
Improve rich messages serialization.
telegramdesktop/tdesktop/dev • c0cb889 • 4 files, +621/-29
Improve block creation / wrapping.
telegramdesktop/tdesktop/dev • 348f916 • 3 files, +315/-9
Correct handling monospace/codeblock shortcuts.
telegramdesktop/tdesktop/dev • 60cd894 • 2 files, +15/-5
Fix copy of codeblock from rich message.
#tdesktop
🫡3
telegramdesktop/tdesktop/dev • 31d1cb7 • 4 files, +1163/-81
Improve selection by keyboard.
telegramdesktop/tdesktop/dev • ff86735 • 2 files, +41/-14
Normalize rich draft compose controls
telegramdesktop/tdesktop/dev • 1f87c04 • 11 files, +342/-15
Send previewed rich drafts from compose
telegramdesktop/tdesktop/dev • af71b4c • 8 files, +218/-24
Redesign rendered pullquotes
telegramdesktop/tdesktop/dev • eecda90 • 8 files, +178/-27
Make pullquote edits resize live
telegramdesktop/tdesktop/dev • 90d1dd3 • 2 files, +34/-0
Add three-state editor toolbar button helper
telegramdesktop/tdesktop/dev • 19e759b • 8 files, +218/-18
Add pill-group background for toolbar buttons
telegramdesktop/tdesktop/dev • 039367f • 1 files, +105/-759
Lay out IV editor top toolbar as pill groups
telegramdesktop/tdesktop/dev • cc192fd • 1 files, +11/-4
Lay out IV editor top toolbar as pill groups
telegramdesktop/tdesktop/dev • 9e1715f • 1 files, +2/-8
Lay out IV editor top toolbar as pill groups
telegramdesktop/tdesktop/dev • 5af16f9 • 7 files, +64/-24
Scroll IV editor content under the top pills with a fade
telegramdesktop/tdesktop/dev • 224b740 • 1 files, +30/-3
Shadow IV emoji column and toggle emoji button state
telegramdesktop/tdesktop/dev • 0a0f56d • 8 files, +64/-3
Add floating close button over IV emoji column
telegramdesktop/tdesktop/dev • c89afaa • 4 files, +329/-7
Make IV editor toolbar style menus context-aware
#tdesktop
Improve selection by keyboard.
telegramdesktop/tdesktop/dev • ff86735 • 2 files, +41/-14
Normalize rich draft compose controls
telegramdesktop/tdesktop/dev • 1f87c04 • 11 files, +342/-15
Send previewed rich drafts from compose
telegramdesktop/tdesktop/dev • af71b4c • 8 files, +218/-24
Redesign rendered pullquotes
telegramdesktop/tdesktop/dev • eecda90 • 8 files, +178/-27
Make pullquote edits resize live
telegramdesktop/tdesktop/dev • 90d1dd3 • 2 files, +34/-0
Add three-state editor toolbar button helper
telegramdesktop/tdesktop/dev • 19e759b • 8 files, +218/-18
Add pill-group background for toolbar buttons
telegramdesktop/tdesktop/dev • 039367f • 1 files, +105/-759
Lay out IV editor top toolbar as pill groups
telegramdesktop/tdesktop/dev • cc192fd • 1 files, +11/-4
Lay out IV editor top toolbar as pill groups
telegramdesktop/tdesktop/dev • 9e1715f • 1 files, +2/-8
Lay out IV editor top toolbar as pill groups
telegramdesktop/tdesktop/dev • 5af16f9 • 7 files, +64/-24
Scroll IV editor content under the top pills with a fade
telegramdesktop/tdesktop/dev • 224b740 • 1 files, +30/-3
Shadow IV emoji column and toggle emoji button state
telegramdesktop/tdesktop/dev • 0a0f56d • 8 files, +64/-3
Add floating close button over IV emoji column
telegramdesktop/tdesktop/dev • c89afaa • 4 files, +329/-7
Make IV editor toolbar style menus context-aware
#tdesktop
🫡3