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

Matrix Spaces [MSC1772] support #15930

Closed
60 of 64 tasks
t3chguy opened this issue Dec 8, 2020 · 35 comments
Closed
60 of 64 tasks

Matrix Spaces [MSC1772] support #15930

t3chguy opened this issue Dec 8, 2020 · 35 comments
Assignees
Labels
A-Spaces Spaces, groups, communities T-Epic Issue is at Epic level

Comments

@t3chguy
Copy link
Member

t3chguy commented Dec 8, 2020

  • Space creation from LLP
  • Space post-creation prompts to invite users/add rooms in mid panel
    • Public space
    • Private space
  • Room list filter by spaces:
    • Home contains orphaned rooms
    • Home contains all DMs
    • Home contains all Favourites
    • Filtered to a space contains rooms you are in from that space + DMs you have with users in that space
  • Space landing page
    • Name
    • Avatar
    • Topic
    • Member count
    • Invite state
    • Self-join state
    • Inviting to spaces
  • Adding new rooms to spaces
  • Hide space homes from breadcrumbs?
  • Space settings
  • Space User Menu
    • Invite leading to a share prompt
    • Wire up Members button
  • Use unstable prefixes?
  • Add a space to a space (nested subspaces)
  • Right panel tweaks
    • Space members
    • Space User info
    • 3pid panel
  • Adding existing rooms to spaces
    • allow changing scope to a subspace here
    • fix scrollable region
    • busy & error states, confirm all pending design Qs
  • Sane auto-switching of the SpacePanel when you navigate between rooms otherwise, e.g using pills/breadcrumbs
  • Persist selected space(s) between refreshes [On device]
  • Notification dots on the SpacePanel buttons
    • Match room intersection algorithm from room list
  • Left Panel + for adding rooms to spaces
    • Disable based on perms within space with useful tooltips
  • Space invites show landing page
    • selects the space in the LLP? conflicts with only showing joined spaces
    • Server support: by default clients won't know its a space or its name/avatar which is jarring.
  • Default rooms preview in Space home
    • Nested subspaces
  • Space room directory
    • Nested subspaces
    • Management of auto_join/remove
  • Theming
  • Sane handling of nested spaces without breaking in recursion
  • Accessibility
    • Space Panel must be a well behaved treeview
    • Room List must remain a well behaved treeview
    • Space creation flow
    • Space post-creation flow
  • Hierarchies in the space panel
    • With expand/collapse
    • With the ability to view/select subspaces
  • Show suggested rooms in the room list

Deferred:

  • TBC: Home/All changes
  • Support selecting multiple Spaces via shift-clicking
    • Room List show each selected space as distinct named "Rooms"-like sublist
  • Instrumentation
  • Optimisations to the store
  • Tests

Resolves #15246 #10802 #12240 #12658 #13144 #13257 #14923 #9970 #10383 #8951 #8869 #7340 #7339 #7010 #6653 #6646 #6589 #6517 #6512 #6497 #6229 #5870 #5750 #5743 #5240 #5228 #6193 #16267

Split into the following milestones:

  1. Matrix Spaces Milestone 1 #16203
  2. [Spaces] Iterate exploring rooms within a space design #16204
  3. Matrix Spaces Milestone 3 #16205
  4. Matrix Spaces Milestone 4 #16206
  5. Support discovering canonical parent space when viewing a room #16207
  6. Matrix Spaces Milestone 6 #16208
@t3chguy
Copy link
Member Author

t3chguy commented Jan 8, 2021

(added to the main checkboxes above so it tracks properly on the board)

@MurzNN
Copy link
Contributor

MurzNN commented Jan 16, 2021

In testing interface prototype at https://riots.im/adhoc/spaces4 I got two pitfalls:

  1. How to add room to space, with keeping it visible in default list of room (in "Home" space)?
  2. Why I can't add DM rooms (People) to space? One of main applications of Spaces for me is to group long plain list of "People" rooms into groups (like "Family", "Friends", "Work 1", "Project 2", "Sysadmins", etc), without informing them that I "group" them in my private space (so adding them to my private space as member is not suitable).

@t3chguy
Copy link
Member Author

t3chguy commented Jan 16, 2021

https://riots.im/adhoc/spaces5/ is the latest testing build.

How to add room to space, with keeping it visible in default list of room (in "Home" space)?

