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

MSC2771: Bookmarks #2771

Closed
wants to merge 4 commits into from
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions proposals/2771-bookmarks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# MSC2771: Message Bookmarks

Matrix is currently lacking a feature to bookmark events as a user to provide a way of easy finding
important messages without needing to know a search term.

Note: This is not the same as Element's message pinning feature.
MTRNord marked this conversation as resolved.
Show resolved Hide resolved

## Proposal

Bookmarks are selected by a User on a Event. This means a user can select a event and add it to the bookmarks.
The bookmark event inside of the account data is used for clients to keep track of bookmarked events.

The bookmarks are saved with the type `dev.nordgedanken.bookmarks` (later: `m.bookmarks`).
MTRNord marked this conversation as resolved.
Show resolved Hide resolved

It is being saved inside of the rooms account data

```json
{
"events": [
"$12345:example.com",
MTRNord marked this conversation as resolved.
Show resolved Hide resolved
"$67890:example.com"
]
}
```

## Alternatives
MTRNord marked this conversation as resolved.
Show resolved Hide resolved

Instead of using the room account data it would be possible to save this in the global account data.
This would be similiar to `m.direct`.

The events are grouped by the room id to allow easier filtering of bookmarks based on rooms.
MTRNord marked this conversation as resolved.
Show resolved Hide resolved

```json
{
"!12345:example.com": [
"$67890:example.com"
],
"!67890:example.com": [
"$12345:example.com"
]
}
```

## Potential issues

* With the alternative version we might hit the 64k limit sooner.
MTRNord marked this conversation as resolved.
Show resolved Hide resolved