Telegram github commits and releases
4.41K subscribers
601 files
21K links
Broadcast from the most important Telegram clients' repositories
Download Telegram
morethanwords/tweb/master • 419c75d • 4 files, +84/-3
feat: show empty paid-reaction star button on channel posts

On channel/group posts that already have reactions but no paid one,
prepend a count-0 paid (star) reaction button so users can send stars,
matching the official clients. Availability is gated on
channelFull.paid_reactions_available and cached per-peer (cleared on
chat_full_update) to avoid a worker round-trip per bubble; the star
renders at reaction size without a "0" counter.

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

morethanwords/tweb/master • 05e8572 • 1 files, +188/-22
feat: add image rotation to media viewer

A rotate button (rotate_left glyph) sits in the topbar next to zoom and
turns the image counterclockwise 90° per click, matching Telegram Desktop.
A 90°/270° turn swaps width/height and refits the image to fill the
viewport in the new orientation.

Pan/zoom are composed in screen space (outer) with the rotate+refit as the
inner transform, so dragging a rotated image follows the on-screen axes and
the zoom boundaries derive from the rotated bounding box. The close
animation transfers the turn onto the mover and unwinds it to upright as
the image shrinks into the thumbnail.

Photos only (a rotated video's player chrome isn't handled); desktop only,
matching the zoom controls' availability.

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

#webk
🫡4👍1
telegramdesktop/tdesktop/dev • 92b8d18 • 1 files, +1/-1
Fix patches revision in snap.

#tdesktop
🫡3👍1
New telegramdesktop/tdesktop release: v6.9.0 (stable)

- Rich Text Formatting for Bots.
- Guardian Bots for Group Chats.
- Links in Poll Options.
- Viewer for Markdown files in .md format.
- Instant View that's really instant.

#tdesktop
🫡3
telegramdesktop/tdesktop/dev • 62030fd • 1 files, +8/-1
Check patch apply in Qt 6 on Windows.

telegramdesktop/tdesktop/dev • 72697fc • 6 files, +26/-18
Version 6.9.

- Rich Text Formatting for Bots.
- Guardian Bots for Group Chats.
- Links in Poll Options.
- Viewer for Markdown files in .md format.
- Instant View that's really instant.

#tdesktop
🫡3
telegramdesktop/tdesktop/dev • 1f734b2 • 1 files, +1/-1
Fix sending several same custom emoji.

telegramdesktop/tdesktop/dev • 52cd45b • 1 files, +1/-1
Fix fallback font size in math blocks.

#tdesktop
🫡2
telegramdesktop/tdesktop/dev • 0b23be8 • 4 files, +1/-43
Fix build with GCC.

#tdesktop
🫡2
morethanwords/tweb/master • c563c09 • 1 files, +27/-7
feat: extend media viewer rotation to videos

Videos (and GIFs) can now be rotated, reusing the photo path: the frame
turns and refits via the same moversContainer transform, so zoom, pan,
boundaries and the close animation all work unchanged.

A video's player chrome lives inside that transform, so the controls bar is
hidden while the frame is visually turned and restored at upright — mirroring
how zoom already hides it. Playback stays controllable from the keyboard
(the player listens for key events always). Live streams stay excluded.

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

morethanwords/tweb/master • 651db94 • 6 files, +356/-7
fix: self-heal stalled e2e conference sync (no audio until re-join)

A TdE2E conference whose cached groupCall goes missing/discarded makes both pollers (pollE2eChain, refreshConferenceParticipants) bail silently: media keeps flowing but unmutes/joins stop being learned, so a participant's audio SSRC never enters the e2e recv map and their Opus frames pass through still-encrypted (silence) while video survives. Diagnosed from a downloadLogs NDJSON — observed as a ~19-min stall that only cleared on a manual re-join.

- groupCallInstance: watchdog tracks when each poller last reached the server; recoverConferenceSync re-seeds the manager cache + getGroupCallFull(override) + re-kicks the pollers when stalled >15s. notePollBail traces the bail reason on transition.
- appGroupCallsManager.refreshConferenceParticipants returns boolean so the instance can tell a real fetch from a silent no-op.
- encryptWorker recvDiag event: emit once on first unmapped/decryptErr per SSRC and again (sustained) after 150 frames; re-armed in setSsrcUsers.
- user-facing: console.warn banner + window.__conferenceBug(s) marker on stall / sustained recvDiag so the user knows to run downloadLogs(); survives prod minify, not DEBUG-gated.
- test: groupCallConferenceWatchdog.test.ts (5).

