Telegram github commits and releases
前往频道在 Telegram
4 697
订阅者
-824 小时
-467 天
-12230 天
帖子存档
telegramdesktop/tdesktop/nightly • 75d0259 • 2 files, +13/-2
Fixed swipe-next-channel gesture freeze on Windows.
telegramdesktop/tdesktop/nightly • 0c00961 • 1 files, +3/-3
Switched Windows CI build from Debug to Release.
#tdesktop
telegramdesktop/tdesktop/dev • 54d4d8a • 1 files, +4/-2
[img-editor] Fixed std::clamp() crash in photo editor
#tdesktop
morethanwords/tweb/master • 859205f • 10 files, +580/-51
Layer 227
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
morethanwords/tweb/master • e22ba93 • 12 files, +968/-42
Add support for MTProto rich messages (#669)
Render incoming message.rich_message payloads through the Instant View block
renderer, with reply/search summary text and a messages.getRichMessage fetch for
"read more" parts. Math (pageBlockMath / inline textMath) renders via the Temml
path; the TL schema comes from the official Layer 227.
Also fixes a threaded-worker port-attachment race that could stick the app on
dialog load.
Fixes #664
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
#webk
morethanwords/tweb/master • 5312839 • 2 files, +303/-89
Add trackpad swipe-to-reply for message bubbles
A two-finger horizontal trackpad swipe now replies to a message on desktop,
alongside the existing touch swipe. Wheel events (deltaX) drive the same reply
visuals through a shared createReplySwipeController; the gesture axis-locks per
burst so vertical scroll and inner horizontal scrollers (code blocks, wide
tables) keep working, and the commit point is found by detecting the momentum
decay (with a wheel-idle-debounce fallback) so the reply fires near release
without waiting out the full trackpad inertia.
Also fix two visual regressions in the reply gesture: fade the side reply icon
out on release instead of dropping it in a single frame, and keep the group
avatar's bottom animating during the slide-back so replying to the last message
no longer makes the avatar jump vertically.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
morethanwords/tweb/master • a3cad62 • 11 files, +174/-16
Add guest bots (bot_guestchat)
Sender: a guest bot's @username typed at the start of a message sends a plain
message instead of triggering an inline query, and guest bots are suggested in
the @ autocomplete (except in channels and monoforums).
Display: an incoming message carrying guestchat_via_from renders the guest
bot's avatar (forced even in a 1-on-1) and a "<Bot> for <Visitor>" name, with
consecutive messages grouped by visitor. A one-time hint explains that the bot
can't read the chat — only the message where it was mentioned.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
morethanwords/tweb/master • 33179d0 • 2 files, +9/-16
Route code-block click handling through the codeBlockClick helper
Replace the inline code-header / monospace-text click detection and
wrap-toggle logic in ChatBubbles with getCodeBlockClickTarget and
toggleCodeBlockWrap from @helpers/dom/codeBlockClick. Also sort the
pngjs / @types/pngjs devDependencies alphabetically.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
morethanwords/tweb/master • a8cda12 • 300 files, +713/-603
Build
#webk
morethanwords/tweb/master • a42b5b4 • 4 files, +283/-3
Add Stories and Reactions sections to notification settings
Settings → Notifications gains two iOS-style sections:
- Stories: a 3-state "New Stories" control (all / important-only / off) mapped
to the nullable stories_muted flag on inputNotifyUsers, plus "Show Sender's
Name" (stories_hide_sender). The global toggle is inherited by the per-peer
story-notification guard and by server web-push, so it actually silences new
story notifications on WebK (bugs.telegram.org/c/63273).
- Reactions: per-category (messages / stories) off / My Contacts / Everyone
pickers plus "Show Sender's Name", backed by new appNotificationsManager
get/setReactionsNotifySettings wrappers over account.*ReactionsNotifySettings.
The stories write also publishes its change locally right away so the sibling
Private Chats section, which shares inputNotifyUsers and rewrites the whole
object on tab-close, cannot clobber the story flags.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
morethanwords/tweb/master • 257c29d • 14 files, +2390/-35
Render Markdown documents in Instant View
Open .md / text/markdown attachments as a native Instant View page instead
of downloading them. A client-side CommonMark-ish parser builds a Telegram
Page from the markdown, rendered by the existing IV UI.
Parser (src/lib/richTextProcessor/):
- parseMarkdownToPage: headings H1-H6 (+ slug anchors), unordered/ordered/
nested lists, GFM tables with alignment, task lists, blockquotes, fenced
and indented code, $$...$$ math blocks, <details> collapsibles, footnotes
(sequential numbering + clickable reference<->definition links),
reference/inline links, HTML comment stripping, thematic breaks.
- inlineMarkdownToRichText: bold/italic/underline/strike/code/spoiler,
<sub>/<sup>/<mark>, <b>/<i>/<u>/<s> -> real formatting, <url>/<email>
autolinks, reference links, backslash escapes, inline $x$ math.
Instant View (src/components/):
- markdownInstantView + wrappers/document.ts: open .md attachments as IV.
- instantView.tsx: highlighted code blocks (reusing wrapRichText's
messageEntityPre markup) with working copy/wrap buttons, square task
checkboxes (StaticCheckbox), app-standard quote styling, Temml-rendered
math (inline + block), in-page anchor & footnote scrolling.
- instantViewMath: lazy Temml (LaTeX -> MathML) loader with plain-text
fallback, loaded as a Vite-minified async chunk on first formula.
- browser.tsx: hide open/copy-link menu actions for the URL-less md page.
Extract src/helpers/dom/codeBlockClick.ts for the shared code-block
copy/wrap detection; the Instant View onClick delegator reuses it.
Adds the temml dependency. Covered by src/tests/parseMarkdownToPage.test.ts.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
#webk
morethanwords/tweb/master • 6e3d57a • 1 files, +15/-1
Add view-in-stealth-mode option to profile stories context menu
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
morethanwords/tweb/master • 3c6ca05 • 3 files, +106/-5
Fix code-block markdown paste and send handling
- parseMarkdown: only treat the first line of a ``` block as a language tag when it's a single identifier token, so a leading { (e.g. pretty-printed JSON with the opening fence on the same line) is kept as code instead of being swallowed.
- parseMarkdown: a lone ``` run (all-backtick content, not a real fence) was pushed twice — once in the all-backtick branch and again in the !pushedEntity fallback — duplicating it and drifting every entity after it on send. Emit it verbatim once.
- inputField paste handler: don't discard perfectly good rich HTML when text/plain is a markdown rendering of the same content (backticks/asterisks make it longer). Also accept the rich value when its non-whitespace chars are an in-order subsequence of the plain text.
- Add parseMarkdownCode.test.ts covering language detection and the lone-``` duplication.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
morethanwords/tweb/master • 5dae11d • 8 files, +203/-21
Route OffscreenCanvas stickers and spoilers through per-tab workers
OffscreenCanvas presentation (transferControlToOffscreen) is incompatible
with a SharedWorker: a tab-owned canvas's frame sink is bound to the owning
renderer process, so a cross-process present is rejected ("Invalid client ID")
and kills the tab with RESULT_CODE_KILLED_BAD_MESSAGE whenever two same-origin
tabs land in different processes. Gate both offscreen paths behind a shared
IS_SHARED_WORKER_OFFSCREEN_CANVAS_SUPPORTED flag.
- Spoiler renderer runs as a per-tab dedicated Worker instead of a SharedWorker.
- rlottie 'canvas' stickers keep decoding in the shared rlottie worker but
present via the per-tab emoji compositor: the worker ships ImageBitmaps and
the compositor holds/tints/blits the transferred canvases (attach/detach/
resize/config/present sticker ops, keyed by item reqId). Re-key
lottieLoader.players on the offscreen->legacy fallback via a new reqIdChanged
event, and extract paintFrameTinted shared by both workers.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
#webk
UnigramDev/Unigram/layer228 • 7b8b6d2 • 2 files, +42/-0
IsTextTrimmable
UnigramDev/Unigram/layer228 • 90d5a6e • 5 files, +172/-26
WIP: memory optimizations
#unigram
UnigramDev/Unigram/layer228 • 53501e5 • 1 files, +1/-1
Fix missing default value
UnigramDev/Unigram/layer228 • da4f41c • 2 files, +0/-142
Remove unused code
UnigramDev/Unigram/layer228 • da41770 • 9 files, +1/-31
Removed TextStyle
UnigramDev/Unigram/layer228 • 24e067a • 1 files, +53/-69
Refactor formatted text block pools
UnigramDev/Unigram/layer228 • 90d9201 • 1 files, +16/-18
Fix fast run and auto font size
UnigramDev/Unigram/layer228 • 1a081c8 • 44 files, +441/-8
Debug chat history UI tree
UnigramDev/Unigram/layer228 • bd8c037 • 4 files, +80/-35
Don't use explicit bindings in FormattedTextBlock
UnigramDev/Unigram/layer228 • bcc5581 • 3 files, +9/-9
Fix code block font family
UnigramDev/Unigram/layer228 • c22c16b • 2 files, +76/-14
Optimize SVG decompression
UnigramDev/Unigram/layer228 • 67f34b7 • 1 files, +25/-10
Properly unsubscribe window
UnigramDev/Unigram/layer228 • 5c5590f • 1 files, +8/-1
Fix leak in dead code
UnigramDev/Unigram/layer228 • 49b2c6b • 3 files, +41/-9
Fixes
UnigramDev/Unigram/layer228 • b727254 • 1 files, +18/-5
Fix context menu for selected messages
UnigramDev/Unigram/layer228 • 15f1274 • 1 files, +1/-1
Fix context menu for vote-once polls
UnigramDev/Unigram/layer228 • 14e7634 • 2 files, +2/-6
Refactoring
#unigram
Assets for release
v6.9.4 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
#tdesktoptelegramdesktop/tdesktop/dev • 8a22f2c • 6 files, +29/-17
Beta version 6.9.4.
- Add rich message editor with media, tables and math formulas.
- Show rich message drafts with full formatting in chat compose area.
- Add text recognition with selection and copying
to media viewer images.
- Add swipe navigation and pinch zoom gestures to media viewer.
- Support zoom and dragging files out in shared media photos.
- Allow adapting existing stickers into custom emoji.
- Add media viewer video playback to system media controls.
- Add alphabetical fast-scroll index to contacts box.
- Improve screen reader accessibility for chats list and folders.
#tdesktop
New telegramdesktop/tdesktop release:
v6.9.4 (beta)
- Add rich message editor with media, tables and math formulas.
- Show rich message drafts with full formatting in chat compose area.
- Add text recognition with selection and copying to media viewer images.
- Add swipe navigation and pinch zoom gestures to media viewer.
- Support zoom and dragging files out in shared media photos.
- Allow adapting existing stickers into custom emoji.
- Add media viewer video playback to system media controls.
- Add alphabetical fast-scroll index to contacts box.
- Improve screen reader accessibility for chats list and folders.
#tdesktoptelegramdesktop/tdesktop/dev • 4bafe2f • 1 files, +10/-3
Update breakpad to latest commit in Docker
#tdesktop
telegramdesktop/tdesktop/dev • 4200a27 • 6 files, +3/-40
Fix build with GCC.
telegramdesktop/tdesktop/dev • 0eb071f • 3 files, +3/-3
Update submodules.
#tdesktop
telegramdesktop/tdesktop/dev • adf04f5 • 2 files, +2/-14
Allow X11 WM to automatically position SeparatePanel with a foreign parent
telegramdesktop/tdesktop/dev • 80833b6 • 4 files, +3/-22
Get rid of DESKTOP_APP_DISABLE_X11_INTEGRATION
#tdesktop
telegramdesktop/tdesktop/dev • 9101d41 • 1 files, +14/-8
Fix premium markings in text style buttons.
telegramdesktop/tdesktop/dev • db5f107 • 1 files, +17/-0
Improve divider insertion.
telegramdesktop/tdesktop/dev • 2edcbd2 • 1 files, +15/-7
Fix fade to bg in rich message drafts.
telegramdesktop/tdesktop/dev • 4be2bc7 • 4 files, +139/-2
Insert empty paragraph on Up key in the start.
#tdesktop
telegramdesktop/tdesktop/dev • c362a47 • 2 files, +14/-6
Fix identities for dialogs list rows.
#tdesktop
telegramdesktop/tdesktop/dev • 71bd56e • 2 files, +93/-29
Moved chat list selection to the navigated row on screen reader focus.
telegramdesktop/tdesktop/dev • 317eefa • 4 files, +284/-69
Opened chat on screen reader activate of a chat list row.
telegramdesktop/tdesktop/dev • 164eddf • 1 files, +1/-1
Fix python warning in prepare.
#tdesktop
telegramdesktop/tdesktop/dev • 2509a3c • 5 files, +22/-31
Show premium required toast instead of promo.
telegramdesktop/tdesktop/dev • f04e4f5 • 1 files, +1/-1
Update lib_ui.
#tdesktop
telegramdesktop/tdesktop/dev • 9766019 • 1 files, +20/-5
Removed redundant background fill under opaque peer list rows.
telegramdesktop/tdesktop/dev • 7c2725f • 4 files, +17/-10
Moved peer list rows scroll cache to separate module.
telegramdesktop/tdesktop/dev • b3a2434 • 4 files, +58/-1
Cached dialogs list rows into opaque images while scrolling.
telegramdesktop/tdesktop/dev • ffeb5d4 • 7 files, +257/-25
Allowed live animations over cached dialogs list rows.
telegramdesktop/tdesktop/dev • 03d1a1d • 2 files, +43/-7
Added refresh of loaded userpics over cached dialogs list rows.
telegramdesktop/tdesktop/dev • 8e535a2 • 7 files, +7/-34
Drop the rich-messages-editor experimental flag
telegramdesktop/tdesktop/dev • 435482e • 4 files, +87/-0
Open the editor in edit mode from Expand
telegramdesktop/tdesktop/dev • 90707a9 • 8 files, +90/-13
Corner-lock the send badge and gate rich send
telegramdesktop/tdesktop/dev • bd4a6b4 • 2 files, +10/-3
Restyle the send-without-formatting box
telegramdesktop/tdesktop/dev • 340eb6a • 7 files, +136/-6
Gate flatten offer on lossless rich drafts
telegramdesktop/tdesktop/dev • 1820743 • 2 files, +7/-3
Base rich-draft preview fade on line height
telegramdesktop/tdesktop/dev • 99d9e7f • 1 files, +35/-0
[ai] Note non-Q_OBJECT findChildren pitfall for test overlays.
telegramdesktop/tdesktop/dev • 3664506 • 2 files, +37/-2
Keep a following list intact when replacing blocks
telegramdesktop/tdesktop/dev • 3738d58 • 3 files, +12/-4
Fix problems with paywalls in rich messages.
#tdesktop
telegramdesktop/tdesktop/dev • 2b6f26c • 1 files, +1/-1
Use normal font size for IV quote author label
telegramdesktop/tdesktop/dev • adc94bf • 1 files, +3/-0
Keep rich messages as text, not isolated emoji
telegramdesktop/tdesktop/dev • 86b9b42 • 1 files, +10/-2
Keep IV word selection across text nodes
telegramdesktop/tdesktop/dev • 13b61fc • 2 files, +23/-0
Add IV triple-click paragraph selection
telegramdesktop/tdesktop/dev • 8099f5d • 3 files, +39/-1
Zoom the IV article on Ctrl+wheel
telegramdesktop/tdesktop/dev • eeef96e • 7 files, +67/-9
Request IV media images at zoomed pixel size
telegramdesktop/tdesktop/dev • 8d26202 • 1 files, +9/-2
Fix Escape in sections with compose controls.
Regression from f362c1610648: moving the key event filter from the
InputField to its raw QTextEdit made the Escape branch consume the key
before InputField::keyPressEventInner could fire cancelled(), so
sections like scheduled messages no longer went back on Escape with a
focused field. Keep the Cmd+Up/Down handling on the raw text edit and
suppress the propagated Escape in a separate filter on the field.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
telegramdesktop/tdesktop/dev • 802beab • 3 files, +14/-7
Show loading dots for thinking-only rich drafts
telegramdesktop/tdesktop/dev • 7b2754f • 4 files, +115/-110
Extract reusable top bar suggestion bubble mount.
Factor the floating cloud bubble's painting and scroll-mount wiring into shared helpers so the bubble content can be mounted standalone over any scrollable surface.
telegramdesktop/tdesktop/dev • ea0ba76 • 2 files, +3/-1
Add a skip above rich messages.
telegramdesktop/tdesktop/dev • b2f324c • 1 files, +1/-1
Nudge editor toolbar premium stars inward
telegramdesktop/tdesktop/dev • 7c2795d • 1 files, +3/-4
Fixed dangling image reference in peer list rows scroll cache.
#tdesktop
