ar
Feedback
Telegram github commits and releases

Telegram github commits and releases

الذهاب إلى القناة على Telegram

Broadcast from the most important Telegram clients' repositories

إظهار المزيد
4 853
المشتركون
-1524 ساعات
-677 أيام
-24230 أيام
أرشيف المشاركات
telegramdesktop/tdesktop/nightly344e3302 files, +6/-2 Fixed crash on Linux and Windows. telegramdesktop/tdesktop/nightly02f420a1 files, +52/-3 Updated macOS build on Github CI. #tdesktop

telegramdesktop/tdesktop/nightly5d7ca1b1 files, +52/-3 Updated macOS build on Github CI. #tdesktop

telegramdesktop/tdesktop/dev65f24c31 files, +2/-2 Fix build with Windows on ARM. #tdesktop

telegramdesktop/tdesktop/devfc1fc694 files, +228/-337 Once again try fixing separators in profiles. #tdesktop

morethanwords/tweb/masterfa1fc251 files, +12/-5 fix: cancel in-flight autocomplete load when hiding the panel morethanwords/tweb/master010b12d1 files, +5/-4 fix: don't disable HMR inside .claude worktree checkouts morethanwords/tweb/master6795d8419 files, +1161/-11 feat: capture every logger() call to an exportable, symbolicatable log buffer #webk

telegramdesktop/tdesktop/nightlyacd25401 files, +24/-2 Fixed build for Windows ARM on Github CI. telegramdesktop/tdesktop/nightlyd4f530e2 files, +6/-2 Fixed crash on Linux and Windows. #tdesktop

telegramdesktop/tdesktop/deve60476c4 files, +4/-36 Replaced global Qt RHI forcing with per-window activation. telegramdesktop/tdesktop/dev818f5621 files, +73/-2 Added separate send action animation for round video messages. telegramdesktop/tdesktop/devbc6705e1 files, +20/-29 Fix creating chats from webapps. telegramdesktop/tdesktop/deva681dbe1 files, +1/-1 Add styles for send round video message animation. telegramdesktop/tdesktop/devba6c9661 files, +1/-1 Fix build with Qt < 6.7. telegramdesktop/tdesktop/dev4d4ba037 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

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

morethanwords/tweb/master689bc714 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/master70bf3c1300 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/master06a052c9 files, +179/-53 Merge branch 'master' into xenodochial-swartz-dbc3ca #webk

morethanwords/tweb/master9c9d9c11 files, +134/-177 refactor(chatFolders): idiomatic Solid Sections + Button Return JSX: the sticker/caption are plain JSX, the create-folder control is a <Button>, and the Filters / Recommended / View blocks are <Section>s whose hidden state is driven by signals. The recommended section uses contentProps.ref so its content element keeps the legacy name-first child layout (the slice(1) cleanup is unchanged); the view section embeds the two RadioField rows. The dynamic folder rows, Sortable and the lottie animation (no Solid alternative) are built from onMount into the refs. Runtime-verified. morethanwords/tweb/master8e6dafe1 files, +585/-575 refactor(privacyAndSecurity): idiomatic Solid Sections + Buttons Return a JSX tree of six <Section>s instead of building SettingSections and appending to tab.scrollable. The premium-dependent caption and the premium / sensitive-content visibility toggles are signals; the two action controls (clear payment info, delete cloud drafts) are <Button>s with their handlers in the body. The 16 privacy Rows have dynamic, server-driven subtitles and no Solid alternative, so they are still built imperatively — now from an onMount build that appends into the section content refs (contentProps.ref). Runtime-verified. morethanwords/tweb/master4ddfecf2 files, +175/-163 refactor(chatReactions, editChat): idiomatic Sections + drop title poke chatReactions now returns a two-<Section> JSX tree: the toggle section's name, caption and the reactions section's hidden state are signals, and the toggle row / radio form / sticker checkbox rows (no Solid alternative) are built from an onMount pass into the section content refs. editChat drops its redundant tab.title poke (the scaffold already sets title: 'Edit'); its re-entrant permission-driven builder stays imperative. morethanwords/tweb/master83f48044 files, +244/-228 refactor(chatDiscussion, userPermissions, editTopic): Sections + scaffold titles chatDiscussion returns a JSX tree: the sticker, the dynamic caption, the discussion <Section> and the unlink <Section> are declarative; the create-group and unlink controls are <Button>s; the section caption / unlink text / create visibility are signals driven by the onMount build, and the appDialogsManager chatlist + its per-row update() (no Solid alternative) stay embedded. userPermissions and editTopic move their sync, payload-derived titles to scaffold function-titles (editingAdmin -> EditAdmin/UserRestrictions; threadId -> ForumTopic.Title.Edit/NewTopic) and drop the in-component tab.title pokes; their ChatPermissions / EmojiTab-dominated bodies stay imperative. #webk

