question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

When a Space contains Sub-spaces, the room listing shouldn't show a flat list including all subspace-rooms.

See original GitHub issue

Your use case

Our Space has a lot of rooms – there are probably going to be hundreds. In order to make that not overwhelming, I want to organize these via sub-spaces. However, the UI considers all rooms in sub-spaces to be rooms in the top-level space too. Observe:

image

(Please ignore visual styling … this is a new server in progress!)

We don’t even have all of our rooms configured yet, and the list is already basically useless. It’s even worse on mobile.

I would really like one of:

  1. Spaces and Rooms displayed as multi-level hierarchy replacing the > Rooms list.
  2. Room list shows just rooms, but there’s a second section > Spaces after > People and > Rooms which lists nested spaces.
  3. Long flat list of rooms under > Rooms, but broken up into sections with Spaces serving as a section headers

The could also get sub-spaces out of the leftmost bar, allowing that to take up less space.

Have you considered any alternatives?

We could create multiple top-level spaces and not use nested spaces. This probably would be fine on our own server, but is less convenient for anyone coming in from a federated server since we’d have to send them a bunch of different space invites.

Additional context

This is really important to us; one of the chief reasons for moving to Matrix is for ease of use for new users, and this feels like an impediment to that.

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Reactions:11
  • Comments:20 (6 by maintainers)

github_iconTop GitHub Comments

2reactions
dkasakcommented, Oct 13, 2021

I think this should ultimately be a per space setting. There are two modes at play here.

  • Spaces considered as (hierarchical) tags. If a room belongs to a space it is as if it was tagged by that space. Sub-spaces are like sub-tags. Selecting the space acts as a filter of the total collection of rooms to show all rooms tagged by that space.

    This mode is especially useful for context switching, e.g. between Work and Personal.

    Example: if room A is a member of the space Foo and room B is a member of the space Foo/Bar (a sub-space of Foo), both rooms are tagged by Foo, but only one is tagged by Foo/Bar.

  • Spaces considered as sets of rooms. A space is just a set of rooms (or other spaces). Selecting a space just shows all of its elements, which may be rooms or other spaces.

    Example: room A is a member of space Foo, but so is space Bar. Space Bar also contains a room B. Selecting Foo only displays its immediate children, which are the room A and the space Bar.

Like @Twi1ightSparkle, I also primarily use my spaces for switching between contexts. When I switch to a context, I expect the space to filter down my total collection of rooms to those particular to that context. But when in that context, I expect for everything that is a descendant of that context to be visible at once and sorted by recency.

I think, though, that these things could coexist? Public spaces could work like I’m suggesting, and then you could create your own private spaces with whatever arrangement you want.

I think I like this suggestion, provided I could get the context-like behaviour I want by creating a private space and adding the public space as a sub-space.

Perhaps we should just differentiate between the two use cases on the UX level since these two use cases seem fundamentally different, even though both would be implemented using spaces. Something like “Contexts” and “Guilds” (to draw a parallel with Discord). There are other use cases I would like to see in the Context case, such as silencing notifications from non-member rooms when it is activated.

2reactions
emorrp1commented, May 23, 2022

It feels to me that this discussion is simply a repeat of the Home discussion (#18093) just one level down. The solution should include the results of the experiment there and allow the user to select “Show all rooms” for the parent space. Or maybe even just inherit that setting globally since it seems to be a conceptual thing, so if someone has indicated they don’t consider Home to be an Other category, then the same should apply to parent spaces.

@MayeulC that would be vector-im/element-meta#306 I think.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Rooms list doesn't show grandchild rooms as being in a space ...
Rooms list doesn't show grandchild rooms as being in a space if you are not a member of their immediate parent subspace #17293....
Read more >
Can all subspaces of a vector space form a vector space?
A vector subspace V of S should be equipped with an oriented volume element v; · The sum of (V,v) and (W,w) need...
Read more >
Community Administration - Jive Software
Your community will be pre-loaded with a set of groups and ... Spaces contain any associated sub-spaces and projects. You may find this...
Read more >
What is a subspace and what is not?
The definition of a subspace is a subset S of some Rn such that whenever u and v are vectors in S, so...
Read more >
The Weatherization Assistant User's Manual (Version 8.9)
authors expressed herein do not necessarily state or reflect those of ... navigation blocks include listings of all available records arranged in.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found