YunoHost-Apps / synapse_ynh

Matrix server (synapse) package for YunoHost
https://matrix.org/
GNU General Public License v3.0
79 stars 43 forks source link

sliding sync proxy? #395

Closed Thatoo closed 3 months ago

Thatoo commented 12 months ago

Describe the bug

Add sliding sync in order to use Element X.

After reading this article from Element's blog, https://element.io/blog/element-x-experience-the-future-of-element/ , I was wondering if we could include the sliding sync proxy in the synapse yunohost package?

aibosss commented 11 months ago

Please Please do add it !

lapineige commented 11 months ago

What does it do ?

Also this seems very advanced use case, for more than Nightly testers. I'm not sure there will be much efforts spent in making this work (and maintain it) in Yunohost quite soon. (Of course, anyone willing to make it is free to submit a pull request ;)

aibosss commented 11 months ago

It's mandatory to have it to test the new ElementX app which will be the best one

Josue-T commented 11 months ago

We will firstly finish the packaging v2 and control pannel and after we will add this.

aibosss commented 11 months ago

Allright bud! Thanks a lot for everything you guys contribute

lapineige commented 11 months ago

It's mandatory to have it to test the new ElementX app which will be the best one

Yes, but what does it adds, technically ? (apart from a new dependency) And does it benefits other users ? I don't find this information.

aibosss commented 11 months ago

But the real secret sauce is something called sliding sync, a powerful and flexible new Matrix API. Sliding sync gives us instant login, instant launch, and instant sync. It completely changes how a Matrix client syncs data from its homeserver. The app directly drives sliding sync to fetch precisely the right data needed to render its UI as rapidly as possible. We designed sliding sync so that the UX will be the same whatever the account size; we want performance to scale O(1) instead of O(N) with the number of rooms. We’ve applied this concept everywhere; check the sliding sync MSC for more details.

As a result the room list can be displayed less than 100ms after logging in, even on a large account, because only the data for the rooms that are displayed is loaded. If the user scrolls, we load more data but only for new displayed rooms. We also maintain some caches in the background to ensure room search and fast-scroll is instant, but never at the expense of launch or sync performance.

aibosss commented 11 months ago

Element X isn’t just faster, it also feels mainstream and beautiful because we’ve rebuilt the entire user experience.

We looked at all user-flows to better understand the user-needs, and in doing so have created a more intuitive app that feels radically more attuned to user expectations. So despite being new, it should feel more familiar and easier to use; from starting a new room, to sending and reading messages.

Element X also feels more consistent and reliable. The interface is less cluttered which helps the user to focus and speed up your workflows.

People sometimes forget the behind-the-scenes complexity of a decentralised app operating on an open standard. It has to allow for a far broader range of devices, hosts, networks and use cases. That’s why it’s so important to provide a user interface that completely hides the underlying complexities of Matrix as a decentralised open standard - and with Element X, we believe we’ve nailed it.

So all the power of Matrix - and the complexity of decentralised end-to-end encryption - is now hidden under a beautiful and intuitive user interface using the very latest frameworks and accessibility best practices and features.

Gredin67 commented 10 months ago

We will firstly finish the packaging v2 and control panel and after we will add this.

@Josue-T config panel is ready, can you merge it in testing ? What is the timeline for packaging v2 ? Do you plan to contribute sliding sync ?

Josue-T commented 10 months ago

Well, Yes I plan to do a big rework with packaging v2, sliding sync proxy and element-call. But I'm bit busy this time so I can't define when it will be.

Gredin67 commented 9 months ago

A tutorial for sliding sync https://www.youtube.com/watch?v=25wkV2ZCSsM

aibosss commented 9 months ago

i'd like to offer 50$ for someone to implement that feature..

Josue-T commented 9 months ago

i'd like to offer 50$ for someone to implement that feature..

I'll work on this when I'll have some time.

aibosss commented 9 months ago

I'll work on this when I'll have some time.

How much would give you free time faster ?

Josue-T commented 8 months ago

I'll work on this when I'll have some time.

How much would give you free time faster ?

Well in all, case fixing all issues linked to #356 and migrating to packing v2 is mandatory before to start this work.

aibosss commented 5 months ago

Still offering 50$ to anyone adding Sliding Sync.. cant wait to use Element X with my server

Josue-T commented 4 months ago

Still offering 50$ to anyone adding Sliding Sync.. cant wait to use Element X with my server

Hello,

@aibosss can you contact me by matrix at @josue:tille.ch.

Josue-T commented 3 months ago

Closing as an working version is available here https://github.com/YunoHost-Apps/synapse_ynh/pull/439