Known gap (deferred): can't recover a conference whose id+access_hash was never cached at join (slug/invite-link); only a server updateGroupCall push provides it.

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

morethanwords/tweb/master • 9db1b13 • 4 files, +58/-6
Add unofficial-app security warning to user profile

Show a warning banner in the profile of non-bot users flagged with userFull.unofficial_security_risk, mirroring the official iOS/Android/Desktop clients. Rendered as a Section with an inline warning icon + message string (ProfileUnofficialSecurityRisk).

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

morethanwords/tweb/master • 360993f • 8 files, +31/-18
Misc UI polish: chat scroll fade, popups, emoji search

Chat scroll fade (.bubbles-scrollable) now uses an iOS-style eased (cubic-bezier) mask that tracks the lowest topbar plate, with a denser fade floor (alpha 0.5 to 0.24). Stars/StarsPay popups use the old popup layout; tidy stars/makePaid/forward popup sizing & footer. Emoji/sticker search category color set to primary-text-color. Bump floating badge z-index (2 to 3).

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

#webk
🫡3
telegramdesktop/tdesktop/dev • 824b42b • 10 files, +142/-21
Fix spoilers animate/restore in rich messages.

#tdesktop
🫡3
telegramdesktop/tdesktop/dev • becf6d7 • 2 files, +28/-19
Attempt to fix nested lists.

telegramdesktop/tdesktop/dev • 0169567 • 5 files, +140/-11
Attempt to fix real article width counting.

#tdesktop
🫡3
telegramdesktop/tdesktop/dev • 1380c62 • 6 files, +20/-15
Version 6.9.1.

- Fix sending several same custom emoji.
- Fix some rich messages layout glitches.

#tdesktop
🫡3
New telegramdesktop/tdesktop release: v6.9.1 (stable)

- Fix sending several same custom emoji.
- Fix some rich messages layout glitches.

#tdesktop
🫡3
telegramdesktop/tdesktop/dev • f8d91f1 • 2 files, +40/-1
Fix no-text rich messages.

telegramdesktop/tdesktop/dev • 5098ca6 • 1 files, +13/-2
Fix width of small rich messages.

telegramdesktop/tdesktop/dev • e2ad242 • 1 files, +1/-1
Fix autocompleting mentions starting with a digit.

telegramdesktop/tdesktop/dev • 4fbfb9e • 1 files, +15/-4
Fix list markers with media as first block.

#tdesktop
🫡3
telegramdesktop/tdesktop/dev • 05fa8ac • 3 files, +20/-8
Fix aspect in location in rich_messages.

#tdesktop
🫡3
UnigramDev/Unigram/develop • dad57b4 • 2 files, +31/-0
Disable save button if incomplete

UnigramDev/Unigram/develop • ca33bed • 5 files, +15/-15
Filter search by chat type

UnigramDev/Unigram/develop • 9ff2f27 • 20 files, +235/-62
Update poll API

UnigramDev/Unigram/develop • f21a94d • 14 files, +357/-70
Update location API

UnigramDev/Unigram/develop • 793541d • 8 files, +9776/-132
Modernize record button style

UnigramDev/Unigram/develop • cad9776 • 3 files, +32/-102
Replace IV stub types

UnigramDev/Unigram/develop • 17e006d • 3 files, +41/-6
Missing code

UnigramDev/Unigram/develop • c422717 • 1 files, +66/-1
Update options

UnigramDev/Unigram/develop • ae365c4 • 1 files, +1/-1
Improve pinned text

UnigramDev/Unigram/develop • 95694ff • 2 files, +18/-6
Update draft API

UnigramDev/Unigram/develop • 9906e20 • 1 files, +2/-0
Focus text field after AI

UnigramDev/Unigram/develop • c87a407 • 7 files, +2174/-222
Initial support for rich messages

