dimdenGD / OldTweetDeck

Returns old TweetDeck, for free!
MIT License
1.94k stars 116 forks source link

"Expand more" appears if a user manually types "..." #324

Open naw3l opened 3 months ago

naw3l commented 3 months ago

I'm using OldTweetDeck 4.0.0 and i've noticed that when a user types a very short tweet but includes "..." at the end, the "Expand more" appears by mistake, as it's not a large tweet. I'd say it's probably because it's harcoded to work that way expecting a "..." and triggering the Expand More condition to show it. Of course it's just a visual thing and it doesn't step in the way of using any feature, but it doesn't hurt to report =)

(I'm sorry in advance if it's duplicated, i've searched this and couldn't find an open issue about it)

unirun commented 3 months ago

It is due to the specifications of Twitter. The reason for this implementation is to prevent unexpected truncation with "..." in languages that do not use spaces to separate words, such as Japanese.

The timing for truncating long tweets is when the character count exceeds 140. Before reaching 140 characters, the text is truncated after the last occurrence of a newline or space character. In languages like English, which use spaces, it is common for truncation to occur naturally after 130 characters. However, in languages like Japanese that do not use spaces, there can be extreme cases where only the first few characters are displayed, and the rest is truncated.

Here is an example of such a text:

寿限無の解説です。
長い名前によって起こる笑いを主題とした古典落語の一節で、「寿限無」から「長助」までが、1つの名前です。寿限りなしで死ぬことのない「寿限無」、天人が三千年に一度下界に下るたびに衣で巌を撫で、巌を刷り切るのに要する時間が一劫からくる「五劫のすりきれ」、膨大で獲り尽くせない海の幸「海砂利水魚」、衣食住は欠かせず「食う寝る所に住む所」、生命力強靭な藪柑子「やぶらこうじのぶらこうじ」、昔、唐土にあった「パイポ」という国の「シューリンガン」王と「グイーリンダイ」后のあいだに生まれ超長生きした双生児姉妹の名「ポンポコピー」と「ポンポコナ」。長久と長命を合わせて「長久命」、長く助ける「長助」から成る名前です。

This is how it gets truncated:

寿限無の解説です。…

In line with this, for OldTweetDeck using the old API, the truncation status isn't sent from the API. Therefore, the only way to determine if a tweet is truncated is to check if "..." is included at the end. As a result, for texts exceeding a certain character count and ending with "...", the Extend Tweet option is displayed.

For languages like Japanese, as mentioned earlier, truncation can occur quite early. Consequently, if we set the character count threshold too high, it would frequently result in the Extend Tweet option not being displayed for languages like Japanese.

Even with the current threshold set relatively high, there are frequent instances where the Extend Tweet option isn't displayed when it should be.

naw3l commented 3 months ago

@unirun Hi! Thanks for the explanation and the time to write this down, I didn't know all of that. Sorry for the "false positive"

unirun commented 3 months ago

As a compromise, allowing users to set their own threshold value in the Settings could enable adjustment for different environments. However, I understand that implementing this change would require considerable effort. It would be greatly appreciated if you could address this when you have some free time.