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

MSC3302: Stories via To-Device-Messaging #3302

Closed
wants to merge 3 commits into from
Closed

MSC3302: Stories via To-Device-Messaging #3302

wants to merge 3 commits into from

Conversation

krille-chan
Copy link

@krille-chan krille-chan commented Jul 31, 2021

@turt2live turt2live added client-server Client-Server API kind:feature MSC for not-core and not-maintenance stuff needs-implementation This MSC does not have a qualifying implementation for the SCT to review. The MSC cannot enter FCP. proposal A matrix spec change proposal proposal-in-review labels Jul 31, 2021
@turt2live
Copy link
Member

@ChristianPauly we'll need sign-off before this MSC is eligible for FCP. Easiest way to do this is to add the following to the PR description so it covers any future edits:

Signed-off-by: Your Name <email@example.org>


## Unstable prefix

Until this MSC is merged, clients should use the prefix `org.matrix.msc3302.stories.*` instead of
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how about im.fluffychat.stories.* as unstable prefix? :3

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought thats not allowed but would be nice. yes :)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, any reverse-domain is allowed ^-^

in account data can solve this. Once we have **Canonical DMs** we would need to
iterate through all of the users rooms.

Using the To-Device-Messaging we can send to all those contact at once with one
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am super confused about why you would use to-device msging for this. The building block for sharing conversations in Matrix is a room - so you then get all the infrastructure which comes with that, rather than inventing a new structure which looks mainly like a room but isn’t quite the same (eg the problem we had with Groups).

I assume the driver here is to avoid any serverside changes, and work around the fact that we don’t have federated peek in Synapse yet? (it exists in Dendrite using MSC2444). My instinct is very heavily that we should use this use case to push federated peeking and rooms-as-profiles asap, rather than complicating the spec with an entirely new concept for something which could be handled via rooms.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

An alternate solution would be to use room EDUs plus those profile rooms. I think it's to-device because then the user can somewhat control the outgoing content (as to whom it'd be going, and honestly, i think a friends/contacts system would be almost a prerequisite for this then.)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

while profiles-as-rooms would be perfect for this, we want to implement stories asap. This MSC is largely intened to document how we are doing it until profiles-as-rooms is a thing.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've thought about this too. If we start the app then we want to display a complete list of all stories from all contacts. If the account has 100 DM rooms (lets name these contact users) then it is not that practical to peek into 100 rooms I guess because this would mean 100 API calls if I'm not wrong. So it would first mean that the client has to autojoin all profile rooms to receive the stories via sync. I'm not sure if this is a problem.

Using room EDUs plus profile rooms sounds like the perfect solution. I wasnt aware of this :-)

Copy link

@kevincox kevincox Aug 5, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It sounds like we agree against to-device but I'm just going to highlight some more concerns.

  1. If I log in with a new device I expect to see unexpired stories.
  2. If I add a new "contact" they don't see my story.
  3. If I have 300 "friends" I am sending a big object every time I want to send a story.

(In general I think the concept of "device" in Matrix was a mistake. I am a person and my devices are a private detail of my usage)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is correct :-) I will wait then until the new features like profiles as rooms are implemented. However it was very interesting to write such a MSC by myself. Thank you all very much for the feedback :) I think I have learned a lot.

@krille-chan krille-chan closed this Aug 6, 2021
@turt2live turt2live added abandoned A proposal where the author/shepherd is not responsive and removed proposal-in-review labels Nov 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
abandoned A proposal where the author/shepherd is not responsive client-server Client-Server API kind:feature MSC for not-core and not-maintenance stuff needs-implementation This MSC does not have a qualifying implementation for the SCT to review. The MSC cannot enter FCP. proposal A matrix spec change proposal
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants