SwiftcordApp/Swiftcord

[Enhancement]: More complete message rendering

Im-Fran opened this issue · 5 comments

Enhancement

Render @mentions as the official client does.

Current Behaviour

Mentions are shown as raw text, in the form <@user id>

Desired Behaviour

Mentions should be rendered with the user name of the mentioned user, e.g. @CryptoAlgo Team

Screenshots

Here is a ping from someone else to me, is not shown as @Fran but as raw text with my user id
Screenshot 2022-10-15 at 13 31 26

This is not a bug, all mentions aren't parsed yet. Obviously, this is something I'd like to change, but swiftUI makes it particularly hard with its extremely restricted AttributedString. Our contributors and I have attempted to add rendering for emotes and mentions but got nowhere.

I could try to fix it, but I would need time to look at the code and understand on how the text is parsed. Also it might not be a good work cuz I just started learning SwiftUI xD

But the project does have like a parser for the discord markdown, right? Isn't it possible to add another parser to that package? that also can parse pings?

@Im-Fran nope, the md parsing is done by Text itself. it's a closed implementation with no way to extend it, unfortunately. Ahhh, apple thinking they know best again

Do join the Discord server to reach me faster :)