Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementing remaining 1:1 semantics across the UI #2099

Closed
5 of 6 tasks
ara4n opened this issue Sep 6, 2016 · 6 comments
Closed
5 of 6 tasks

Implementing remaining 1:1 semantics across the UI #2099

ara4n opened this issue Sep 6, 2016 · 6 comments

Comments

@ara4n
Copy link
Member

ara4n commented Sep 6, 2016

We have #2070 for tracking whether given rooms are 1:1 or not.
We have #2097 for showing this in the UI.
We have #1882 for new UI for creating rooms as 1:1.

What we don't have is a bug to track all the other niggling bits in the UI where we want to reflect the new 1:1 semantics:

  • The ability to untag a 1:1 room and make it a normal room. This could be drop & drag between sublists in LeftPanel, and probably also a checkbox in RoomSettings.
  • For symmetry we should probably have the ability to tag a room as a official 1:1 for a given person. This is more fiddly, and we can probably ignore this for now. -> MSC2199: Canonical DMs matrix-org/matrix-spec-proposals#2199
  • In MemberInfo, rather than having the "Start Direct Chat" or "Go to Direct Chat" buttons, we should just list the rooms we have in common with a user - first the DMs, then a "Start direct chat" button (which has no reuse semantics), and then any other rooms in common. This is basically Show common rooms with a user in MemberInfo #1477. This makes it the user's problem to decide which channel to use when talking to someone.
  • When sending an invite, we need to explicitly tag it as DM or not DM. (This is either from the new 'find person' UI in Implement new "talk to a person" UI #1882, or from the invite UI - either the legacy MemberList based inviting, or the new style as per Create room 3 and 4 (invite people to room) screen: User invite flow to be improved on  #1758)
  • When receiving an invite, we need to check if it's tagged as DM or not DM. If it's a DM, we add it to m.direct on account_data. If it has no tag at all, we'll have to apply heuristics to decide whether to consider it a DM (given it may have come from a client that doesn't know about m.direct).
  • Ensure that 1:1 rooms are created with equal ops on both side

In #1882, we have the problem of whether the 'People' button should reuse DMs, prompt a selection of DMs to chose from, or start a new one. I'll file that there. (Conclusion is to to reuse if possible for now; in future prompt a selection of DMs and rooms in common to use).

@dbkr: this one's with you....

@dbkr
Copy link
Member

dbkr commented Sep 7, 2016

Don't think we can use drag/drop for marking/unmarking DM rooms, since I thought we wanted to support having DM rooms in the favourites section.

@ara4n
Copy link
Member Author

ara4n commented Sep 7, 2016

True. Let's just have a checkbox in RoomSettings then.

@ara4n
Copy link
Member Author

ara4n commented Sep 12, 2016

on the 2nd bullet point, what (if anything) is implementend, in the end?

@ara4n
Copy link
Member Author

ara4n commented Oct 11, 2016

I just unchecked the 5th checkbox here, as we're not handling the case of missing is_direct correctly. Surely is_direct should either be explicitly true/false for clients which support it. Only if it's missing, then we should use heuristics.

@ara4n
Copy link
Member Author

ara4n commented Dec 21, 2016

Worth noting that the current implementation means that we almost never meaningfully use the userid that a room is tagged for as DM. Instead, the DMness is basically just a tag to say "this room is used to talk to specific people, not about a topic" (or at least this is how @AmandineLP is using it). We might want to reconsider whether we should be trying to make them tied to individual users at all...

@MadLittleMods
Copy link
Contributor

The last remaining task in this issue is about an "official 1:1 for a given person" which is being covered by matrix-org/matrix-spec-proposals#2199

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants