• Copy Link
Videos fail to decode, when using unsupported pixel formats or MPEG-4 Part 2
ans08 L, Oct 11 at 15:29, edited
Last reproduced in 13.0.0.35303
OpenIssueiOS

Some videos display a black picture while their audio plays, or freeze after a few frames. 8-bit H.264 videos play normally. The affected files use codecs or pixel formats that the Photos app does not identify. Telegram for macOS exhibits the same behavior, apparently due to sharing the same player code.

I traced the issue in the iOS source (master f1dd7a2d) and identified three decoding bugs. In all three cases, the decoder produces no frames and reports no error to the user.

  1. Incorrect hardware pixel format selection (FFMpegAVCodecContext.m, getPreferredPixelFormat): get_format always returns VideoToolbox. FFmpeg does not offer VideoToolbox for HEVC 12-bit or H.264 9/12-bit, and removes it from the available formats if hardware acceleration initialization fails. Returning it anyway results in Invalid return from get_format(): videotoolbox_vld not in possible list, preventing decoding.

  2. Unsupported high-bit-depth software decoder output (FFMpegMediaVideoFrameDecoder.swift): 10-bit and 12-bit frames produced by software decoders are discarded. This affects dav1d (AV1 without hardware decoding, such as on iPhones before the 15 Pro and M1/M2 Macs) and the H.264/HEVC software decoders. These decoders can output formats such as yuv420p10le, yuv422p10le, and yuv420p12le. FFMpegAVFrame.pixelFormat reports these formats as unsupported, causing convertVideoFrame to drop every frame. Streams that switch from 8-bit to 10-bit consequently freeze.

  3. Invalid MPEG-4 Part 2 format description (createFormatDescriptionFromMpeg4CodecData): FFmpeg's mp4v extradata contains only the DecoderSpecificInfo, but it is passed as the complete esds atom. VideoToolbox rejects the format description with error -12909.

A tested fix is described in the comments:

  • Fall back to the software pixel format when VideoToolbox is not offered.
  • Reduce 9–16-bit planar YUV to 8-bit before the existing 4:2:0 conversion.
  • Wrap the DecoderSpecificInfo in a complete ES_Descriptor.

Using the app's own FFmpeg, dav1d, and libvpx libraries in the iOS simulator, five new decoding tests fail on the current master branch and pass with the fix. In addition, 21 of 73 real-world sample/mode combinations that previously produced zero frames decode fully with the fix, with no regressions observed.

Attached sample videos contain 12 frames each:

  • h264_high10
  • hevc_main12
  • av1_10bit
  • mpeg4_part2
  • h264_8bit_then_10bit

Possibly related issues: #37087, #61397.

Steps to reproduce

  1. Download one of the attached sample videos, such as hevc_main12.mp4 or mpeg4_part2.mp4.
  2. Send the video to any chat, either as a video or as a file.
  3. Tap the video to play it.
  4. Observe the playback behavior. The picture remains black or freezes after the first few frames, as with h264_8bit_then_10bit.mp4, while
0:00
0:00
0:00
0:00
0:00
11Copy link
Comments11
Show 1 more comment
a
  • Deselect
  • Deselect all
  • Delete all
ans08 LOct 11· Pinned
Fix, part 2/4: reducing 10/12-bit frames to 8-bit (FFMpegBinding/Sources/FFMpegAVFrame.m, needs libavutil/pixdesc.h)

static enum AVPixelFormat eightBitFormatForHighBitDepthFormat(enum AVPixelFormat format) {
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(format);
if (!desc || (desc->flags & (AV_PIX_FMT_FLAG_HWACCEL | AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_BITSTREAM | AV_PIX_FMT_FLAG_PAL))) return AV_PIX_FMT_NONE;
if (!(desc->flags & AV_PIX_FMT_FLAG_PLANAR) || desc->nb_components < 3) return AV_PIX_FMT_NONE;
for (int i = 0; i < desc->nb_components; i++) {
if (desc->comp[i].plane != i || desc->comp[i].step != 2 || desc->comp[i].shift != 0 || desc->comp[i].depth <= 8 || desc->comp[i].depth > 16) return AV_PIX_FMT_NONE;
}
bool a = (desc->flags & AV_PIX_FMT_FLAG_ALPHA) != 0;
if (desc->log2_chroma_w == 1 && desc->log2_chroma_h == 1) return a ? AV_PIX_FMT_YUVA420P : AV_PIX_FMT_YUV420P;
if (desc->log2_chroma_w == 1 && desc->log2_chroma_h == 0) return a ? AV_PIX_FMT_YUVA422P : AV_PIX_FMT_YUV422P;
if (desc->log2_chroma_w == 0 && desc->log2_chroma_h == 0) return a ? AV_PIX_FMT_YUVA444P : AV_PIX_FMT_YUV444P;
return AV_PIX_FMT_NONE;
}

