Chats-style UI for DMs
This should use the same database backend & API interface as regular DMs (unlike iceshrimp-js). Maybe a toggle to switch between them? "View as Chat" or something (just brainstorming here)
Project
Iceshrimp.NETPriority
NormalN
Type
FeatureF
State
TriagedT
Assignee
LilianSubsystem
FrontendF
Component
No componentTarget version
v2025.1V
Released in version
Unreleased
The issue with this is that groups, which are used in group chats, are not federated. So when you have a DM with multiple recipients including remote users, the current chat interface can't handle something like that. It should somehow show them as group chats, and instead of a group name it should probably show some of the members in the group chat. Like "panos, laura and 3 others". But ideally you want group chats where you can add members or people can leave and the conversation continues. So it's not an easy task to do a complete conversion of DMs to chats. Maybe if Iceshrimp automatically created a group internally every time a group DM with a new combination of recipients was received. But that would still mean that every time someone left or was added a new group chat would be created, except if we can still see a DM is a reply to a DM with different recipients if someone say is added and Iceshrimp can do the math and add the person to the group. Just writing these down because they will be things to consider.
However, a separate chat feature has potential advantages. For example, you can't do E2EE with DMs, however Mastodon has "End-to-end encrypted messages" in its roadmap, which I suspect is the reason DMs are called "Specific people only" (or something like that) in mastodon. So there may be reasons to keep the features separated, for example if you don't want to confuse people if an E2EE chat comes to fedi, because you may want people to know that "DMs are not encrypted, chat is encrypted".
One last thing, one kinda major thing that DMs have and chat doesn't is reactions (so you'd lose that when you turn a DM conversation to a chat). But reactions should be added to chat anyway.