Telegram github commits and releases
Відкрити в Telegram
Broadcast from the most important Telegram clients' repositories
Показати більше4 842
Підписники
-1324 години
-487 днів
-22430 день
Триває завантаження даних...
Схожі канали
Хмара тегів
Вхідні та вихідні згадування
---
---
---
---
---
---
Залучення підписників
червень '26
червень '26
+14
в 0 каналах
травень '26
+75
в 5 каналах
Get PRO
квітень '26
+39
в 9 каналах
Get PRO
березень '26
+9
в 1 каналах
Get PRO
лютий '26
+13
в 2 каналах
Get PRO
січень '26
+16
в 2 каналах
Get PRO
грудень '25
+19
в 0 каналах
Get PRO
листопад '25
+17
в 0 каналах
Get PRO
жовтень '25
+7
в 0 каналах
Get PRO
вересень '25
+5
в 0 каналах
Get PRO
серпень '25
+19
в 1 каналах
Get PRO
липень '25
+21
в 1 каналах
Get PRO
червень '25
+23
в 0 каналах
Get PRO
травень '25
+71
в 0 каналах
Get PRO
квітень '25
+28
в 0 каналах
Get PRO
березень '25
+29
в 0 каналах
Get PRO
лютий '25
+24
в 0 каналах
Get PRO
січень '25
+61
в 0 каналах
Get PRO
грудень '24
+16
в 0 каналах
Get PRO
листопад '24
+86
в 0 каналах
Get PRO
жовтень '24
+112
в 0 каналах
Get PRO
вересень '24
+814
в 0 каналах
Get PRO
серпень '24
+606
в 0 каналах
Get PRO
липень '24
+475
в 0 каналах
Get PRO
червень '24
+415
в 0 каналах
Get PRO
травень '24
+392
в 0 каналах
Get PRO
квітень '24
+422
в 0 каналах
Get PRO
березень '24
+598
в 1 каналах
Get PRO
лютий '24
+1 585
в 0 каналах
Get PRO
січень '24
+3 043
в 0 каналах
Get PRO
грудень '23
+3 050
в 0 каналах
Get PRO
листопад '23
+42
в 0 каналах
Get PRO
жовтень '23
+34
в 1 каналах
Get PRO
вересень '23
+25
в 0 каналах
Get PRO
серпень '23
+30
в 0 каналах
Get PRO
липень '23
+26
в 0 каналах
Get PRO
червень '23
+12
в 0 каналах
Get PRO
травень '23
+11
в 0 каналах
Get PRO
квітень '23
+18
в 0 каналах
Get PRO
березень '23
+22
в 0 каналах
Get PRO
лютий '23
+14
в 0 каналах
Get PRO
січень '23
+10
в 0 каналах
Get PRO
грудень '22
+13
в 0 каналах
Get PRO
листопад '22
+30
в 0 каналах
Get PRO
жовтень '22
+9
в 0 каналах
Get PRO
вересень '22
+23
в 0 каналах
Get PRO
серпень '22
+29
в 0 каналах
Get PRO
липень '22
+36
в 0 каналах
Get PRO
червень '22
+22
в 0 каналах
Get PRO
травень '22
+20
в 0 каналах
Get PRO
квітень '22
+40
в 0 каналах
Get PRO
березень '22
+52
в 0 каналах
Get PRO
лютий '22
+24
в 0 каналах
Get PRO
січень '22
+13
в 0 каналах
Get PRO
грудень '21
+61
в 0 каналах
Get PRO
листопад '21
+20
в 0 каналах
Get PRO
жовтень '21
+11
в 0 каналах
Get PRO
вересень '21
+28
в 0 каналах
Get PRO
серпень '21
+21
в 0 каналах
Get PRO
липень '21
+31
в 0 каналах
Get PRO
червень '21
+25
в 0 каналах
Get PRO
травень '21
+6
в 0 каналах
Get PRO
квітень '21
+40
в 0 каналах
Get PRO
березень '21
+16
в 0 каналах
Get PRO
лютий '21
+11
в 0 каналах
Get PRO
січень '21
+30
в 0 каналах
Get PRO
грудень '20
+477
в 0 каналах
| Дата | Залучення підписників | Згадування | Канали | |
| 08 червня | 0 | |||
| 07 червня | +2 | |||
| 06 червня | +8 | |||
| 05 червня | +2 | |||
| 04 червня | 0 | |||
| 03 червня | 0 | |||
| 02 червня | +1 | |||
| 01 червня | +1 |
Дописи каналу
telegramdesktop/tdesktop/dev • e2c42dd • 1 files, +1/-1
Update cmake_helpers for cmark-gfm packaged mode.
#tdesktop
| 2 | telegramdesktop/tdesktop/dev • ee20ac6 • 2 files, +5/-1
Drop session-less redundant accounts on acc add.
telegramdesktop/tdesktop/dev • 614ee45 • 10 files, +951/-38
Implement support for flatpak updates
#tdesktop | 14 |
| 3 | morethanwords/tweb/master • dfb013e • 5 files, +47/-9
fix: show limit-reached toast when saving GIFs or faving stickers
saveGif / faveSticker silently trimmed the list to the account limit (saved_gifs_limit_*, stickers_faved_limit_*) with no feedback, unlike iOS/Android/tdesktop which show a "replaced" toast. They now flag limitReached on the gif_updated / sticker_updated events, and appImManager surfaces a toast via a shared showLimitReplacedToast helper: non-premium users get a clickable "increase the limit" Premium upsell, premium users a plain "replaced" message. Strings mirror the official iOS/Android wording.
Fixes https://bugs.telegram.org/c/62515
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
morethanwords/tweb/master • f976635 • 1 files, +1/-0
docs(CLAUDE.md): never regenerate langPack.strings manually (auto-generated)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
#webk | 52 |
| 4 | morethanwords/tweb/master • de7c31e • 43 files, +1969/-109
Video avatars, public/personal profile photos & suggested-photo service messages
Animated (video) profile photos and related profile-photo features, ported
from the official iOS/Android/Desktop clients.
Display
- Animated avatars play in the profile carousel, chat list, topbar and the
full-screen avatar/media viewer; message-bubble avatars stay static.
Gated by lite-mode 'video'; off-screen videos pause.
Upload
- Media editor gains a video-avatar mode (<=10s trim, forced mute, cover-frame
picker; 800px / 30fps / 1.5Mbps caps); the AvatarEdit pipeline wires it
through.
Public (fallback) & personal photos
- Privacy > Profile Photo: set / update / remove a public (fallback) photo.
- Contact editing: Set / Suggest / Reset a personal contact photo (correct
save / suggest MTProto flags).
Suggested & changed photos in chat
- messageActionSuggestProfilePhoto renders the photo inline (generic
wrapServiceMediaBubble); the receiving side opens it in the editor and sets
it as the profile photo on confirm, with a toast.
- Group / channel avatar-change service messages show the (animated) photo;
clicking opens the media viewer.
Notable fixes
- Fallback-photo download via inputPhotoFileLocation (not a synthetic peer).
- Channel video-avatar resolution in topbar / chat list (getFullVideoPhoto
fetches the chat full photo; failed video loads are no longer cached).
- editContact refreshes the full peer after set / suggest / reset.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
#webk | 72 |
| 5 | morethanwords/tweb/master • b43026f • 2 files, +81/-13
fix: keep per-chat theme on global toggle and reveal it with the theme-switch circle
When the open chat pins its own theme/wallpaper, a global day/night toggle no longer overwrites it with the global background. chatBackground's theme_changed listener re-publishes the chat's own theme/wallpaper (tracked as ownedTheme/ownedWallPaper) instead of the global one; a same-render in-flight dedup lets the chat's useIsNightTheme re-publish attach to the in-flight render rather than supersede it; and appImManager's theme_changed listener defers when this.chat owns the background.
The per-chat wallpaper also stopped popping in before the circular reveal. setBackground read themeController.getTheme() synchronously (in resolveBackgroundSync and the ownership check), so Chat's reactive update() effect subscribed to appSettings.theme and re-rendered the wallpaper the instant switchTheme flips the setting -- before startViewTransition, painting the new wallpaper into the already-captured old snapshot. Those reads are now wrapped in untrack(): setBackground is imperative and must not create a reactive dependency in its caller. The re-render defers to the theme_changed event inside the view-transition update callback, so it lands in the new snapshot and is revealed together with the circle.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
morethanwords/tweb/master • edeebd5 • 2 files, +41/-3
Fix phone number paste on the sign-in page
Pasting an international number into the login phone field produced a mangled result (e.g. '+66809716338' became '+66', or a doubled country code). Two causes:
- telInputField: a contentEditable paste inserts the raw clipboard text at the caret even when the paste event is preventDefault-ed in Chrome, so pasting onto the pre-filled country code concatenated/doubled it. Compute the country-code-aware merge in the paste handler (a full international number with +/00 replaces the field; a national number appends to the current code, dropping a leading trunk 0) and apply it in the input handler that follows.
- SignInCard: when the pasted number changed the detected country, onInput -> countryInputField.override -> onCountryChange reset telInputField.value to the bare '+code', wiping the pasted national part. Guard that reset with an 'overriding' flag so phone-driven country detection mirrors into the selector without clearing the field; a manual country pick still resets as before.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
#webk | 124 |
| 6 | morethanwords/tweb/master • 8dde18f • 7 files, +22/-40
style: restyle folders-sidebar unread badges + const-ify sidebar tab locals
morethanwords/tweb/master • f96bff1 • 3 files, +28/-6
fix: resolve circular worker import from log-buffer export wiring
logsBuffer.ts is reached by the universal logger() so it lands in every worker bundle. It held import('./exportLogs'), and exportLogs statically imports apiManagerProxy, which spawns both the mtproto and crypto workers. Rollup keeps dynamically-imported modules in the graph (it only splits the chunk), so Vite's worker bundler pulled apiManagerProxy into crypto.worker's bundle -> spawns index.worker -> spawns crypto.worker -> "Circular worker imports detected".
Move the main-thread-only window.downloadLogs/collectLogs wiring out of the leaf into mountLogExport.ts, imported only from src/index.ts, so exportLogs (and apiManagerProxy) stay out of every worker bundle.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
morethanwords/tweb/master • ed7e34e • 300 files, +987/-735
Build
#webk | 132 |
| 7 | morethanwords/tweb/master • 06558b0 • 1 files, +14/-0
fix: lift incoming P2P call info column above the action buttons
A ringing incoming call shows a second button row and raises the first row into the vertically-centred avatar/name/status column, leaving the subtitle sitting under the buttons. Re-centre the column (translateY -5rem) in the space between the header and the two button rows while .two-button-rows is set; it animates back to centre (audio) or top (video) once the call connects.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
morethanwords/tweb/master • 0d5a0c1 • 1 files, +24/-1
fix: keyboard scroll in chat — PageUp/PageDown + ArrowUp/Down in read-only chats
PageUp/PageDown were ignored by the global keydown listener, so the chat
never scrolled by page. ArrowUp/Down hijacked the key for edit-message
even in channels where the user can't post, where there's nothing to edit.
Both now hand keyboard focus to the bubbles scroll container and let the
browser scroll it natively (overflow:auto + outline:none → focus is
invisible). Existing edit-last / reply-to-previous shortcuts in writable
chats are unchanged.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
morethanwords/tweb/master • 4b1d0bc • 1 files, +4/-4
fix: firing ripple with short trackpad click
morethanwords/tweb/master • ca12e13 • 10 files, +338/-83
feat: rework Chat Wallpaper picker — instant open, lazy tiles, smooth theme switch
Overhaul of the Chat Wallpaper / Set-a-color background picker:
- Fix: picks never applied. The theme-settings Solid store was mutated
directly (silently dropped) and appChatBackground short-circuited an
undefined-opts wallpaper change. Persist via setWallpaperForCurrentTheme
and resolve the background up front so the picked wallpaper actually shows.
- Theme switch via the menu now swaps a static-image background smoothly: the
view transition awaits the chat-background re-render, and heavyAnimation
pauses video/sticker rendering during it with a safety timeout so the app
can't freeze mid-transition.
- Picker grid adopts the Shared-Media media-grid look (full-bleed, rounded),
with corner-aware selection rounding driven by JS-computed classes
(markGridCornerItem) rather than :nth-child. Same for the Set-a-color grid.
- Performance: the grid opens instantly and only does work for visible tiles.
Each whole tile (file download + gradient/pattern/image raster) is deferred
to a LazyLoadQueue and built on scroll-into-view, instead of downloading +
rasterizing all ~70 up front (was ~860ms reveal plus sustained main-thread
jank).
- Tiles show a synchronous colour skeleton (CSS gradient from the wallpaper's
own colours; black fallback for image-only) so the grid is never empty,
even mid open-slide.
- The wallpaper list is cached synchronously (warmed by the General Settings
preload) so the grid + skeletons render in the first frame of the open
slide (~11ms) instead of after the async getWallPapers (~128ms).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
#webk | 114 |
| 8 | telegramdesktop/tdesktop/dev • 37c5bdb • 1 files, +1/-1
Update User-Agent for DNS to Chrome 148.0.0.0.
telegramdesktop/tdesktop/dev • ea7b419 • 1 files, +0/-1
Removed 1 unused style entries.
#tdesktop | 118 |
| 9 | morethanwords/tweb/master • 0ac46c1 • 1 files, +14/-0
fix: clear stuck drag-and-drop overlay when a file drag ends outside the window
Dragging a file into the chat and releasing it outside the window/tab
left the drop overlay (.drops-container.is-visible + body.is-dragging)
stuck, blocking the chat: no 'drop' fires for a drop outside the app, and
an external OS file drag has no in-document source so 'dragend' never fires
either, leaving the dragenter/dragleave counter unbalanced.
Add a watchdog armed on every 'dragover' (which keeps firing while a drag is
held over the page and stops the instant it leaves/ends): if it lapses for
500ms, force-hide the overlay. A still-active drag re-arms it each tick.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
#webk | 161 |
| 10 | morethanwords/tweb/master • 9025762 • 3 files, +99/-7
fix: don't drop out of E2E conferences on duplicate chain-block delivery
TdE2E chain blocks reach the call via two paths — the 1.5s poll and the
server `updateGroupCallChainBlocks` push — but only the poll advanced the
`e2eChainOffsets` cursor. A burst of pushes (several participants joining
at once) left the cursor stale, so the next poll replayed a batch of
already-applied blocks. `applyBlockBytes` deduped only the chain tip, so
the older block in the batch fell through to the strict `applyBlock`,
which threw a fatal HEIGHT_MISMATCH — the e2e worker raised `callFailed`
and the client hung itself up.
- applyBlockBytes: skip blocks strictly below our height (already applied)
before the tip-hash check; keep the hash check for the same-height case
so a genuine sibling/fork at the tip still fails. Real forward gaps
(height > height + 1) stay fatal.
- group_call_chain_blocks push handler: advance the poll cursor to the
pushed next_offset (max-guarded against out-of-order pushes) so the next
poll doesn't re-fetch and re-deliver what the push already applied.
- tests: regression coverage for re-delivery of below-tip blocks + an
in-order batch replay of the whole applied chain.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
#webk | 153 |
| 11 | telegramdesktop/tdesktop/nightly • 344e330 • 2 files, +6/-2
Fixed crash on Linux and Windows.
telegramdesktop/tdesktop/nightly • 02f420a • 1 files, +52/-3
Updated macOS build on Github CI.
#tdesktop | 170 |
| 12 | telegramdesktop/tdesktop/nightly • 5d7ca1b • 1 files, +52/-3
Updated macOS build on Github CI.
#tdesktop | 162 |
| 13 | telegramdesktop/tdesktop/dev • 65f24c3 • 1 files, +2/-2
Fix build with Windows on ARM.
#tdesktop | 161 |
| 14 | telegramdesktop/tdesktop/dev • fc1fc69 • 4 files, +228/-337
Once again try fixing separators in profiles.
#tdesktop | 164 |
| 15 | morethanwords/tweb/master • fa1fc25 • 1 files, +12/-5
fix: cancel in-flight autocomplete load when hiding the panel
morethanwords/tweb/master • 010b12d • 1 files, +5/-4
fix: don't disable HMR inside .claude worktree checkouts
morethanwords/tweb/master • 6795d84 • 19 files, +1161/-11
feat: capture every logger() call to an exportable, symbolicatable log buffer
#webk | 177 |
| 16 | Assets for release v6.8.5 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 | 169 |
| 17 | telegramdesktop/tdesktop/nightly • acd2540 • 1 files, +24/-2
Fixed build for Windows ARM on Github CI.
telegramdesktop/tdesktop/nightly • d4f530e • 2 files, +6/-2
Fixed crash on Linux and Windows.
#tdesktop | 159 |
| 18 | telegramdesktop/tdesktop/dev • e60476c • 4 files, +4/-36
Replaced global Qt RHI forcing with per-window activation.
telegramdesktop/tdesktop/dev • 818f562 • 1 files, +73/-2
Added separate send action animation for round video messages.
telegramdesktop/tdesktop/dev • bc6705e • 1 files, +20/-29
Fix creating chats from webapps.
telegramdesktop/tdesktop/dev • a681dbe • 1 files, +1/-1
Add styles for send round video message animation.
telegramdesktop/tdesktop/dev • ba6c966 • 1 files, +1/-1
Fix build with Qt < 6.7.
telegramdesktop/tdesktop/dev • 4d4ba03 • 7 files, +32/-16
Beta version 6.8.5.
- Animated 3D objects on settings covers (premium star, coin, diamond).
- Particle effects for one-time voice message playback.
- Birthday celebration effect on profile.
- Poll votes graph in message statistics.
- Separate send action animation for round video messages.
- Open public channels from chat folder invite links.
- Notify toggle and muted icon for silent scheduled messages.
- Per-window Qt RHI renderer activation.
- Fix empty chat list preview after deleting last message.
- Fix shaking of pinned chats dragged past rows of other heights.
- Fix scroll with keyboard in chat history.
- Fix pause of animated reactions when opening their context menu.
#tdesktop | 163 |
| 19 | New telegramdesktop/tdesktop release: v6.8.5 (beta)
- Animated 3D objects on settings covers (premium star, coin, diamond).
- Particle effects for one-time voice message playback.
- Birthday celebration effect on profile.
- Poll votes graph in message statistics.
- Separate send action animation for round video messages.
- Open public channels from chat folder invite links.
- Notify toggle and muted icon for silent scheduled messages.
- Per-window Qt RHI renderer activation.
- Fix empty chat list preview after deleting last message.
- Fix shaking of pinned chats dragged past rows of other heights.
- Fix scroll with keyboard in chat history.
- Fix pause of animated reactions when opening their context menu.
- Improve performance with RHI enabled.
#tdesktop | 125 |
| 20 | morethanwords/tweb/master • 689bc71 • 4 files, +4/-5
refactor(tabs): drop manual tab.title pokes where the scaffold can set it
includedChats moves its sync, payload-derived title to a scaffold
function-title (type -> FilterAlwaysShow/FilterNeverShow). chatInviteLinks and
chatInviteLink drop redundant tab.title pokes that just re-set the static title
the scaffold already applies (InviteLinks / InviteLink); chatInviteLink keeps
only the custom-title override (wrapEmojiText), which has no scaffold equivalent.
morethanwords/tweb/master • 70bf3c1 • 300 files, +2626/-2389
Merge master into HMR-tabs branch; reconcile settings-store migration
Master advanced 9 commits (useAppSettings store, chat edge-to-edge scroll,
media-viewer rework, voice fixes, Build artifacts). Reconciled:
- modify/delete conflicts: master edited the legacy editFolder.ts /
backgroundColor.ts, which this branch replaced with .tsx — kept the .tsx,
deleted the .ts, and ported master's rootScope.settings -> useAppSettings()
migration into editFolder.tsx + backgroundColor.tsx (background.tsx auto-merged
master's migration cleanly).
- rootScope.settings removed in master: all three ported background/folder tabs
now read via useAppSettings() (writes use unwrap(appSettings)); no
rootScope.settings remains in the ported tabs (remaining hits in sendingStatus
et al. are identical to master).
- hotReloadGuard.ts/.tsx auto-merge keeps both master's showTranslatePopup and
this branch's scaffold-tab/appDialogsManager/StoriesProvider entries.
tsc clean; eslint clean (tabs.ts indent autofixed).
morethanwords/tweb/master • 06a052c • 9 files, +179/-53
Merge branch 'master' into xenodochial-swartz-dbc3ca
#webk | 129 |
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