morethanwords/tweb/master9ab78969 files, +300/-383 refactor(2fa): make the ported 2FA tabs idiomatic Solid Replace the imperative innards of the seven 2FA tabs with JSX: `new SettingSection` → `<Section>`, manual `document.createElement` wrappers → JSX `<div class="...">`, imperative `Button(...)` → `<Button>` (buttonTsx), `<InputFieldTsx>` for the email/ hint inputs, `<Show>` for the conditional buttons. Each component now returns JSX mounted by the scaffold instead of appending to tab.scrollable. Add a payload→title function form to the scaffold `title` option so dynamic titles (passwordSet password/email, enterPassword first/current) are declared on the scaffold rather than poked via tab.title in the component body. Imperative widgets with no Solid alternative (PasswordMonkey/TrackingMonkey, PasswordInputField, CodeInputFieldCompat, wrapStickerEmoji/lottie, ForgotPasswordLink) are embedded via their containers. Runtime-verified in the worktree preview: passwordSet and enterPassword render with correct sections/buttons/titles. morethanwords/tweb/masterca4361c1 files, +66/-74 refactor(groupPermissions): idiomatic Solid Sections + signals Return a JSX tree of <Section> instead of building SettingSections imperatively and appending to tab.scrollable. The async/conditional parts use <Show> + signals for the charge/boosters elements and the convert-to-gigagroup row, and the slow-mode caption is a reactive signal driven by the range selector. Genuinely-imperative widgets with no Solid alternative (ChatPermissions/CheckboxFields, RangeStepsSelector, the participants chatlist, ScrollableLoader, the exception Rows) are embedded into ref'd content divs. The ref-dependent build runs from onMount so the refs are mounted; the promiseCollector still gates the open since onMount runs before its await. Drop the redundant tab.title poke; the scaffold sets the static title. Runtime-verified. morethanwords/tweb/master130fb6d2 files, +114/-133 refactor(myStories): idiomatic Solid placeholder + Section Return JSX instead of building the DOM by hand: the placeholder (sticker / caption / Show-Archive button) is now JSX with <Button>, the archived-stories hint is a <Section> driven by a reactive caption signal (sync for the self-archive case, async once the chat broadcast-ness resolves), and the title moves to a payload function on the scaffold (archive vs my). The already-Solid StoriesProfileList, the lottie sticker and the header menu stay as-is, created from onMount so the refs are mounted. Runtime-verified: placeholder/caption/button/stories render, no stray section. morethanwords/tweb/mastercc7649b2 files, +68/-67 refactor(editChatInviteLink): idiomatic Solid Sections Return a JSX tree of <Section> with the name field as <InputFieldTsx>. The broadcast-only paid/approve sections are Show-n on a reactive isBroadcast signal with their rows held in element signals, and the number-of-uses section hides via a classList signal. The genuinely-imperative widgets with no Solid alternative (RangeStepsSelector, CheckboxField, InputStarsField, InputRightNumber) are embedded into ref'd content divs. The title moves to a payload function on the scaffold (edit vs new). The ref-dependent build runs from onMount. Runtime-verified. #webk

morethanwords/tweb/master5f6a6b31 files, +1/-1 fix: restore sticker suggestions for custom emoji input morethanwords/tweb/master28815483 files, +27/-16 fix: scheduled-view message lookups by id pulled another chat's message Looking up a message by a bare id (getMessageByPeer / the string branch of chat.getMessage(fullMid)) resolves against the per-peer history box and, for legacy private-chat ids, the shared global history box — it never consults the separate `_scheduled` box. So in the Scheduled view, copying or deleting a message could grab a same-id message from a different chat. - contextMenu: getSelectedMessagesText no longer re-fetches by id — the single message uses the in-hand object, and a selection uses the storage-aware selection.getSelectedMessages(). - chat.getMessage(FullMid): for our own scheduled peer, read from this chat's (scheduled) storage instead of getMessageByPeer. Fixes the whole bubbles.ts getMessage(fullMid) family in Scheduled at the chokepoint; gated, so non-scheduled / Logs / cross-peer behavior is byte-for-byte unchanged. - deleteMessages: use getScheduledMessageByPeer when type === Scheduled (history fetch returned undefined/foreign messages, breaking the megagroup-admin and giveaway checks). - Document that ChatType.Logs has the same separate-box (`_logs`) shape but is left wired to `_history` for now (works via fallbacks). morethanwords/tweb/master623baf75 files, +151/-36 fix: release camera/mic when owner is torn down mid-getUserMedia #webk

