Open janogarcia opened 2 years ago
Spoilers: rendered as plain text
Spoilers are not only spoiled by message previews and thread summaries currently, but also broken at least in 1 way on android: urls will be blue and visible "through" the spoiler markup
https://github.com/vector-im/element-android/issues/3477 https://github.com/vector-im/element-android/issues/4771 https://github.com/vector-im/element-android/issues/1888
Unless I misunderstand the purpose of this issue.
Sorry for the missing context, Kim. The purpose of this issue is to document how should the preferred rendering for content and styles in root messages and thread summaries be for the Threads MVP.
We're trying to set a baseline for every client, on which we'll improve later on. While some of these in their current form are far from ideal (e.g., spoilers being spoiled), we can't address all the current issues within the scope of Threads MVP.
So e.g. this means you're planning to keep spoilers as they are (requirement description on left + :white_check_mark:) which means spoiling in the threads mvp.
While sad, this is a realistic goal seeing as lots of other features in this table are out of sync. I hope you will be able to iterate on this table soon, updating the "requirement" for actual sensible behaviour in defect cases such as spoilers. Thanks for your explanation.
Yeah, exactly, that's the goal.👍 A first pass to bring some cohesion across platforms, even if the expected behavior is not ideal, to later improve once we have released Threads MVP (thus avoiding scope creeping the Threads MVP).
Sad but realistic. Agree. We just need to fix all the existing debt across the app at different stages to make it more manageable while not blocking the release of ongoing projects.
Purpose and constraints
The purpose of this issue is to document how the preferred rendering for content and styles should be in root messages (only in the thread list) and thread summaries (both in the main timeline and thread list) for the Threads MVP.
We're trying to set a baseline for every client, on which we'll improve later on. While some of these in their current form are far from ideal (e.g., spoilers being spoiled), we can't address all the current issues within the scope of Threads MVP.
For this first iteration we have taken the current implementation for Web as the reference implementation.
The next step, after the Threads MVP, will be figuring out how to improve the spec, and make it more usable, which includes revisiting how we render the different content types and formatting styles in the context of threads (root messages, thread summaries).
Platform issues
Legend
@Name
is rendered asName
)https://element.io
gets rendered as non-clickable plain texthttps://element.io
)[Element](https://element.io)
gets rendered as non-clickable plain textElement
)## Heading
is rendered asHeading
)---
is rendered as---
)❌ thread summary (blank)
❌ thread summary (blank)
❌ thread summary (blank)
❌ main timeline (not rendered)
<h2>Heading</h2>
is rendered asHeading
)**bold**
is rendered asbold
)backticks
)🗒 preamature text truncation
❌ thread summary (plain text but renders new lines)
timeline { display: none; }
is rendered as non-monospaced plain text, without backticks)> quoted text
is rendered asquoted text
)❌ thread summary (renders new line after quote)
(edited)
label)❌ thread summary (it shows the
(edited)
label)Image.
🗒 thread summary
Image.
Image.
🗒 thread summary
Image.
Sticker
🗒 thread summary
Sticker
Video.
🗒 thread summary
Video.
File
🗒 thread summary
File
In reply to @name:example.com
rendered as plain text)❌ thread summary (
In reply to @name:example.com
rendered as plain text)Voice message
Voice message.ogg
)Voice
)❌ thread summary (
Voice
)Voice message.ogg
)Poll
🔮 thread summary (not supported in threads yet)
User Location geo:23.3371955,-2.7875839;u=30 at 2022-01-14T08:13:31.314Z
, actual text depends on the platform that created the event, on iOS starts withLocation was shared at geo:
)Shared their location
🗒 thread summary
Shared their location
* Name
part* name
part)❌ thread summary (shows
* name
part)* name
part)❌ thread summary (shows
* name
part)* Name
part/rainbowme
command if emote content is edited)❌ thread summary (rendered as block chars)