You can't. The Home space lists orphaned rooms, i.e ones which don't have another home.

Why I can't add DM rooms (People) to space? One of main applications of Spaces for me is to group long plain list of "People" rooms into groups (like "Family", "Friends", "Work 1", "Project 2", "Sysadmins", etc), without informing them that I "group" them in my private space (so adding them to my private space as member is not suitable).

That is a fair point, its a tricky one because it makes sense for Spaces as Collections but doesn't make sense for either Workspaces or Community Spaces and we can't deterministically determine which one you are intentionally using it as.
Would be super confusing if #GamingSpace1 admin added a bunch of his DMs to the space for some reason.

@SimonBrandner
Copy link
Contributor

SimonBrandner commented Jan 16, 2021

I guess that for grouping people something like tags would be better. I like hierarchies but for contacts, they seem unnecessary. This is maybe something to consider while working on contacts

@MurzNN
Copy link
Contributor

MurzNN commented Jan 16, 2021

How to add room to space, with keeping it visible in default list of room (in "Home" space)?

You can't. The Home space lists orphaned rooms, i.e ones which don't have another home.

But most of people don't want to split the whole list by Spaces with missing to see "All the rooms" list, like implemented now. For this way we already have Discord and Slack, that cause you to always split between servers/workspaces, when you actively talking simultaneously in several spaces!

So the Matrix Spaces must be also the way to privately filter/group the whole list of rooms, not to split it by small sub-lists, and make people constantly switch between them to lookup "all unread messages".

That is a fair point, its a tricky one because it makes sense for Spaces as Collections

Yes, one of main usage of Spaces (for me and my colleagues) is group current long list of people+rooms by parts, related to home/work, project1/project2, etc. And only second way is joining to shared Spaces for become a member of them.

For what needs I must became a member of some workspace, eg "Drupal CMS" with 200+ rooms? For only see myself in member list and tell other about this? It's enough for me to have the bookmark to "Drupal CMS" Space somewhere in interface, that will be needed rarely to lookup the list of all rooms in space (and join to new interested rooms), and that's all. Now I'm member of 60+ rooms of Drupal Slack Community, and want group them individually for me with my own rules, not like the Space Admins group them.

At now we have Tags for this way of usage, that can solve this problem, but they still in Labs and have no integrated interface to manage, so isn't available for regular users! And I very afraid, that when Matrix Spaces interface will be published, the Matrix team will put aside the whole "Tags" feature to far-far future with decision "We implement Spaces, use them for grouping! Tags are legacy!".

About contacts feature, it also too far from implementing, and will can solve only "grouping of personal contacts (users)" task, but not "personal grouping of people and rooms together in personal groups".

The Spaces feature is very close to "Tags", so, please, try to implement the currently-unfinished "Tags" feature via Spaces too. For not confuse people, we can name the Spaces for personal grouping as "Personal space", maybe without ability to share it (or keep share, but with large red warning).

@Extarys
Copy link

Extarys commented Jan 16, 2021

@MurzNN Did you use MSN Messenger back in the day? It seems to me that you would prefer to categorize your contacts (and rooms) independently from what they categorize you.

image
(Thanks duckduck)

I thought Spaces was more about a discord feeling, To have people grouped together, on both ends.

@Glandos
Copy link
Contributor

Glandos commented Jan 16, 2021

I have to support @MurzNN on this. My first expectation on Spaces was to finally be able to split between work and family. Both are on Matrix, I use the same account, but on my desktop PC, I'd like to only show family contacts AND family rooms in the same filter. The inverse at work.

Grouping contact/rooms with a custom hierarchy (and be able to customize notifications for this) is really a feature I need to have a cooler life with Matrix.

@t3chguy
Copy link
Member Author

t3chguy commented Jan 16, 2021

Given that a room can be in multiple spaces at once, Notifications will not be a per-space setting.

@SimonBrandner
Copy link
Contributor

SimonBrandner commented Jan 16, 2021

@t3chguy It would be great to have a way to handle per-space notifications settings. I think it's a thing that a lot of people expect, no matter what environment they are coming from.

Although, I am aware that this is hard/impossible to figure out... I just think we should keep in mind that lots of people may want this.

@t3chguy
Copy link
Member Author

t3chguy commented Jan 16, 2021