telegramdesktop/tdesktop/dev29445ff1 files, +0/-5 Fixed build on Linux. telegramdesktop/tdesktop/dev6c3b12a1 files, +3/-1 Fixed build for Windows. telegramdesktop/tdesktop/dev980bce65 files, +152/-1 Added notify toggle with to schedule box. telegramdesktop/tdesktop/dev7b4cdb25 files, +38/-0 Added muted icon to bottom info for silent scheduled messages. telegramdesktop/tdesktop/dev14317034 files, +4/-36 Replaced global Qt RHI forcing with per-window activation. telegramdesktop/tdesktop/deve505b391 files, +73/-2 Added separate send action animation for round video messages. #tdesktop

telegramdesktop/tdesktop/dev86ca2c72 files, +12/-0 Added golden mode pass-through to premium 3D star widget. telegramdesktop/tdesktop/deva715ab73 files, +15/-1 Added golden star variant to premium settings top bar. telegramdesktop/tdesktop/devd68ada63 files, +41/-18 Added orange to yellow particle gradient to golden star cover. telegramdesktop/tdesktop/dev87a8ba63 files, +49/-4 Added star glyph option to particle cloud sprites for credits settings. telegramdesktop/tdesktop/dev30bfddf6 files, +7009/-0 Added 3D coin meshes and border texture for business settings cover. telegramdesktop/tdesktop/devaeaa4f72 files, +132/-0 Added rendering shaders for 3D coin cover object. telegramdesktop/tdesktop/dev18ad7693 files, +436/-0 Added QRhi renderer for 3D coin cover object. telegramdesktop/tdesktop/devf5376363 files, +100/-0 Added widget and spin animation for 3D coin cover object. telegramdesktop/tdesktop/dev429a0d03 files, +30/-2 Added 3D coin object to business settings cover. telegramdesktop/tdesktop/dev6abddb95 files, +87/-17 Added flipping coin option to particle cloud for business settings. telegramdesktop/tdesktop/devdba9eca3 files, +234/-0 Added particle effects for one-time voice message playback. telegramdesktop/tdesktop/dev5908c2f2 files, +58/-2 Animated one-time voice playback with radial and waveform particles. telegramdesktop/tdesktop/dev9c470a81 files, +24/-19 Batched random generation for fireworks particles. #tdesktop

telegramdesktop/tdesktop/dev2076f851 files, +1/-1 Linked admin log replies to their in-log target messages. telegramdesktop/tdesktop/deve8d0a8d4 files, +17/-7 Allowed admin log original entries to carry preview photo or document. telegramdesktop/tdesktop/devcf4e4402 files, +139/-7 Added previous media preview rendering to admin log caption web page. telegramdesktop/tdesktop/deve06b8dd1 files, +29/-1 Passed previous media of edited messages into admin log. telegramdesktop/tdesktop/devb12612c5 files, +172/-100 Extracted shared 3D mesh, shader, and texture loaders from premium star. telegramdesktop/tdesktop/dev1544dd54 files, +152/-107 Extracted shared 3D easing and QRhi support probe from star. telegramdesktop/tdesktop/dev4754ede5 files, +326/-0 Added 3D diamond meshes and shaders for currency settings cover. telegramdesktop/tdesktop/devfe98e9b2 files, +33/-0 Added shared 3D multi-shell model loader. telegramdesktop/tdesktop/devefe49a93 files, +411/-0 Added QRhi renderer for 3D diamond. telegramdesktop/tdesktop/devc8dd53b5 files, +601/-0 Added shared 3D cover widget with spin and drag, and diamond. telegramdesktop/tdesktop/dev0a7d16e3 files, +50/-18 Added display of 3D diamond on currency settings cover when supported. telegramdesktop/tdesktop/dev653c20b2 files, +65/-0 Added golden star fragment path to premium 3D star shader. telegramdesktop/tdesktop/dev58178992 files, +8/-0 Added golden mode toggle to premium 3D star renderer. #tdesktop

