!UUkRolSfUAnkNCAQJg:matrix.org

sputnik-messenger

52 Members
Mobile matrix client, written with Flutter - Beta: https://play.google.com/apps/testing/com.sputnikmessenger, Website: https://sputnik-messenger.com, 12 Servers

Load older messages


SenderMessageTime
17 Aug 2019
@forgemo:mos.appMo 🛰
In reply to @matthew:matrix.org
so is this matrix over WS? or a separate push mechanism?
* it is a push gateway + push provider for push notifications. the actual matrix-stuff uses /sync long-polling.
21:27:04
@matthew:matrix.orgMatthewand then you’d get e2ee push for free21:27:11
@matthew:matrix.orgMatthewand not have to worry about two transports21:27:22
@matthew:matrix.orgMatthewbut we haven’t got that far yet :|21:27:41
@deepbluev7:neko.devNico This is the proposal for a sse sync endpoint: https://github.com/matrix-org/matrix-doc/issues/2024 Would be interesting, if flaky connections would still be an issue then and the proposal should use websockets instead. 21:34:46
@forgemo:mos.appMo 🛰 Matthew that sounds great, but i'm afraid ... syncing and pushing are two separate bags of problems. right now, with long polling .. device has to be awake to sync. a lighter version would be indeed using server sent events. as long as the device is awake, screen on and the user is activele using the client ... it will probably work. but i'm not sure if it could be used as actual push mechanism. .... the connection between a mobile client and server get's 'broken' all the time, so the client needs to actively reconnect if that happens. ... but with sse, it's very hard for a client to detect a broken connection, if not impossible without complicated workarounds . 21:36:49
@forgemo:mos.appMo 🛰basically, a client can only detect a broken tcp connection by trying to send some data to the server. this can be done on tcp level since every connection is a duplex one. in http world, however, there are no duplex connections (at least not in http1.1) ... that means using SSE with http1.1 just doesn't allow for sending 'pings' from the client to the server. http2, does allow duplex connections, but is terribly complex and library support is limited. you would have to force every client to use http2, to take full advantage of the api.21:45:04
@forgemo:mos.appMo 🛰websockets, however, work with all http versions, are duplex connections, and even have 'ping-pong' commandos built in. thats why i chose them. library support is also quite ok.21:47:07
@matthew:matrix.orgMatthew Mo 🛰: i understand this :) but my point is that if Matrix was better, its transport could be used for both push & sync (complete with fast recovery in the face of network outages for both push & sync) 21:47:31
@matthew:matrix.orgMatthewas push is a subset of sync21:47:36
@matthew:matrix.orgMatthewit's literally a filter that says "please only send me events which are notifs. and btw i (probably) don't care about any of the fields on the events; i just want to be woken up".21:48:08
@matthew:matrix.orgMatthewthis is why we experimented with the CoAP transport for Matrix21:48:16
@matthew:matrix.orgMatthewas per https://matrix.org/blog/2019/03/12/breaking-the-100-bps-barrier-with-matrix-meshsim-coap-proxy21:48:25
@matthew:matrix.orgMatthew(which btw outperforms both SSE & WS by a factor of about 50 in terms of bandwidth - and gives you as good semantics for detecting connection outages ;)21:48:58
@matthew:matrix.orgMatthewhowever, we haven't progressed much further than the initial PoC in terms of improving /sync to be push-based (rather than long poll) and have push-style filtering semantics, or hooking up to CoAP, sadly21:49:33
@matthew:matrix.orgMatthewbut ftr this is the direction we've been considering for Matrix.21:49:39
@matthew:matrix.orgMatthewit would also have the nice side-effect that any FLOSS project that wanted Push might get Matrix for free21:49:49
@matthew:matrix.orgMatthewwhich would be a great step in terms of having Matrix as a general purpose FLOSS messaging infrastructure for the wider world (rather than using bidirectional msging in Firebase and getting locked into Google, or whatever)21:50:36
@forgemo:mos.appMo 🛰oh wow :) i didn't know that. that sounds very interesting. i wiil have to watch the video. I'm reading for the first time about CoAP 🙈 thats definitely a very nice perspective / vision for matrix ❤️21:53:03
@matthew:matrix.orgMatthew(btw, sputnik looks super-impressive, now i've got to a laptop and able to look at the repos :)21:53:04
@matthew:matrix.orgMatthewif you look at the slides for that talk (prolly easier to flip through https://matrix.org/blog/wp-content/uploads/2019/02/2019-02-03-FOSDEM-Low-Bandwidth.pdf rather than hear me drone on) you'll see i evaluated http in various flavours (albeit not WS or SSE admittedly) and how we converged on CoAP + Noise21:54:02
@matthew:matrix.orgMatthewCoAP is fun because it looks & smells like HTTP, and so maps really easily to Matrix21:54:12
@matthew:matrix.orgMatthewbut you also get an OBSERVE method, which lets you do SSE-style behaviour21:54:21
@forgemo:mos.appMo 🛰
In reply to @matthew:matrix.org
(btw, sputnik looks super-impressive, now i've got to a laptop and able to look at the repos :)
thanks, but it's still in a very early stage and there is still a lot to do :)
21:54:20
@matthew:matrix.orgMatthewon the sync/push stuff; please please understand that matrix’s sync stuff is not intrinsically long polling at all - that’s just the crappy default http transport22:01:33
@matthew:matrix.orgMatthewhttps://github.com/matrix-org/matrix-doc/blob/master/drafts/websockets.rst is a proposal and implementation for mapping it to WS for instance and using true push rather than long poll22:02:28
@matthew:matrix.orgMatthewbut the coap stuff obsolete that now22:02:35
@forgemo:mos.appMo 🛰
In reply to @matthew:matrix.org
on the sync/push stuff; please please understand that matrix’s sync stuff is not intrinsically long polling at all - that’s just the crappy default http transport
I guess I understand your point. http is currently the most pragmatic solution that just works for most clients/servers/platforms.
22:06:32
@forgemo:mos.appMo 🛰
In reply to @matthew:matrix.org
https://github.com/matrix-org/matrix-doc/blob/master/drafts/websockets.rst is a proposal and implementation for mapping it to WS for instance and using true push rather than long poll
oh, didn't know that. i will compare it with my current push implementation. i might find something that helps me to improve my implementation 🤓
22:08:10
@forgemo:mos.appMo 🛰
In reply to @matthew:matrix.org
but the coap stuff obsolete that now
i really have to find out what coap is 😆 sound like a silver bullet. since it's now midnight where I live, i'm going to watch the coap video tomorrow :)
22:11:43

Show newer messages


Back to Room ListRoom Version: 4