New FFMpegAVFrame API:
- isHighBitDepthPlanarYUV: eightBitFormatForHighBitDepthFormat(format) != NONE
- initWithEightBitLayoutOfFrame: allocates a frame of that 8-bit format and size (av_frame_get_buffer)
- reduceBitDepthIntoFrame: for each plane (chroma sized with AV_CEIL_RSHIFT by log2_chroma_w/h), shift = depth - 8, dst = min(255, (src + (1 << (shift - 1))) >> shift); then copies color_range.
a
  • Deselect
  • Deselect all
  • Delete all
ans08 LOct 11· Pinned
Fix, part 3/4: using it in MediaPlayer/Sources/FFMpegMediaVideoFrameDecoder.swift

private var reducedBitDepthFrame: FFMpegAVFrame?

private func eightBitFrame(_ frame: FFMpegAVFrame) -> FFMpegAVFrame? {
guard frame.isHighBitDepthPlanarYUV else {
return frame
}
if let existing = self.reducedBitDepthFrame, frame.reduceBitDepth(into: existing) {
return existing
}
guard let created = FFMpegAVFrame(eightBitLayoutOf: frame), frame.reduceBitDepth(into: created) else {
return nil
}
self.reducedBitDepthFrame = created
return created
}

At both call sites (convertVideoFrameToImage and convertVideoFrame):