morethanwords/tweb/master57c9af117 files, +79/-48 refactor: read app settings via useAppSettings store, drop rootScope.settings Migrate every settings access off the `rootScope.settings` getter onto the reactive `useAppSettings()` store, making the Solid store the single source of truth (the old getter could read stale values — e.g. the sent-message-sound toggle). - Remove the `rootScope.settings` field and the `Object.defineProperty` shim in apiManagerProxy that aliased it to `unwrap(appSettings)`. - Consumers now read via `const [appSettings] = useAppSettings()` (animationIntersector, dialogsContextMenu, liteMode, themeController, appImManager, isSendShortcutPressed, sidebarLeft, background tabs, …). - Writers persist with `unwrap(appSettings)`; bootstrap uses `setAppSettingsSilent()`. - Expose `useAppSettings` on `MOUNT_CLASS_TO` for debugging. Also: folders-sidebar active badge uses primary color / white text, and slider title flexes to fill with fixed text-super + emoji baseline alignment. morethanwords/tweb/mastere05c7bf3 files, +71/-14 refactor: chat scrolls edge-to-edge; fix right-sidebar peek past iOS safe-area Chat scroll area: - The .bubbles scroll container now spans the full middle zone — from the left card's edge to the page edge (or the docked right column's inner edge) — so the chat scrolls edge-to-edge and the scrollbar sits at the very edge. Was capped to 100% − right-column with a -.5rem inset. Messages stay centred at --chat-width via the inner's max-width + margin:auto. - inset-inline is now a symmetric value mirroring #column-center's translateX centring formulas, countering that shift to reach the real edges: the page edge when the right column is closed/floating, the docked right column's inner edge when it's shown. Drop the width: calc(100% − --right-column-width) override and expand the centring comments to match. iOS safe-area: - Add a --safe-area-inset-inline-end var (0px no-env() fallback; in the @supports block min(16px, env(safe-area-inset-right)), mirrored to safe-area-inset-left on :root.is-rtl). Set on :root to match --reflect's specificity; value goes through #{} interpolation so Sass doesn't emit the min() literally. - Fold it into the closed right-sidebar transform so the card + box-shadow slide fully past the real screen edge and no longer peek through the safe-area strip on landscape iPhones (0 on desktop, so the desktop offset is unchanged). morethanwords/tweb/master9a4c1af177 files, +304/-304 Build #webk

morethanwords/tweb/master1213b5920 files, +329/-106 fix: voice volume above 100%, frozen conference roster, group-call id lookups, layout Voice/round volume: - Amplifying a voice past 100% leaked into the shared master `volume` and got persisted as a >1 value, bleeding into video/music. Split it out into a voice-only `boost`: the 0-100% slider range drives the shared `volume`, 100-200% drives `boost`. Both clamp to [0, 1]; effective voice volume = volume + boost in [0, 2]. - Feed HTMLMediaElement a clamped [0, 1] value (the element rejects >1). - Migrate corrupted/legacy state: a stale >1 `volume` is clamped back and its excess recovered into `boost`, and the normalized params are persisted once on init (rewrites e.g. a stored volume: 1.04). Conference (TdE2E) participants: - Roster + count froze at the connect-time snapshot — conferences get no reliable updateGroupCallParticipants pushes. Add appGroupCallsManager.refreshConferenceParticipants: a fresh full SFU fetch that reconciles the cache (adds joiners + their SSRCs, marks absent peers `left`) and takes the count from the authoritative server total. Driven off the e2e group_state (each applied chain block) with a 5s backstop timer; skip self so a lagging server snapshot can't tear the call down. Group-call id lookups: - Small ids stored as numbers but looked up as strings missed the manager cache ("Group call <id> not found" on connect, empty conference popup). Keep ids in native fetchLong form (number for small, string for large) end to end — instance id, resolvedCallId, placeholder, chain-block callId, rootScope event — so they stay === the cache key. Drops the GroupCallIdMap workaround. Chat input: - Paint the rounded surface directly on .chat-input-container instead of a separate .chat-input-background element; rename --chat-input-background-color -> --chat-input-background. Layout: - chat: on mobile, a theme/wallpaper that finishes loading while the chat is off-screen no longer flips the global background; re-assert it on return. - columns: size off html's content-box width (minus the iOS safe-area inset padding) instead of vw, so the chat stops collapsing against the left bar on landscape iPhones. - topbar: ellipsis-truncate peer title/info and fix chat-info width. - slider: stop horizontal-menu tabs from stretching (flex 0 0 auto). - chatPreview: neutralize the topbar transform inside the preview popup. morethanwords/tweb/masterdf09867185 files, +481/-481 Build #webk

morethanwords/tweb/masterad40acb12 files, +995/-101 feat: engagement metrics + media viewer layout rework, plus fixes - metrics: report music-listen and channel read engagement (messages.reportMusicListen / reportReadMetrics) via new MusicListenTracker + ReadMetricsTracker - media viewer: center layout moved off CSS vars to inline JS, resize refit, live-stream controls anchored to the screen bottom, PiP via opacity - calls: detect rear camera when iOS reports empty facingMode - filters: don't block on a folder filter that no longer exists - messages: persist hiddenPinnedMessages across reload #webk

telegramdesktop/tdesktop/nightly3936cc11 files, +0/-5 Fixed build on Linux. telegramdesktop/tdesktop/nightlye74313c1 files, +3/-1 Fixed build for Windows. #tdesktop