It is unlikely to be part of the Spaces project, especially as the paused Notifications project is rebuilding everything from 0.

@SimonBrandner
Copy link
Contributor

@t3chguy Yeah, I definitely get that. Just let me hope 😂

@Extarys
Copy link

Extarys commented Jan 16, 2021

Per-space notification could be hard to implement if the same person or room is in multiple spaces with different notification settings. What a headache.

@MurzNN
Copy link
Contributor

MurzNN commented Jan 16, 2021

@MurzNN Did you use MSN Messenger back in the day? It seems to me that you would prefer to categorize your contacts (and rooms) independently from what they categorize you.

I used to use ICQ, Trillian, Miranda, PSI, and a lot of other old school messengers, and was always glad to personally organize and group list of people and rooms! I even has can rename contacts only on my side!!! And modern Matrix still can't give me the same features yet! That's very sad :-(

I thought Spaces was more about a discord feeling, To have people grouped together, on both ends.

But did you think that people need to have externally-enforsed grouping of his own list of rooms always in his panel? I don't think so. This can be needed only when searching new rooms/people in some already known community, or exploring new communities (for find and join to new interesting rooms), and that's all, after this users don't need to lookup the community and all its rooms/members.

@MurzNN
Copy link
Contributor

MurzNN commented Jan 16, 2021

Given that a room can be in multiple spaces at once, Notifications will not be a per-space setting.

But there are many situations, when one room must be in two Spaces, for example shared chat between two distinct communities, or group chat with 2 your personal friends, which also work in same company with you, so you discuss "friends" and "work" topics in this room, and want to see it in both communities, etc.

@MurzNN
Copy link
Contributor

MurzNN commented Jan 16, 2021

Other real life example - I'm the member of 3 communities (in Slack, VK, Telegram, Discord) - JS, Vue, PHP, OSM, Drupal, because I work on project, that contains all of that technologies, but for me interested is only OSM-related part of that communities rooms. Each community have the little list of OSM-related rooms, so I grouped them personally for me into one "OSM" tag, despite that they are from totally different communities.

@t3chguy
Copy link
Member Author

t3chguy commented Jan 16, 2021

As I already said earlier, rooms CAN be in multiple spaces. This makes the concept of space-specific notifications very muddled because what if you have the Drupal space set to All Messages but the OSM space which shares some rooms to Mute. Now a room is set to both All Messages & Mute.

@MurzNN
Copy link
Contributor

MurzNN commented Jan 16, 2021

Per-space notification could be hard to implement if the same person or room is in multiple spaces with different notification settings. What a headache.

Not so hard, just select most noisy notification from available variants of this room from space membering.

@t3chguy
Copy link
Member Author

t3chguy commented Jan 16, 2021

That's not adequate for everyone.
Either way, given the scoping, no more discussion about Notifications here, those will be dealt with under the FTUE Notifications project and not Spaces.

@Extarys
Copy link

Extarys commented Jan 16, 2021

I used to use ICQ, Trillian, Miranda, PSI, and a lot of other old school messengers, and was always glad to personally organize and group list of people and rooms! I even has can rename contacts only on my side!!! And modern Matrix still can't give me the same features yet! That's very sad :-(

Yeah, that is the purpose of categories or folders normally. Like the screenshot I sent. You might be older than me with all those clients 😆

But did you think that people need to have externally-enforsed grouping of his own list of rooms always in his panel? I don't think so. This can be needed only when searching new rooms/people in some already known community, or exploring new communities (for find and join to new interesting rooms), and that's all, after this users don't need to lookup the community and all its rooms/members.

That is indeed why I think a category function would be nice.

EDIT: @t3chguy Thanks for confirming we could use spaces for both categorizing and well, making a unified type of space. I didn't see your reply before.

@MurzNN
Copy link
Contributor

MurzNN commented Jan 25, 2021

How to add room to space, with keeping it visible in default list of room (in "Home" space)?

You can't. The Home space lists orphaned rooms, i.e ones which don't have another home.

For solve this problem will be good to have some checkbox "Show rooms from this space in Home space" in per-user Space settings, or something similar.

@t3chguy
Copy link
Member Author

t3chguy commented Jan 25, 2021

You can shift-click to select multiple spaces, so you could select both Home and that Space instead of having two ways to achieve the same behaviour.

@heyakyra
Copy link

heyakyra commented Jan 27, 2021

Split into the following milestones:

1. vector-im/element-web#16203

2. vector-im/element-web#16204

3. vector-im/element-web#16205

4. vector-im/element-web#16206

5. vector-im/element-web#16207

6. vector-im/element-web#16208

Which phase covers #5240 and matrix-org/synapse#2855 (No way to promote/demote people in a group)?

Which phase one covers migration of existing groups/communities to spaces?

@t3chguy
Copy link
Member Author

t3chguy commented Jan 27, 2021

Which phase covers #5240 and matrix-org/synapse#2855 (No way to promote/demote people in a group)?

#16206 - Managing Spaces

Which phase one covers migration of existing groups/communities to spaces?

None.

@heyakyra
Copy link

Which phase covers #5240 and matrix-org/synapse#2855 (No way to promote/demote people in a group)?

#16206 - Managing Spaces

Thank you!

Which phase one covers migration of existing groups/communities to spaces?

None.

None as in it isn't planned, or as in it will be after all the full implementation? If the former, what will happen to old groups/communities?

@t3chguy
Copy link
Member Author

t3chguy commented Jan 28, 2021

None as in it isn't planned, or as in it will be after all the full implementation? If the former, what will happen to old groups/communities?

As far as I am aware it isn't planned, due to the large impedance mismatch in features between them.

what will happen to old groups/communities

Element Web that supports spaces will not be able to view/manage old Groups/Communities

@jens-pa
Copy link

jens-pa commented Feb 2, 2021

what will happen to old groups/communities

Element Web that supports spaces will not be able to view/manage old Groups/Communities

WHAT??
Until now I eagerly anticipated the implementation of spaces as a very cool feature. ...but now I have to choose between communitys and spaces? WTF.
Will communitys disappear or will there be totally different networks using one or the other?

@t3chguy
Copy link
Member Author

t3chguy commented Feb 2, 2021

Spaces is a specced replacement for Communities. Communities are centralised and specific to Element + Synapse. Spaces will be in the Matrix spec and available for any Server & Client to implement.

@MurzNN
Copy link
Contributor

MurzNN commented Feb 2, 2021

For solve Community»Space migration (and Tags»Spaces) problem maybe can be possible to implement some bot (or script that works with user credentials), that will automate converting of specific old-school Community to new Space (create new Space with same description like the Community, add rooms, invite users, set permissions)?

@shukon
Copy link

shukon commented May 24, 2021

For solve Community»Space migration (and Tags»Spaces) problem maybe can be possible to implement some bot (or script that works with user credentials), that will automate converting of specific old-school Community to new Space (create new Space with same description like the Community, add rooms, invite users, set permissions)?

For the record, there are https://github.com/t2bot/groups-to-space-bot and https://t2bot.io/spacebot/ which does some of the things you mentioned.

@DanMan
Copy link

DanMan commented Jun 17, 2021

What's the reasoning behind not listing all the rooms inside a Space for everyone in that (private) Space? It seems like even a public room with guest access is not listed for all the Space members. Aren't they supposed to be able to discover all the (public) rooms? What's the point of "suggested" rooms then after all?

@t3chguy
Copy link
Member Author

t3chguy commented Jun 17, 2021

Guest Access has nothing to do with whether or not you can see the metadata of a room.
https://gist.github.com/t3chguy/fdf541446d992d1fc96b8089b342fe7b#why-cant-i-see-some-rooms-in-a-space

@kittykat kittykat added the T-Epic Issue is at Epic level label Sep 16, 2021
@t3chguy
Copy link
Member Author

t3chguy commented Sep 16, 2021

Closing as Spaces has left Labs

@t3chguy t3chguy closed this as completed Sep 16, 2021
@blaggacao
Copy link

This has come out very nice.

Is there already a feature request for "allowing to silence an entire space for a configurable amount of time (e.g. 2hours or sat/sun or mon-fri 7pm-7am)"?

@aaronraimist
Copy link
Collaborator

@blaggacao element-hq/element-meta#1223

@blaggacao
Copy link

After looking around for a bit I also found: matrix-org/matrix-spec#881

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Spaces Spaces, groups, communities T-Epic Issue is at Epic level
Projects
None yet
Development

No branches or pull requests