- guard let frame = self.planarFrameFor420Conversion(frame) else {
+ guard let frame = self.eightBitFrame(frame).flatMap(self.planarFrameFor420Conversion) else {

The existing 4:2:2/4:4:4 -> 4:2:0 fold then handles the 8-bit frame. There is no tone mapping, so HDR10 shows with SDR contrast instead of black. Converting a 4K frame takes about 4 ms at -Os.
a
  • Deselect
  • Deselect all
  • Delete all
ans08 LOct 11· Pinned
Fix, part 4/4: MPEG-4 Part 2 esds (MediaPlayer/Sources/FFMpegMediaFrameSourceContextHelpers.swift)

static func mpeg4EsdsAtom(_ extradata: Data) -> Data {
if extradata.count > 5 && extradata.prefix(4) == Data([0, 0, 0, 0]) && extradata[extradata.startIndex + 4] == 0x03 {
return extradata
}
func descriptor(_ tag: UInt8, _ payload: Data) -> Data {
let size = payload.count
var result = Data([tag])
result.append(contentsOf: [UInt8(0x80 | ((size >> 21) & 0x7f)), UInt8(0x80 | ((size >> 14) & 0x7f)), UInt8(0x80 | ((size >> 7) & 0x7f)), UInt8(size & 0x7f)])
result.append(payload)
return result
}
var decoderConfig = Data([0x20, 0x11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
decoderConfig.append(descriptor(0x05, extradata))
var esDescriptor = Data([0, 0, 0])
esDescriptor.append(descriptor(0x04, decoderConfig))
esDescriptor.append(descriptor(0x06, Data([0x02])))
var atom = Data([0, 0, 0, 0])
atom.append(descriptor(0x03, esDescriptor))
return atom
}

In createFormatDescriptionFromMpeg4CodecData:
- atoms.setObject(extradata as NSData, forKey: "esds" as NSString)
+ atoms.setObject(mpeg4EsdsAtom(extradata) as NSData, forKey: "esds" as NSString)
a
  • Deselect
  • Deselect all
  • Delete all
ans08 LOct 11· Pinned
Tests and what is not covered

I added FFMpegVideoDecodingTests to //submodules/MediaPlayer:UniversalMediaPlayerTests. It reads 12-frame 192x108 fixtures through FFMpegFileReader. On master: h264_8bit with hw=true where VideoToolbox can't initialise gives 0 frames; h264_high10, hevc_main10, hevc_main12 and av1_10bit in software give 0 frames each; hevc_main12 with hw=true gives 0; 8->10-bit gives 4 frames and stops at 0.1 s; for mpeg4_part2, VTDecompressionSessionCreate returns -12909. With the fix all of them decode. I'm happy to share the full diff, test file and fixtures if useful.

Not covered:
- VP9 profile 2 (10/12-bit): libvpx is built with --disable-vp9-highbitdepth (third-party/libvpx/build-libvpx-bazel.sh), so it rejects these streams before decoding.
- RGB (gbrp) and monochrome (gray) frames.
- AV1 when the VideoToolbox AV1 decoder rejects a stream (e.g. 4:4:4): the native av1 decoder has no software fallback, so dav1d would be needed.
- MPEG-4 Part 2 in AVI.
Admin DogOct 11· Pinned
Are the videos working if they are saved inside the Photos app?
a
  • Deselect
  • Deselect all
  • Delete all
ans08 LOct 11· Pinned
Yes. The affected videos play normally after saving them to the Photos app, and only Telegram's in-app player shows the black or frozen picture. That matches the root cause: VideoToolbox can decode these files, but Telegram's FFmpeg-based player path drops the decoded frames (details and fix in the comments above).
Admin DogOct 11· Pinned
ans08 L
Yes. The affected videos play normally after saving them to the Photos app, and only Telegram's in-app player shows the black or frozen picture. That matches the root cause: VideoToolbox can decode these files, but Telegram's FFmpeg-based player path drops the decoded frames (details and fix in the comments above).
Do you have a channel with sample files to share as link?
a
  • Deselect
  • Deselect all
  • Delete all
ans08 LOct 11· Pinned
Yes: https://t.me/tg_video_decode_samples

Each post is one sample file, captioned with what it is and what happens:
- h264_8bit.mp4: control, plays fine
- h264_high10.mp4: H.264 High 10, black
- hevc_main12.mp4: HEVC Main 12, black
- av1_10bit.mp4: AV1 10-bit, black on devices without AV1 hardware (iPhone before 15 Pro, M1/M2 Macs)
- mpeg4_part2.mp4 and resolution.mp4 (real-world file): MPEG-4 Part 2, black
- h264_8bit_then_10bit.mp4: freezes when the stream switches to 10-bit

The two MPEG-4 files were sent as files, because the web client could not preview them.
Admin DogOct 11· Pinned
ans08 L
Yes: https://t.me/tg_video_decode_samples Each post is one sample file, captioned with what it is and what happens: - h264_8bit.mp4: control, plays fine - h264_high10.mp4: H.264 High 10, black - hevc_main12.mp4: HEVC Main 12, black - av1_10bit.mp4: AV1 10-bit, black on devices without AV1 hardware (iPhone before 15 Pro, M1/M2 Macs) - mpeg4_part2.mp4 and resolution.mp4 (real-world file): MPEG-4 Part 2, black - h264_8bit_then_10bit.mp4: freezes when the stream switches to 10-bit The two MPEG-4 files were sent as files, because the web client could not preview them.
Did you change the channel username? It's not reachable
a
  • Deselect
  • Deselect all
  • Delete all
ans08 LOct 11· Pinned
Sorry for the confusion — I took the channel down while re-checking, because my first uploads went out as GIFs and documents, so they never reached the video player. It's back: https://t.me/tg_video_decode_samples

Please use the posts starting with "v2" and the last post (mp4v_502x628). They are videos with a 440 Hz tone; to see a frozen picture, watch the orange timestamp burned into the image (the bubble's own countdown keeps running even when the picture is frozen).

Reproduced with Telegram iOS 13.0 (35303) on iPhone 17 Pro Max:
- v2 #3 HEVC Main 12: picture frozen on the first frame, inline and full screen; audio plays.
- Last post, MPEG-4 Part 2 (mp4v, Simple Profile): frozen, audio plays. This is the format of all the real-world videos that fail for me (mp4v Simple Profile written by Lavf57 / FFmpeg 3.4, AAC audio); they play fine in the Photos app. Telegram for macOS freezes on it too.
- v2 #1 H.264, #2 H.264 High 10, #4 HEVC Main 10, #5 AV1 10-bit play fine on this device (hardware decoding).

In an iOS 27 simulator build, current master freezes on v2 #2–#5 and on the MPEG-4 post (the simulator has no hardware decoding, so the software path is used); with the fix from the comments above, all of them play. On real devices the software path is used e.g. for AV1 without an AV1 hardware decoder (iPhone before 15 Pro, M1/M2 Macs) — I haven't verified such a device, and I haven't run the fixed build on a real device.

Correction to my report: H.264 High 10 is not black on iPhone 17 Pro Max.
Login
  1. Bugs and Suggestions
AllIssuesSuggestions
by rating by time

31136 Cards

Added
About this platform
All users are welcome to create new entries, view existing entries and vote on them. What is this for? This platform is a place where users can vote for feature suggestions for Telegram or report issues…
Dec 23, 2020ClosedTip
84
Fixed
Protect content not applied for RichText with photos
You can download photos from RichText even if the chat has enabled the protect content See example https://t.me/No_Forward/50 Steps to reproduce 1. Go to any chat thar enable protect content 2. Send RichText…
Aug 16FixedIssue, Android
6
Added
Option to disable the Stories feature
Official Response: Stories take up no extra space in the Telegram UI – but if you'd prefer not to see stories from certain contacts, hold down on their profile picture at the top of your screen and select…
Jul 21, 2023Suggestion, General
15548058
Added
Shadowsocks proxy support
Add Built-in VMess, Shadowsocks, SSR, Trojan-GFW proxies support The ( vmess / vmess1 / ss / ssr / trojan ) proxy link in the message can be clicked
Apr 11, 2021Suggestion, General
1207632
Added
Disable "New Contact Joined" chats
Users receive a notification when one of their contacts becomes available on Telegram. It is currently possible to disable the notification: the new chats will appear in the list without sending a notification.…
Dec 11, 2019Suggestion, General
1004457
Added
Improve the ability to search chat history for Asian regional languages, such as Chinese and Japanese
Improve the ability to search chat history for Asian regional languages, such as Chinese and Japanese. Telegram's chat history search function is based on words, and is suitable for languages such as…
Dec 23, 2020Suggestion, General
1843822
Added
The sticker text is covered of the time of the message
The time of the message is displayed on the sticker. It is not comfortable to read sticker. It often happens that time covers part of the text on the sticker. And if the sticker is sent from the channel…
Mar 20, 2022Android, Suggestion
132702
Added
Update Iran Flag Emoji to Sun & Lion
PSA: کاربران گرامی دقت داشته باشید که نیاز به ارسال کامنت‌های اسپم در این پیشنهاد نیست و لایک کردن پیشنهاد کافیست این اقدام هم‌وطنان که به صورت گروهی در حال اسپم کردن بخش پشتیبانی و پلتفرم پیشنهادهای…
Jan 9FixedSuggestion, General
232178
1:52
Added
Emergency passcode to hide chats
Option to set an alternative passcode ("double bottom") that either opens a limited set of chats, opens a different account, or destroys one of the connected accounts completely when entered. Use cases…
Feb 27, 2021Suggestion
972067
Added
Notify all group members
An option to notify all group members or admins using a special mention (e.g. @all and @admins). Use cases Important news and major updates in big communities. Potential issues Some group admins already…
Nov 4, 2019Suggestion
1231832
Added
Chat permissions: Can Talk
Please add chat permission: Can Talk. How it works If it's enabled, user can talk in a voice chat. Otherwise user is muted. For users In apps it would be useful for chat owners - they will be able to…
Aug 3, 2021FixedSuggestion, General
91787
Fixed
App's badge counter shows unread messages when all chats are read
Badge counters inside the app and on the app's icon may sometimes show unread messages while there are no unread chats in the list. Workaround Tap 10 times on the Settings tab icon > Reindex Unread Counters.…
Nov 12, 2020FixedIssue, iOS
4921547
Added
Unlimited favorite stickers
Increase the limit for favorite stickers. The current limit is five stickers. When you add another one, the first sticker is replaced. Use cases Choose a limited set of stickers which you will always…
Dec 11, 2019Suggestion
721527
Added
Choose a different default folder instead of "All Chats"
This feature is available as part of Telegram Premium. An option to pin one of your folders as the main folder instead of All Chats. When you open the app, it would show you the folder you chose. Pressing…
Nov 16, 2020FixedSuggestion
701474
Added
Partial reply
Reply only on parts of a message. This would be very useful, if someone wrote a very long message and you only want to refer to one or two sentences - or even only one or a few words.  If you click on…
Jan 23, 2021FixedSuggestion, General
681376
Fixed
Live streams have low speed audio resulting in almost no sound
Since the latest stable update, audio from Live Streams is missing. The audio track is actually slightly audible if you max out the volume of your device, but it will be barely noticeable, and feels extremely…
Jan 4, 2025FixedIssue, iOS
81375
Added
Allow adding Bots (Web Apps) to the Attachment Menu to all bots
Now only selected bots can be added to the Attachment Menu. But as a developer of inline bots, I see this as a barrier to make telegram a better messenger Let users decide, what they want to see in their…
Apr 17, 2022Suggestion, General
51283
Added
Remove 1 million posts limit in chats
When chat that connected to channel reaches 1 million posts they going to "archive" and become unavailable so all comments on channel posts is gone too. At the same moment channel posts that "pinned"…
Apr 23, 2021Suggestion, General
91263
Added
Disable iOS design in Android app
Android app should follow Material Design, not iOS patterns The recent Android update (12.4.*) introduces design elements directly ported from iOS, creating a non-native experience that ignores platform…
Feb 7Suggestion, Android
4301228
Fixed
Incorrect Search Ban for Quality channels
Incorrect Search Ban on one of The Largest Telegram Channel Steps to reproduce My Channel @Funny is one of the largest English Entertainment channel with Over 250K Subscribers & great Engagement. But…
Dec 15, 2024Issue, General
541153
Added
Alternate profile pictures
When setting a profile picture or video that's only visible to contacts (or certain users, groups etc.), allow choosing an alternate picture or video that will be shown to everyone else. Use cases -…
Nov 17, 2020FixedSuggestion
561136
Added
Armenian language official translation in telegram
Dear Telegram administration. We ask you to make the translation of the Armenian language official in telegram. Not a few people speak Armenian, and a full-fledged Armenian segment has already formed…
Jan 8, 2023Suggestion, General
1861081
Added
Better global search
Make global search a place to find all communities in channels and public chats.
Feb 9, 2021Suggestion, Android
331056
Added
Add Instant View to Telegram Desktop
Add Instant View to Telegram Desktop. The feature is there right now for MacOS Telegram App, but missing from regular Telegram Desktop. Preferably, it should open an article in the existing telegram window…
Dec 23, 2020FixedSuggestion, Telegram Desktop
441047
Added
Transfer ownership if creator account was deleted
Option to transfer ownership in groups and channels if the creator was deleted so the first admin with all permissions will become a creator! Thumbs up if you want this to happen 👍 App: all
Dec 24, 2020FixedSuggestion, General
1451038
Added
Allow site owners to make their own Instant View templates
Instant View templates are currently created and maintained by Telegram, the list of supported websites is expanded gradually. Some site owners would like to get IV support for their websites sooner.…
Jan 23, 2021Suggestion, General
531033
Added
No one open the video in the groups conversations without the admins permission
During the meeting conversations in telegram, some members want to speak so when we open the Microphone for them to speak, they open video with sexual content. This leads to annoy the members and they…
Jan 30, 2023Android, Suggestion
7972
Added
NTF Stickers
Dear Telegram Team, This is a proposal to enhance the Telegram ecosystem: the introduction of NFT stickers — unique digital stickers based on blockchain technology, which can not only be used in chats…
Oct 10, 2025Suggestion, General
16970
Fixed
Status displaying issue for iranian numbers
Title: Unreasonable Restrictions on Iranian Accounts Description: Viewing Premium Statuses: Non-premium Iranian accounts cannot see the statuses of premium users. However, purchasing a premium subscription…
Oct 26, 2024FixedIssue, Android
8948
Added
Proper support for inline video messages fro bots
Proper support for Video Notes (aka round videos) in inline mode for bots
Nov 9, 2022Suggestion, General
28931
Added
Hide the messages of certain users in a group chat
Hide the messages of certain users in a group chat. Some users might prefer to hide the messages of certain users, so they can have a cleaner conversation. The option should be personal and independent…
Feb 5, 2021Suggestion, General
28919
Added
An option for a channel/group owner to better interact with subscribers without the risk of being reported as spammer by trolls.
An option for the owner of a channel or a group to set a visible flag informing all new members that they might be privately contacted one single time by the owner/admins of the channel/group they are…
Feb 26, 2022Suggestion, General
14903
Added
allow only forward hide sender name
with this feature the messages of a group can be forwarded but the sender of that message will be hidden, even he doesn't have hide sender option enabled.
Dec 25, 2022Suggestion, General
2892
Added
Custom icons for folders
Add the ability to choose icons for folders on mobile platforms – like in Telegram Desktop and Telegram macOS. Sync them on all devices. Use cases - Find folders you're looking for more easily. - Save…
Nov 17, 2020Suggestion, iOS, Android
21889
Added
Add an option to disable auto-ordering of sticker packs on mobile
Add an option to disable auto-ordering of sticker packs. If you have a lot of packs, it make sense to order them in a way that makes it easy for you to find the right sticker. This has been the behaviour…
Sep 19, 2022FixedSuggestion, Android, iOS
221887
Added
Separate passcode lock for specific chats or Archive
Option to lock certain chats with a separate passcode. On a chat-by-chat basis, or for an entire Chat Folder, e.g. the Archive. Use cases Family iPads and other shared devices. Can also be used in environments…
Nov 5, 2019Suggestion, General
55867
Added
Call transfer between devices
Add an option to seamlessly transfer ongoing voice and video calls between different devices with one account: e.g., from a mobile phone to a desktop PC and vice versa.
Dec 23, 2020Suggestion, General, Calls
21846
Added
More Two-Factor Authentication methods
An option to add an authenticator app with temporary, one-time passwords (e.g. Authy, Google Authenticator) as another second factor.
Nov 5, 2019Suggestion
26835
Added
Option to disable AI icon in text input field required
Add the Option to disable the AI Pop Up / Remove AI features. As disturbing AS the Implementation of AI into Messengers is. We need to be able to choose! And many people might just click on the pop-up…
Apr 1Suggestion, General
359785
Added
Tmail - Telegram Email Service
Telegram is a great messenger, but it can also be a great Email service. So without further introductions, let's start. It may seem like Email service is for the previous generation, but many people,…
Jan 24, 2021Suggestion, General
71757
Fixed
Missing parts of message history
Your help needed: The team needs help with app's logs. Messages are missing on mobile but visible on Telegram Web and Desktop. Notifications of new messages are received, but messages don't appear in…
Feb 15, 2022Issue, Android
89750
Added
Stories / Statuses
An option to share moments (media, like photos or short videos, texts, etc.) with your mutual contacts (this can be adapted with granular privacy permissions) to view, interact, and forward. Such statuses…
Dec 12, 2019FixedSuggestion
952713
Added
Allow opening media directly from the preview.
When someone posts a link, Telegram generates a link preview with title, media and some of the text from the page linked. Ever since the October 2023 update, clicking or tapping anywhere inside the preview…
Oct 29, 2023Suggestion, General
68706
Added
Different background images for each chat
A feature to set a individual wallpaper for specific chats. (f.e. One wallpaper for a specific group, another for a chat with a friend...) Use cases This would make navigation between chats easier, especially…
Nov 5, 2019FixedSuggestion, General
40691
Added
New privacy option to not allow private messages from non-contacts.
Like many have asked before (for different reasons) for years There is a need by some people to be able to avoid private messages for non-contacts. Why?: There are many reasons on why to add this feature.…
Oct 24, 2021FixedSuggestion, General
95661
Added
Change file names in Telegram
Option to change file name on Telegram without needing to re-upload the file. App: all
Dec 24, 2020Suggestion, General
20642
Added
Support linking TON DNS and Tonsites to profiles (via Fragment)
Telegram's built-in browser already supports .ton and .t.me sites natively. However, users cannot link TON Domains or Tonsites to their profiles. - Link .ton domain to profile (with Fragment verification)…
Apr 16Suggestion, General
134640
Added
Syntax highlighting in code blocks
An optional extension to the backtick syntax to specify a language to highlight. Similar examples are the likes of Gitlab and GitHub comments.
Dec 27, 2020FixedSuggestion, General
48639
Added
Requests to join group or channel
If enabled, the user attempting to join the group/channel will only be able to view the content and send things after being accepted by an administrator (optional: only admins who have the "accept/decline…
Nov 23, 2020FixedSuggestion, General
154585
Fixed
Telegram downloads images instead of using bitmap data from clipboard
When I paste an image copied from Firefox, Telegram downloads it again instead of using the bitmap data from the clipboard. This happens because the clipboard also stores the image URL. If I paste the…
Jun 27, 2021FixedIssue, Telegram Desktop
37536