#unigram
🫡2
telegramdesktop/tdesktop/dev • 30fe208 • 6 files, +7/-6
Replace dispatch with TooManyCooks

#tdesktop
🫡2
telegramdesktop/tdesktop/dev • b94f7da • 3 files, +45/-4
Replace [OBJ] with explicit TeX in flattened text.

telegramdesktop/tdesktop/dev • 4a7e890 • 1 files, +1/-1
Fix possible crash in full teardown.

#tdesktop
🫡2
telegramdesktop/tdesktop/dev • 0425565 • 2 files, +19/-1
Allow Ntlm proxy auth for system proxy.

telegramdesktop/tdesktop/dev • a2f43e7 • 4 files, +67/-0
Added external control command channel over local socket.

telegramdesktop/tdesktop/dev • cf3dfa2 • 1 files, +93/-0
Added external commands to list, activate and cycle windows.

telegramdesktop/tdesktop/dev • fb0a652 • 2 files, +112/-0
Guarded external control commands with confirm box.

telegramdesktop/tdesktop/dev • adb7487 • 2 files, +13/-4
Improved position of expand arrow edit peer permissions box.

telegramdesktop/tdesktop/dev • 8dc53fb • 8 files, +36/-0
Added new shortcut to toggle web page preview in messages field.

telegramdesktop/tdesktop/dev • 4fab6bc • 3 files, +38/-19
Fixed display of userpic builder box on palette changes.

telegramdesktop/tdesktop/dev • 6d887ef • 2 files, +5/-3
Accelerated photo editor mode transition with eased animation.

telegramdesktop/tdesktop/dev • 34e829b • 1 files, +1/-1
Fixed color space use-after-free in CGImage conversion on old macOS.

telegramdesktop/tdesktop/dev • 9a8c918 • 2 files, +4/-4
Slightly reduced star particle sizes in 3d covers.

telegramdesktop/tdesktop/dev • 3c3f187 • 1 files, +55/-30
Fix one-on-one calls on Windows on ARM.

Fixes #30792.

#tdesktop
🫡3
morethanwords/tweb/master • d85b922 • 4 files, +29/-14
fix: dock chat quiz hints below the topbar, not behind it

Same stacking-context trap as the paid-reaction toast (23a023fab): hints
mounted inside .bubbles (transformed z-index:1) rendered behind the topbar
and floating pinned plates. Add setChatQuizHint, which mounts the hint on
the .chat element and docks it at --chat-padding-top, and switch all four
chat-level hints to it: paid-media purchase, summary flood limit,
file speed limit, reminder scheduled.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

morethanwords/tweb/master • 58afaf7 • 10 files, +167/-77
refactor: unify top-of-chat toasts into showChatToast

The paid-reaction/paid-messages undo toast and the chat-level quiz hints
were two implementations of the same thing: a toast docked below the chat
topbar, mounted on the .chat element to escape the .bubbles stacking
context. Extract showChatToast (@components/chat/chatToast) on top of
showTooltip and migrate both onto it, resolving the TODO in _reactions.scss.

The component owns the mount point, the --chat-padding-top docking,
single-instance handling (a new toast hides the previous one) and hiding on
peer_changed (opted out by the undoable paid toast, whose countdown should
outlive a chat switch). Two animation variants keep the previous looks:
'slide' (quiz hints) emerges from behind the topbar at z-index 1, 'fade'
(paid toast) rises into place while fading.

setChatQuizHint is gone; non-chat setQuizHint callers (stories viewer, star
gift popup, passcode tab) are untouched.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

morethanwords/tweb/master • 8fd27aa • 3 files, +113/-4
dev: run the hidden preview tab live (worker timers, visibility spoof, decode shim)

Chrome throttles/freezes DOM timers in hidden tabs, never raster-decodes
images there (img.decode() hangs) and rAF/IO stay silent — every
timer/image-driven flow stalled when driving the app through the preview.
Under IS_PREVIEW: re-drive all window timers through an inline worker
(exempt from background throttling), shim requestIdleCallback, spoof Page
Visibility to visible+focused, swallow visibilitychange, replace
img.decode() with a load-event wait, and keep idleController permanently
non-idle (no mousemove ever arrives in a preview tab).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

#webk
🫡2