Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • matrix matrix
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 6
    • Issues 6
    • List
    • Boards
    • Service Desk
    • Milestones
  • Packages & Registries
    • Packages & Registries
    • Infrastructure Registry
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • Julian Foad
  • matrixmatrix
  • Issues
  • #4

Closed
Open
Created Jun 11, 2020 by Julian Foad@julianfoad💬Maintainer

Rooms vs Sync-Units

### Half-baked idea

Matrix should distinguish between the user's idea of a room and the unit of synchronization used in the implementation.

  • Use the term "room" only when referring to the high-level concept
    • a sequence of sync-units joined together by "tombstone" entries
    • identified by a "#" sigil id (currently called "room alias" but should be just "room")
  • Use a new term such as "sync-unit" when referring to the lower level eventually-consistent data unit
    • identified by a "!" sigil id (currently called "room-id")

A client may well want to display a high-level room as a concatenated view of the low-level units (unlike now where Riot displays one sync-unit with links to predecessor and successor).

Sometimes a user generates a link to one sync-unit when what they meant the high level room. There are already some such UX issues filed, e.g.

  • Permalinks: ! ids are unroutable, and # aliases are not permanent. Please solve. #2925
  • Share room button should use alias instead of room ID #12447

I think they may be easier to resolve if there is a clear conceptual distinction.

Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking