[Bugs] Some Chat Bugs

All the bugs listed in this post are found in 5.0.0-beta71-rc13 with detailed chat and the RTE enabled.
I consolidated them all in this post as they are pretty insignificant on their own but are all part of the same chat subsystem.

TS3 Server Chat

Missing Spacing

Text messages after system messages are misaligned. The users’ avatar is drawn partly over the system message.
image

Missing Sender

see: [Bug] TS3 server chat - TeamSpeak Client - TeamSpeak (already approved and forwarded)

Chat in General

Wrong Interpretation of Fenced Code Blocks

Nearly all Markdown flavors agree on this. You can denote a fenced code block using three backticks (```) or three tildes (~~~) above and below the code on a single line each.
In TeamSpeak, those markers can be proceeded by anything else, so image turns into image, which is simply wrong.
Most other parsers simply interpret this as inline code.

Code Highlighting in Inline Code

Inline Code is automatically syntactically highlighted. This makes absolutely no sense as there is no way to disable this as a sender the same way there is with an entire code block. When sending inline code it can be assumed that even if it is real code the snippet is too short to infer the language from it. So instead of getting a nice monospace gray in gray inline code, you get a rainbow-colored mess that you have no control over. Point in case:
image

Multiline Inline Code

TeamSpeak - again - supports Markdown features that don’t exist and no one asked for.
Again most Markdown flavors and parsers handle this the same way. Inline code is inline.
Newlines are replaced with spaces and empty lines break the inline code segment.
Not so in TeamSpeak. Here inline code can be everything as long as it starts and ends with a backtick.
This can be really annoying when deliberately passing text with line breaks between backticks.

Invisible Messages

When sending a broken link to embedded content like YouTube in spoiler tags, the message appears to be empty.
image

Broken YouTube Embeds

The latest version tries to embed shorts but fails to parse the URL and instead of finding the video ID inserts false to the embed. When inspecting the regex used to extract the video ID I found that the one you used is well established in the community but somewhat dated.
Instead, you can use this one:

const vidID = e.match(/^.*(?:youtu.be\/|v\/|e\/|u\/\w+\/|embed\/|clip\/|shorts\/|v=)([^#\&\?]*).*/)[1];

It uses non-capturing groups, so there is no longer a need to dynamically find the correct capture group. This also supports clips. In testing, I found that URLs to YouTube clips are not recognized as attachments but with this regex should work the same as all other videos.

Multi Message Selection

When selecting multiple messages a click anywhere on the selection bar will reset the selection.

Rich Text Editor (RTE)

Escaping Backticks

In Markdown you can escape backticks in inline code by using double backticks to mark the code segment. This is correctly parsed when displaying a message.
image
Unfortunately, the RTE struggles with this:
image

Random Code Block Appearance

When typing `a`Space you suddenly get an empty code block. Thus when trying to type text with inline code suddenly stuff goes missing.
Here are all the sequences I found with this behavior:
`a`Space
``a``Space
~~a~~Space

Similar behavior shows when typing ```a```Space or ~~~a~~~Space. Here a new code block appears from the last three backticks / tildes leaving the previous part behind.

Unable to use Backspace

This happens when trying to clean up after the previous bug. After removing the wrongly created code block you can no longer use backspace before moving the cursor. Not even writing new stuff helps.

Code Blocks not Showing as such

Code blocks are not parsed correctly when editing messages. Point in case:
image

You can also create this state when writing by specifying a language for the highlighter.
Ex:
```aShift+Enter```

Inserting Emojis

When pasting emojis from other sources things go wrong.
Mainly they are not replaced as intended with the twemoji equivalent.
Secondly, when inserting emojis using the Windows emojis picker, they are inserted twice.

Missing tag Highlighting

When tagging a contact, the tag is in no way highlighted.
image
One of the tags is an actual tag, while the other one is just text.

Technically not Bugs

Escape Clears Entire Input

When spamming Escape because the editor broke again, the message you meticulously crafter for an entire hour while trying not to trigger one of the many bugs in the RTE just disappears. This happened to me so often, that I often resort to tying messages longer than three words in Notepad and then pasting them to still get an approximation of what I will send.

Emoji Picker Loading Time

A virtual scroller for the emoji picker is IMHO stupid - at least the way it is implemented now. When scrolling through the emojis quickly they load far too slowly. This behavior is toleratable for dynamic content like chat messages, but for static content, where the user usually has some reference in mind to find the emoji they are looking for, it is unacceptable to see a blank container because the picker is “loading”. If you really want to use the full SVGs in the picker, rasterize them when first opening the emoji picker and store them in volatile memory to avoid loading time when showing them again.

Conclusion

This is all I could find / remember ad hoc.
For now, I will sadly turn off the RTE until significant improvements are made so it doesn’t destroy itself.

6 Likes

I just feel free to add this as well:

Reply Group Role Hover Message

This one is not a bug, rather a small inconstancy. In one of the last alpha update the hover message of the group role has been removed, but not if someone replied to the message.

image

2 Likes

Normal Text Editor (not RTE)

Broken Emojis Replacement

When having the RTE disabled and inserting an emoji via the emoji picker it gets inserted as text.
However, upon pressing space right after the wrong part of the text is replaced with the emoji.
Carnac_1TjZjtpWB7

2 Likes

@Gamer92000
Before I begin
The words “wrong” and “bug” often represent opinions and not always actual bugs.

Following got discussed with a developer and will be forwarded to product management.
It could be that forwarded tickets get rejected or changed.

But anyways thank you for reporting any of these!

TS3 Server Chat

Missing Spacing
Worth an improvement in UI but not a bug.
Forwarded this in a ticket.

  • fixed in Beta 71

TS5 Chats

Wrong Interpretation of Fenced Code Blocks
This isn’t wrong. We are not strictly following the Markdown specs. Not all of them fit to our needs.

Code Highlighting in Inline Code
Not wrong but there is space to improve recognition of code.
Forwarded this in a ticket.

  • fixed in Beta 71

Multiline Inline Code.
Not all inline styling strictly follows the rule you have mentioned - not even after the semi-official common mark spec. As you probably know, inline formatting such as bold/italics/strike through do indeed allow line breaks to be present. However, according to the spec, inline code is indeed special-cased and newline shall be replaced with spaces. But, again, since we are “only” Markdown-esque without claiming to be strictly compliant with Markdown, we again opt for our own interpretation & parsing.

Invisible Messages
We are going to ignore this when done on purpose.

Broken YouTube Embeds
Shorts, Clips are not supported yet.
Is a ticket already.

Multi Message Selection
That’s on purpose. A click anywhere else then the active chat window should deactivate multi selection.

RTE TS5 Chats

Escaping Backticks
Agree. Renderer issue.
Forwarded this in a ticket.

Random Code Block Appearance
Agree.
Forwarded this in a ticket.

  • partly fixed in Beta 71.
    3 ~ still create an empty block, but possibly a 3rd party bug. Fixed in b75

Unable to use Backspace.
Already a ticket and fixed. But not released to alpha yet.

Code Blocks not Showing as such
That’s on our list.

Inserting Emojis
Not sure if we are going to support any external Emoji sets in future. We understand that coping text may not work as expected.
Known issue is when using Windows Emoji keyboard that this emoji is not send to chat.

Missing tag Highlighting
Highlighting happens after send and not in chat input. We decided this to happen that way.
We may change that mentions are highlighted / bold again.

  • Changed in Beta 71

Escape Clears Entire Input
Normal behavior when using software with an input field

Emoji Picker Loading Time
We have plans to improve this in future.

  • Improved in Beta 73

Broken Emojis Replacement
Agree. We plan to show emojis and not their short codes

  • Changed in Beta 73
8 Likes

@LeonMarcelHD
Reply Group Role Hover Message
Yes here the role should appear as a tooltip.

4 Likes

Here are my test results:

Application Behaviour on Esc
Windows Notepad Does Nothing
WhatsApp Does Nothing
Signal Does Nothing
Threema Does Nothing
Slack Does Nothing
Element Does Nothing
Skype Does Nothing
Zoom Does Nothing
Discord Does Nothing
Revolt Does Nothing
FACEIT Does Nothing
Steam Does Nothing
Xbox Does Nothing
Ubisoft Connect Does Nothing
Battle.net Does Nothing
Origin Does Nothing
EA App Closes Chat and keeps message (as a draft)
Telegram Closes Chat and keeps message (as a draft)
Line Closes Chat and keeps message (as a draft)
This Forum Minimizes Input and keeps message
Outlook Asks whether to keep changes
Thunderbird Asks whether to keep changes
Evolution Asks whether to keep changes
TeamSpeak 3 removes message
TeamSpeak 5 removes message

Sooo… could you name some of the other (preferable chat) software where this is normal?

4 Likes

There is no need to discuss it like this, it is not a bug. If in the previous versions of TeamSpeak, escaping a message leads to its deletion, it is usually the right thing to do.