Home
ejabberd
ejabberd@conference.jabber.ru
Пятница, 11 августа 2017< ^ >
imarek@lczak.net установил(а) тему: ejabberd · english room · https://ejabberd.im. Logs: https://chatlogs.jabber.ru/ejabberd@conference.jabber.ru
Конфигурация комнаты
Участники комнаты

GMT+3
[00:00:08] <zinid> edhelas: no, not yet, we write it during release
[00:00:31] <edhelas> ok
[00:00:36] <zinid> edhelas: why http upload are not used for stickers?
[00:00:49] <zinid> xhtml-im is a dead end
[00:01:55] <edhelas> because Stickers are small enough to be shared in band
[00:02:17] <edhelas> there is already compatibility for it
[00:02:30] <zinid> then you can probably just use bob without any xhtml-im
[00:02:42] <edhelas> then I have to fix the XEP :)
[00:02:50] <zinid> what xep?
[00:02:54] <edhelas> 0231
[00:03:04] <edhelas> I just took something that was working and was implemented
[00:03:21] <edhelas> and Stickers behave differently than normal pictures
[00:04:11] <zinid> but the XEP says you can use <media/> element for example
[00:04:37] <edhelas> ah maybe
[00:04:41] <edhelas> I have to check
[00:04:42] <zinid> but yes, this is annoying
[00:04:59] <zinid> "The following example shows how to include the cid in XHTML-IM (XEP-0071) [6] but any appropriate format can be used, such as Data Forms Media Element (XEP-0221) [7]."
[00:05:26] <zinid> why do stickers behave differently?
[00:05:42] <edhelas> actually Pidgin and Gajim are working this way
[00:05:46] jeremy вышел(а) из комнаты: Machine going to sleep
[00:05:55] <edhelas> so I prefered to don't break the compatibility
[00:06:00] <edhelas> but that was a while ago
[00:06:15] <edhelas> was maybe before HTTP Upload became a thing
[00:06:18] <zinid> yeah, standards...
[00:06:23] <edhelas> actually HTTP Upload is not even related to that
[00:06:26] <zinid> xmpp is as standard as SQL
[00:06:30] <edhelas> Movim is using SIMS for that
[00:06:40] <edhelas> https://xmpp.org/extensions/xep-0385.html
[00:06:52] cippaciong вошёл(а) в комнату
[00:06:55] <edhelas> Conversations makes a request on each URL
[00:07:11] boothj5 вошёл(а) в комнату
[00:07:12] <edhelas> even if the URL is just <body>URL</body>
[00:07:30] <edhelas> Movim is creating a full SIMS block
[00:07:46] <zinid> and what client supports SIMS?
[00:07:50] <edhelas> :D
[00:07:54] <edhelas> Movim \o/
[00:08:22] <zinid> that jingle crap
[00:08:25] <zinid> my eyes...
[00:08:40] <edhelas> but I'm not a fan of Conversation
[00:08:48] <edhelas> doesn't give any metadata except the URL
[00:08:59] <edhelas> no name, no desc…
[00:09:03] <zinid> how to use this SIMS offline or in MUC?
[00:09:13] <Holger> edhelas: Conversations no longer requests all URLs.
[00:09:52] <edhelas> actually Movim doesn't request SIMS files of untrusted contacts (not in the roster)
[00:09:55] <Holger> edhelas: Only if it has an OOB hint.
[00:10:19] <edhelas> because you can still send a SIMS saying 2kb txt and end up with a .exe of 3Mb
[00:10:22] <Holger> SIMS?  So again two different solutions for the same thing?
[00:10:30] marek.w вышел(а) из комнаты: Connection failed: connection closed
[00:10:32] marek.w вошёл(а) в комнату
[00:10:40] <edhelas> well I just picked what fitted me in the extensions
[00:10:51] <edhelas> I'm also supporting HTTP Upload eh :p
[00:11:03] marek.w вышел(а) из комнаты: Connection failed: connection closed
[00:11:05] marek.w вошёл(а) в комнату
[00:11:07] <edhelas> just that I don't resolve the URLs, just forwarding the link
[00:11:18] <edhelas> resolving URLs on servers is heavy
[00:11:32] <edhelas> even Slack is slow as hell to do it
[00:11:56] <Holger> No I mean Conversations is using OOB to communicate the meta-data.  And you sound like SIMS is for sending meta-data too.
[00:11:56] marek.w вышел(а) из комнаты: Connection failed: connection closed
[00:11:58] marek.w вошёл(а) в комнату
[00:12:02] <Holger> But maybe I misunderstood.
[00:12:32] <edhelas> OOB ?
[00:12:49] <edhelas> ah yes
[00:12:51] <Holger> XEP-0066
[00:12:55] cippaciong вышел(а) из комнаты
[00:13:40] <zinid> this SIMS stuff is more like XEP-0066 indeed
[00:13:45] <edhelas> url + desc :D
[00:13:57] <Holger> Sigh.
[00:14:15] <Holger> So Conversations won't show Movim cat pics inline, nor vice versa?
[00:14:26] jannic вошёл(а) в комнату
[00:14:30] <edhelas> SIMS gives you thumbnails, hashes, size, media type, …
[00:14:37] <edhelas> especially the size
[00:14:49] <Holger> HTTP gives you the size too? :-)
[00:14:54] <edhelas> I don't want to request some HTTP header to guess what file I'll display
[00:15:09] <Holger> So the answer to my question is yes?
[00:15:10] <zinid> thumbnails? have I already said that?
[00:15:18] <edhelas> Holger, as I said, resolving HTTP on the server is bringing lots of issues
[00:15:18] <Holger> Conversations won't show Movim cat pics inline, nor vice versa?
[00:15:43] <Holger> zinid: :-)
[00:15:47] <edhelas> Holger, Movim -> Conversaions works
[00:15:58] <Holger> Why?
[00:16:15] JabAlacer вышел(а) из комнаты
[00:16:19] <Holger> As I said Conversations will only download the image if you include OOB data these days.
[00:16:26] <Holger> So you include OOB tags?
[00:16:28] <edhelas> again, because AFAIK Conversations resolve URLs, but maybe this changed recently
[00:16:35] <edhelas> so not anymore
[00:16:35] <Holger> No see above.
[00:16:40] <Holger> I love XMPP.
[00:16:56] <edhelas> and OOB data is not enough for me
[00:17:15] <edhelas> so basically, let's sit together, deprecate some XEPs and I'll be happy to fit with the remaining ones
[00:17:16] <zinid> client devs are funny
[00:17:38] <edhelas> did I already mentionned the vcard-temp, vcard4 ?
[00:17:46] <edhelas> avatar, vcard-temp ?
[00:17:50] <edhelas> and many others ?
[00:18:06] <zinid> pep avatars :)
[00:18:11] <edhelas> zinid, <3
[00:18:14] <Holger> Bookmarks ...
[00:18:18] <edhelas> YES, HELL YES
[00:18:36] <edhelas> when will we finally move to PEP, multi-id and persistant
[00:18:40] <zinid> let's pretend everything is great :)
[00:18:43] <edhelas> then I can do atomic bookmarks
[00:19:14] <edhelas> and just drop those old crappy XEPs
[00:19:38] <edhelas> also, maybe we can update existing ones
[00:19:54] <edhelas> there's still no way to put avatars/logos on MUC and Pubsub nodes :p
[00:20:15] <edhelas> there's no way to know if I can publish in a Pubsub node, before publishing in it (and handle the error)
[00:20:20] <zinid> my obvious question: why can't you support both? you know XMPP sucks in this regard, you have no choice
[00:20:32] <zinid> get hard or go home :D
[00:20:51] <edhelas> there's no way to know what is the access_model of  a node in the metadata /o/
[00:21:26] debalance вошёл(а) в комнату
[00:21:30] debalance вошёл(а) в комнату
[00:22:10] <zinid> Holger: I have an idea: convert stanza to needed protocol based on user disco features :D
[00:22:22] <zinid> Holger: like you suggested for pep avatars vs vcard avatars
[00:22:38] <Holger> Yeah ...
[00:22:41] <zinid> because client devs cannot into disco features :(
[00:22:44] <edhelas> Movim support vcard-temp as a fallback
[00:22:54] <edhelas> I'm not handling vcard-temp avatars anymore
[00:23:22] <zinid> like, I support SIMS and I WILL SEND IT EVERYONE BECAUSE THAT'S COOOOOL
[00:23:23] <edhelas> zinid, please tell to Daniel that sending avatars in WEBP is also a bad practice :D
[00:23:39] cippaciong вышел(а) из комнаты
[00:23:52] <edhelas> basically PHP cannot decode WEBP pictures for now in the packaged versions
[00:24:04] <edhelas> so I have everything to handle the base64
[00:24:15] <edhelas> but Imagick cannot decode it /o\
[00:24:28] <Holger> edhelas: And when you use PNG instead the thing gets much larger and it hits stanza size limits more easily.
[00:24:35] <Holger> Whatever you do is wrong.
[00:24:42] <edhelas> or JPEG if too big
[00:24:53] <Holger> Bad practice :-)
[00:25:00] <Holger> The XEP just guarantees PNG.
[00:25:12] <edhelas> then use PNG, but not 4K version
[00:25:30] <edhelas> WEBP is not 10x smaller
[00:25:34] <Holger> We're talking about limits such as 16/32/64k.
[00:25:41] <edhelas> we're talking about max 30-40% here
[00:25:48] <Holger> I've seen users stumbling in practice quite a few times.
[00:25:58] <Holger> Compared to JPEG yes.
[00:26:02] <Holger> I'd use JPEG as well.
[00:26:25] <edhelas> so that's why I trully think that the next summits should stop talking about future XEPs, and just cleanup/fix the existing
[00:26:31] <zinid> thumbnails? ah wait...
[00:26:32] <edhelas> and deprecate a bunch of them
[00:26:49] <Holger> Hehehe.
[00:26:55] <edhelas> I talked with the Pidgin guys
[00:27:05] <Holger> They still exist?
[00:27:10] <zinid> lol
[00:27:18] <edhelas> for them, no need to move to vcard4, vcard-temp is stil Active
[00:27:54] <edhelas> Holger, yes and bunch of people are still connecting using Pidgin, even in 2017
[00:28:06] <edhelas> because well, its one of the reference client
[00:28:13] <zinid> via portal from 2004 :)
[00:28:18] <edhelas> and then they see XMPP as a 1990 IM solution
[00:28:27] <Holger> Yes I know people still use it.  But I thought there's been zero development for a decade or so.
[00:28:47] <edhelas> zinid, well give me names for XMPP clients that works well on Windows ?
[00:28:48] <SouL> I thought the same.
[00:28:55] <Holger> Isn't there a (dunno) eight-years old carbons patch or so?
[00:29:18] JabAlacer вошёл(а) в комнату
[00:29:28] <Holger> edhelas: I'd use Swift on Windows but no it doesn't work well either.
[00:29:30] <edhelas> Gajim looks like a XMPP hackerz client with a USSR UI
[00:29:43] <edhelas> Swift is kinda ugly as well
[00:29:56] <Holger> Well yes but Pidgin is better?
[00:29:57] <zinid> edhelas: well pidgin looks terrible in windows anyway (because of gtk)
[00:30:01] <edhelas> Pidgin is not that great as well
[00:30:16] erik вышел(а) из комнаты: Machine going to sleep
[00:30:19] <edhelas> now compare that to Telegram and the other clients
[00:30:24] <Holger> Sure.
[00:30:26] <edhelas> hey don't have many more features
[00:30:42] <edhelas> basically Conversation/Dino does pretty much the same
[00:31:39] <zinid> Telegram is nice
[00:31:41] Marzanna вышел(а) из комнаты: unknown reason
[00:31:53] <zinid> its UI really clean
[00:32:02] <edhelas> yup
[00:32:03] <Holger> Telegram is using Qt IIRC.  So it's not like you *must* end up with an ugly client when using that toolkit.
[00:32:05] <zinid> swift looks like 10 years after it
[00:32:32] JabAlacer вышел(а) из комнаты
[00:32:39] JabAlacer вошёл(а) в комнату
[00:33:17] <edhelas> https://swift.im/images/banner-1.png I had similar UIs on Trillian in 2004 :/
[00:33:44] <zinid> yeah, and this one from their front page
[00:33:47] <zinid> what a fucking shame
[00:33:48] marek.w вышел(а) из комнаты: Connection failed: connection closed
[00:34:07] <zinid> isode doen't have money for UI designers?
[00:34:26] <Holger> Looks slightly different today: https://userpage.fu-berlin.de/holger/archive/swift-beta.png
[00:34:28] <edhelas> dunno
[00:34:38] <Holger> But yes still ugly.
[00:34:50] <zinid> my eyes... how to unsee this :(
[00:35:09] <zinid> whatever they do they end up with Psi
[00:35:11] <edhelas> Holger, merge those two windows, put the tabs on the left, remove shadows, bigger buttons + padding
[00:35:13] <zinid> cursed place
[00:35:14] <edhelas> and we're good
[00:36:33] <edhelas> Dino has a good looking UI I think https://camo.githubusercontent.com/7b54cf08415d0c502572a057b0b4a4dc3387455e/68747470733a2f2f692e696d6775722e636f6d2f78494b504546462e706e67
[00:36:40] Marzanna вошёл(а) в комнату
[00:36:45] <edhelas> also some nice recent XMPP features
[00:36:54] <Holger> Yes but GNOME/Vala ...
[00:37:04] <Holger> Will that ever be usable on macOS/Windows?
[00:37:22] <edhelas> Holger, wait for the GTK3 release of Pidgin then :p
[00:38:34] <zinid> in 2048
[00:38:44] <edhelas> will have MIX before that
[00:38:53] <zinid> not sure...
[00:38:54] <edhelas> and maybe HURD-stable
[00:41:36] <edhelas> so for now my goal is to push the servers to have a decent support of this 10 years old XEP called Pubsub :p
[00:41:46] andrey.g вышел(а) из комнаты
[00:42:01] <zinid> I have bad news for you :)
[00:42:12] <zinid> pubsub in ejabberd must be totally rewritten
[00:42:23] <edhelas> also https://github.com/movim/moxl#xmpp-support
[00:42:30] <zinid> and seems like there is no queue of volunteers :)
[00:42:38] JabAlacer вышел(а) из комнаты
[00:43:02] <edhelas> Holger is always available for such project
[00:43:25] <edhelas> he got plenty of time and he loves erlang <3
[00:43:31] JabAlacer вошёл(а) в комнату
[00:43:39] <zinid> we have such table too: https://github.com/processone/xmpp#supported-xmpp-elements
[00:43:47] <SouL> Only the second statment is right, sure haha
[00:44:10] <edhelas> zinid, XEP-0016: Privacy Lists, vintage B-)
[00:44:54] <edhelas> zinid, I'm really looking forward MIX, to me it could replace MUC & Pubsub in Movim
[00:45:18] <zinid> last time I read the XEP I didn't like it
[00:45:30] <zinid> it assumes some stupid O(N) database operations
[00:45:43] <zinid> when I point to it everybody is silent
[00:45:50] <zinid> so I gave up
[00:45:56] <edhelas> :(
[00:46:11] cippaciong вошёл(а) в комнату
[00:46:37] <SouL> zinid: where?
[00:46:58] <zinid> SouL: I don't remember now, also, it has been rewritten 100500 times recently
[00:47:12] <zinid> I lost a track
[00:47:32] <edhelas> zinid, put moar RAM and quantum CPU, turn O(N) to O(log N)
[00:47:35] <zinid> an Isode CEO is working on it :)
[00:47:56] <SouL> Is it bad? :)
[00:48:17] <zinid> no
[00:48:42] <zinid> but I think CEOs should not resolve tech stuff
[00:49:02] rom1dep вышел(а) из комнаты: unknown reason
[00:49:26] <SouL> I guess it depends on the person and not their job position? I don't know, I have no idea about him.
[00:49:54] <zinid> well he has some experience within LDAP IETF group
[00:50:49] sergio вышел(а) из комнаты
[00:52:02] <zinid> but I don't know, XMPP is currently such a mess...
[00:52:28] JabAlacer вышел(а) из комнаты
[00:52:49] <zinid> I see the same is happening in SIP world
[00:53:08] <zinid> seems like there is a point of no return when you can only produce crappy protocols :)
[00:55:02] Marzanna вышел(а) из комнаты: unknown reason
[00:56:17] Marzanna вошёл(а) в комнату
[00:57:30] cippaciong вышел(а) из комнаты
[00:58:03] debalance вышел(а) из комнаты
[01:00:40] <edhelas> zinid, time to move to JSON over HTTP
[01:00:53] <zinid> HTTP/2
[01:00:57] jere вышел(а) из комнаты
[01:01:01] jere вошёл(а) в комнату
[01:01:09] Marzanna вышел(а) из комнаты
[01:01:21] <zinid> also, there is Matrix :D
[01:03:03] Holger вышел(а) из комнаты: Replaced by new connection
[01:03:16] Holger вошёл(а) в комнату
[01:04:12] cippaciong вошёл(а) в комнату
[01:09:37] boothj5 вышел(а) из комнаты
[01:17:37] JabAlacer вошёл(а) в комнату
[01:22:08] debalance вошёл(а) в комнату
[01:23:12] JabAlacer вышел(а) из комнаты
[01:33:18] JabAlacer вошёл(а) в комнату
[01:39:06] Neustradamus вышел(а) из комнаты
[01:40:50] boothj5 вошёл(а) в комнату
[01:40:58] boothj5 вышел(а) из комнаты
[01:52:09] nabeel вышел(а) из комнаты
[01:53:54] nabeel вошёл(а) в комнату
[02:02:35] cippaciong вышел(а) из комнаты
[02:06:15] JabAlacer вышел(а) из комнаты
[02:06:21] JabAlacer вошёл(а) в комнату
[02:17:37] JabAlacer вышел(а) из комнаты
[02:18:39] hlad вышел(а) из комнаты: Replaced by new connection
[02:18:42] hlad вошёл(а) в комнату
[02:23:13] cippaciong вошёл(а) в комнату
[02:27:52] jeremy вышел(а) из комнаты: Replaced by new connection
[02:27:53] jeremy вошёл(а) в комнату
[02:31:04] zinid вышел(а) из комнаты
[02:37:44] JabAlacer вошёл(а) в комнату
[02:56:52] rom1dep вошёл(а) в комнату
[03:09:14] JabAlacer вышел(а) из комнаты
[03:16:05] nabeel вышел(а) из комнаты
[03:17:43] JabAlacer вошёл(а) в комнату
[03:26:33] JabAlacer вышел(а) из комнаты
[03:45:08] tyu вошёл(а) в комнату
[03:55:41] JabAlacer вошёл(а) в комнату
[03:55:54] JabAlacer вышел(а) из комнаты: Disconnected: Replaced by new connection
[03:55:57] JabAlacer вошёл(а) в комнату
[03:56:15] Psi-Jack вышел(а) из комнаты: unknown reason
[03:56:23] Psi-Jack вошёл(а) в комнату
[03:58:24] Psi-Jack вышел(а) из комнаты: unknown reason
[04:01:14] Psi-Jack вошёл(а) в комнату
[04:03:05] Psi-Jack вышел(а) из комнаты: unknown reason
[04:06:15] Psi-Jack вошёл(а) в комнату
[04:06:44] JabAlacer вышел(а) из комнаты: Disconnected: Replaced by new connection
[04:06:46] JabAlacer вошёл(а) в комнату
[04:07:44] Psi-Jack вышел(а) из комнаты: unknown reason
[04:08:56] Neustradamus вошёл(а) в комнату
[04:12:45] JabAlacer вышел(а) из комнаты
[04:12:51] jere вышел(а) из комнаты
[04:12:56] jere вошёл(а) в комнату
[04:18:49] anand вошёл(а) в комнату
[04:25:03] erik вышел(а) из комнаты: Stream closed by us: Replaced by new connection (conflict)
[04:25:06] erik вошёл(а) в комнату
[04:30:16] JabAlacer вошёл(а) в комнату
[04:30:24] JabAlacer вышел(а) из комнаты
[04:30:31] JabAlacer вошёл(а) в комнату
[04:42:53] JabAlacer вышел(а) из комнаты
[04:43:40] JabAlacer вошёл(а) в комнату
[04:43:46] JabAlacer вышел(а) из комнаты
[04:43:49] JabAlacer вошёл(а) в комнату
[04:47:48] debalance вышел(а) из комнаты
[04:50:28] JabAlacer вошёл(а) в комнату
[04:53:31] JabAlacer вышел(а) из комнаты
[04:53:37] JabAlacer вошёл(а) в комнату
[04:54:12] JabAlacer вышел(а) из комнаты: offline
[04:55:12] JabAlacer вошёл(а) в комнату
[04:55:19] JabAlacer вышел(а) из комнаты: offline
[05:03:49] JabAlacer вышел(а) из комнаты
[05:03:58] nabeel вошёл(а) в комнату
[05:06:01] debalance вошёл(а) в комнату
[05:17:44] JabAlacer вошёл(а) в комнату
[05:39:10] vingausaid вышел(а) из комнаты: Replaced by new connection
[05:39:11] vingausaid вошёл(а) в комнату
[05:42:07] JabAlacer вышел(а) из комнаты
[05:42:14] JabAlacer вошёл(а) в комнату
[05:54:30] Psi-Jack вошёл(а) в комнату
[05:57:30] Psi-Jack вышел(а) из комнаты: unknown reason
[06:14:16] JabAlacer вышел(а) из комнаты
[06:31:34] pod вошёл(а) в комнату
[06:37:51] pod вошёл(а) в комнату
[06:37:52] sattellite вышел(а) из комнаты
[06:38:02] sattellite вошёл(а) в комнату
[06:44:18] JabAlacer вошёл(а) в комнату
[06:55:09] Psi-Jack вошёл(а) в комнату
[06:59:44] Psi-Jack вышел(а) из комнаты: unknown reason
[07:40:41] marek.w вошёл(а) в комнату
[07:49:56] JabAlacer вышел(а) из комнаты
[07:52:43] JabAlacer вошёл(а) в комнату
[07:55:19] sattellite вышел(а) из комнаты
[08:00:23] sattellite вошёл(а) в комнату
[08:05:33] sattellite вышел(а) из комнаты
[08:20:17] debalance вышел(а) из комнаты: Replaced by new connection
[08:20:28] debalance вошёл(а) в комнату
[08:21:21] sattellite вошёл(а) в комнату
[08:29:22] sattellite вышел(а) из комнаты
[08:30:20] cippaciong вышел(а) из комнаты
[08:31:27] sattellite вошёл(а) в комнату
[08:31:59] cippaciong вошёл(а) в комнату
[08:32:11] jere вышел(а) из комнаты
[08:34:10] kahlb вышел(а) из комнаты: Replaced by new connection
[08:34:16] kahlb вошёл(а) в комнату
[08:35:18] sattellite вышел(а) из комнаты
[08:36:21] debalance вышел(а) из комнаты: Replaced by new connection
[08:36:22] debalance вошёл(а) в комнату
[08:41:27] sattellite вошёл(а) в комнату
[08:43:35] Psi-Jack вошёл(а) в комнату
[08:43:48] sattellite вышел(а) из комнаты: Replaced by new connection
[08:43:51] sattellite вошёл(а) в комнату
[08:45:23] sezuan вошёл(а) в комнату
[08:45:49] rom1dep вышел(а) из комнаты: unknown reason
[08:46:51] rom1dep вошёл(а) в комнату
[08:46:58] sattellite вышел(а) из комнаты
[08:47:51] Psi-Jack вышел(а) из комнаты: unknown reason
[08:50:53] sattellite вошёл(а) в комнату
[08:52:02] debalance вышел(а) из комнаты: Replaced by new connection
[08:52:03] debalance вошёл(а) в комнату
[09:03:00] stian вышел(а) из комнаты: Stream closed by us: Replaced by new connection (conflict)
[09:03:07] stian вошёл(а) в комнату
[09:03:45] sattellite вышел(а) из комнаты: Replaced by new connection
[09:03:46] sattellite вошёл(а) в комнату
[09:04:48] Holger вышел(а) из комнаты: Replaced by new connection
[09:04:54] Holger вошёл(а) в комнату
[09:05:10] <SouL> XMPP just needs more people to work on it. I really believe on the protocol.
[09:05:33] sattellite вышел(а) из комнаты
[09:06:18] debalance вышел(а) из комнаты
[09:18:14] pod вышел(а) из комнаты
[09:23:08] sattellite вошёл(а) в комнату
[09:25:54] anand вышел(а) из комнаты
[09:27:10] debalance вошёл(а) в комнату
[09:27:33] <edhelas> SouL, putting more people on a project doesn't solve everything
[09:28:03] <edhelas> this can work if you want to build a pyramid, but for stuff like XMPP you need a few people that want to change things
[09:29:37] anand вошёл(а) в комнату
[09:31:17] debalance вышел(а) из комнаты: Replaced by new connection
[09:31:21] debalance вошёл(а) в комнату
[09:32:25] <rom1dep> Yeah, please oh please make the next XMPP requiring gigabytes of RAM and call it homeserver, huh, homedatacenter
[09:33:00] sattellite вышел(а) из комнаты
[09:33:33] debalance вышел(а) из комнаты
[09:34:09] JabAlacer вышел(а) из комнаты
[09:34:27] JabAlacer вошёл(а) в комнату
[09:37:52] debalance вышел(а) из комнаты
[09:38:23] JabAlacer вышел(а) из комнаты
[09:38:30] JabAlacer вошёл(а) в комнату
[09:47:06] Psi-Jack вошёл(а) в комнату
[09:49:11] JabAlacer вышел(а) из комнаты
[09:49:15] SouL вышел(а) из комнаты: Disconnected: Replaced by new connection
[09:49:24] SouL вошёл(а) в комнату
[09:49:43] debalance вошёл(а) в комнату
[09:49:48] Psi-Jack вышел(а) из комнаты: unknown reason
[09:50:24] <SouL> edhelas, when I say more people, means more people actually doing something, of course :)
[09:52:00] pod вошёл(а) в комнату
[09:52:24] Holger вышел(а) из комнаты: Replaced by new connection
[09:52:52] debalance вошёл(а) в комнату
[09:53:00] Holger вошёл(а) в комнату
[09:54:00] sattellite вошёл(а) в комнату
[09:58:28] pod вышел(а) из комнаты
[09:59:57] debalance вышел(а) из комнаты: Replaced by new connection
[10:01:01] debalance вошёл(а) в комнату
[10:01:45] sergio вошёл(а) в комнату
[10:03:32] pod вошёл(а) в комнату
[10:05:17] stian вышел(а) из комнаты: Stream closed by us: Replaced by new connection (conflict)
[10:05:23] stian вошёл(а) в комнату
[10:06:12] rom1dep вошёл(а) в комнату
[10:06:17] rom1dep вышел(а) из комнаты
[10:06:45] rom1dep вошёл(а) в комнату
[10:06:46] rom1dep вышел(а) из комнаты
[10:07:06] rom1dep вошёл(а) в комнату
[10:09:14] sattellite вышел(а) из комнаты
[10:09:21] debalance вышел(а) из комнаты
[10:14:13] sezuan вышел(а) из комнаты: Replaced by new connection
[10:14:24] sezuan вошёл(а) в комнату
[10:19:28] pod вышел(а) из комнаты
[10:19:39] pod вошёл(а) в комнату
[10:25:25] zinid вошёл(а) в комнату
[10:29:31] debalance вошёл(а) в комнату
[10:35:09] debalance вошёл(а) в комнату
[10:37:35] hlad вошёл(а) в комнату
[10:37:36] debalance вышел(а) из комнаты
[10:39:15] stian вошёл(а) в комнату
[10:39:44] debalance вошёл(а) в комнату
[10:43:26] Misty вошёл(а) в комнату
[10:44:55] debalance вышел(а) из комнаты
[10:46:19] debalance вышел(а) из комнаты: Replaced by new connection
[10:46:38] marek.w вышел(а) из комнаты: Connection failed: connection closed
[10:47:22] sattellite вошёл(а) в комнату
[10:48:26] Psi-Jack вошёл(а) в комнату
[10:48:30] marek.w вошёл(а) в комнату
[10:52:18] Psi-Jack вышел(а) из комнаты: unknown reason
[10:52:23] sattellite вышел(а) из комнаты
[10:53:00] debalance вошёл(а) в комнату
[10:53:48] JabAlacer вошёл(а) в комнату
[10:55:23] stian вышел(а) из комнаты: Connection failed: connection closed
[10:56:28] debalance вошёл(а) в комнату
[10:59:27] JabAlacer вышел(а) из комнаты
[10:59:33] JabAlacer вошёл(а) в комнату
[11:01:29] debalance вышел(а) из комнаты: Replaced by new connection
[11:01:43] debalance вошёл(а) в комнату
[11:02:26] <edhelas> https://i.redd.it/x3rkv4uvdzez.png
[11:03:25] <zinid> lol
[11:04:37] <SouL> Great one :)
[11:06:45] debalance вышел(а) из комнаты
[11:07:24] <zinid> regarding our yesterday talk...
[11:07:32] <zinid> has anyone here tried Matrix?
[11:07:46] <edhelas> I do
[11:08:04] <zinid> you tried or you're using it?
[11:08:21] <edhelas> I tried, basically it's a web-IRC on steroids
[11:08:47] <edhelas> working fine with large chatrooms if you have a Octocore and 16Gb of RAM :troll:
[11:09:17] <zinid> ha, matrix community suffer from lack of good server implementation
[11:09:28] <zinid> the one python crap they have is, well, crap
[11:09:36] <edhelas> the protocol is also flawed
[11:10:58] <zinid> why?
[11:11:02] <zinid> complexity?
[11:11:58] debalance вошёл(а) в комнату
[11:12:24] <edhelas> well they have this "decentralized chatroom" thing, basically servers are duplicating chatrooms when a user join a room from another server
[11:12:38] JabAlacer вышел(а) из комнаты
[11:13:20] <edhelas> so if you have a Matrix instance on your RPi and one of your user is joining this huge chatroom with a large history, you can heat your house for a couple of hours from the ARM CPU
[11:13:33] <zinid> yeah
[11:14:38] <edhelas> also I'm wondering how it will be in 5 years, with many changes and new features
[11:14:51] <edhelas> for now they have this "core that includes everything you need"
[11:15:04] <edhelas> and they criticize XMPP and the hundreds of XEPs
[11:15:38] <edhelas> looks like we will have v2.0, v3.0… of the protocol with breaking features
[11:16:25] <zinid> yeah
[11:17:04] <zinid> and the reality that matrix is 5 years old and it's even less popular than jabber
[11:18:22] sattellite вошёл(а) в комнату
[11:18:24] debalance вышел(а) из комнаты
[11:19:23] <SouL> I thought Matrix was popular
[11:19:35] <SouL> (I never tried it)
[11:20:57] <SouL> edhelas, I've been a bit busy and I haven't been able to follow some discussions about v2.0 and such. Do you have any URL or some information I could look at?
[11:21:14] <edhelas> SouL, no I was just wondering about it
[11:21:35] cippaciong вышел(а) из комнаты
[11:21:45] cippaciong вошёл(а) в комнату
[11:22:39] <SouL> Ah ok :)
[11:26:49] rom1dep вышел(а) из комнаты: Machine going to sleep
[11:31:57] cippaciong вошёл(а) в комнату
[11:33:21] <rom1dep> It seems to me that matrix main strength is on the client side and marketing department. It'd be interesting to see if riot can be rewired to speak XMPP
[11:34:49] JabAlacer вошёл(а) в комнату
[11:36:33] sattellite вышел(а) из комнаты
[11:36:55] <JabAlacer> Well from privacy point if view I believe XMPP with OMEMO is better option. Also in past I tried to run my own node. It became horriable especialy in a Dev env. You are required to have  DNS server as well... so for me it needs some time.
[11:37:33] JabAlacer вышел(а) из комнаты: Disconnected: Replaced by new connection
[11:37:36] JabAlacer вошёл(а) в комнату
[11:39:21] debalance вышел(а) из комнаты
[11:42:29] sezuan вошёл(а) в комнату
[11:47:38] JabAlacer вышел(а) из комнаты
[11:50:54] Psi-Jack вошёл(а) в комнату
[11:54:30] debalance вошёл(а) в комнату
[11:55:28] marek.w вышел(а) из комнаты: Connection failed: connection closed
[11:55:31] Psi-Jack вышел(а) из комнаты: unknown reason
[11:55:31] marek.w вошёл(а) в комнату
[12:03:09] mimi89999 вышел(а) из комнаты
[12:03:13] mimi89999 вошёл(а) в комнату
[12:03:59] stian вошёл(а) в комнату
[12:04:25] anand вышел(а) из комнаты
[12:05:20] JabAlacer вошёл(а) в комнату
[12:05:43] <Holger> rom1dep: I think Riot is only nice for geeks.  You still see the IRC heritage everywhere.
[12:06:14] erik вошёл(а) в комнату
[12:07:11] <Holger> Well Riot/Matrix probably does work well as a Slack replacement for your workplace.
[12:07:26] <rom1dep> Holger: but don't you also see it all over the place on slack? That's not preventing it to be used in environments like marketing or bigcorp
[12:07:36] <rom1dep> Heh
[12:07:55] <zinid> I don't understand the hype around slack
[12:07:56] <Holger> Yes.  I guess it works in those environments; and for geeks that want a fancy IRC replacement.
[12:08:04] <Holger> It doesn't work as WhatsApp replacement.
[12:08:40] mimi89999 вышел(а) из комнаты
[12:08:59] <Holger> And I agree with edhelas regarding the protocol.
[12:09:41] <rom1dep> zinid: beacuse you are a tech person, you don't care about the frivolous. Unfortunately, adoption works on hype, novelty effect and tribalism
[12:10:39] <Holger> The sane part of Matrix is that everything is based on server-side storage.  This solves a bunch of issues XMPP is struggling with, as MAM was an afterthought.
[12:10:47] <zinid> well I see the same trends in IT inclined folks
[12:10:51] sattellite вошёл(а) в комнату
[12:10:55] <zinid> seems like new IT generation is degrading
[12:11:04] <zinid> and don't tell me I'm old :)
[12:11:17] <zinid> and cannot accept new
[12:11:20] mimi89999 вошёл(а) в комнату
[12:11:21] <zinid> there is nothing new
[12:11:36] <zinid> just going in circles with technologies from 1970s
[12:11:44] cippaciong вышел(а) из комнаты
[12:11:48] <Holger> True.  But you're old nevertheless :-)
[12:12:04] <zinid> but not useless! (c)
[12:12:24] <Holger> zinid: They're replacing their Python server with Go code BTW.
[12:12:44] <Holger> Or at least that was the plan.  Seems they have funding issues, big panic.
[12:12:48] <zinid> yeah
[12:13:11] <zinid> so they replace the language to yet another hyped crap
[12:13:15] <rom1dep> Yeah the level of hype in CS tech is one of the reasons that kept me away from making it my job
[12:14:34] jannic вышел(а) из комнаты
[12:14:37] <rom1dep> It's almost a shame to admit that some problem has a solution and implementation that dates back to the 70's
[12:14:43] mimi89999 вышел(а) из комнаты
[12:15:05] <zinid> rom1dep: like closures in Java? :P
[12:15:29] <Holger> edhelas: Chris merged the PEP import code BTW.
[12:16:31] <rom1dep> I'm so thankful that bridges aren't built the same way software is built.
[12:16:35] <edhelas> Holger, danke!
[12:16:51] sattellite вышел(а) из комнаты
[12:17:08] <Holger> De rien.
[12:18:40] mimi89999 вошёл(а) в комнату
[12:18:58] <zinid> never was a big fan of "all-server-side"
[12:19:11] erik вышел(а) из комнаты: offline
[12:19:31] <zinid> but this is a current trend: making a big mainframe out of Internet
[12:20:00] <Holger> You mean the Matrix design?
[12:20:03] <zinid> definitely a circle: mainframe -> arpa-net -> internet -> mainframe :)
[12:20:15] <edhelas> Holger, I also noticed that Movim reacted way faster with ejabberd, the Pubsub IQ answers are handled more quickly
[12:20:17] <zinid> Holger: I mean everything is going in this direction, including matrix, yes
[12:20:17] erik вошёл(а) в комнату
[12:20:36] sattellite вошёл(а) в комнату
[12:21:07] erik вышел(а) из комнаты: offline
[12:21:07] mimi89999 вышел(а) из комнаты
[12:21:19] <Holger> I wasn't aware you had any special interest in p2p stuff, was a little surprised the other day when you mentioned it.
[12:21:21] mimi89999 вошёл(а) в комнату
[12:21:29] <Holger> I'm the opposite.
[12:21:30] erik вошёл(а) в комнату
[12:21:41] <Holger> I like fat servers and dumb clients.
[12:21:52] <Holger> I think it works better.
[12:22:08] <Holger> And Mainframes looked cool.
[12:22:14] stian вышел(а) из комнаты: Connection failed: connection closed
[12:22:17] jannic вошёл(а) в комнату
[12:22:18] <rom1dep> I like dumb clients to still work when big server is drunk
[12:22:40] <Holger> I prefer buggy stuff.
[12:23:00] <zinid> Holger: the problem is that there are still some unresolved issues in p2p computing
[12:23:19] <zinid> computer science wise
[12:23:28] <zinid> but it's moving forward
[12:23:54] <Holger> Yeah I'm just not sure what problem you're solving by getting rid of servers.
[12:24:15] <zinid> Holger: blocking mostly
[12:24:22] <erik> zinid, I'd agree with you. Everything on one fat server is easier to get "everything updated" but when it doesn't work, *nothing* works...
[12:24:31] <zinid> Holger: let's say tomorrow Putin will block Google, what will I do?
[12:24:32] sattellite вышел(а) из комнаты
[12:25:03] <erik> Holger, having everything run centrally assumes nobody rips away "central"
[12:25:04] <zinid> you might not see this as a problem until you're in a relatively free contry
[12:25:06] <edhelas> I think the best solution lays between fully centralized services like GAFAM and fully P2P stuff
[12:25:13] <rom1dep> zinid: move to Denmark
[12:25:14] <edhelas> Federation is already kinda great
[12:25:28] JabAlacer вышел(а) из комнаты
[12:25:44] <Holger> zinid: Yes then I get the point.  I ignore politics.  I'm interested in the best tech assuming a sane world.  To cope with politics you need different tech indeed.
[12:25:51] <rom1dep> zinid: tor and VPNs ftw
[12:27:01] <rom1dep> But CAP theorems
[12:27:03] <zinid> rom1dep: TOR sucks, you need to pass captcha challenges on almost every site ;)
[12:27:15] <zinid> not to mention shitty speed
[12:27:19] debalance вышел(а) из комнаты
[12:27:45] JabAlacer вошёл(а) в комнату
[12:27:58] <zinid> Holger: this is not solely politics related, this is about fault-tolerance, politics is just some point of failure
[12:29:04] <zinid> in China for example PPLive is very popular
[12:29:14] <zinid> damn, they build youtube using p2p
[12:29:54] <zinid> and actually I'm not agains servers at all, you can still build hybrid p2p network
[12:30:22] cippaciong вышел(а) из комнаты
[12:30:59] <rom1dep> Which again was this music streaming service that used to work well P2P and they put a lot of effort and money to centralise
[12:31:05] <rom1dep> Spotify maybe
[12:31:31] anand вошёл(а) в комнату
[12:32:08] <zinid> you cannot monetize p2p
[12:32:29] badlop вошёл(а) в комнату
[12:33:07] <edhelas> zinid, P2P doesn't offer good discoverability/search features
[12:33:23] <edhelas> most of the time you have centralized indexes to make the search easy
[12:33:31] <edhelas> like for .torrent
[12:33:46] <edhelas> you can monetize those indexes
[12:37:33] <rom1dep> Or Google (index) and the internet(bgp)?
[12:38:45] <edhelas> yup
[12:39:14] <zinid> sane
[12:39:38] <edhelas> people can pay (or gives personnal data, same thing) to have a decent search feature in return
[12:42:23] Holger вышел(а) из комнаты: Replaced by new connection
[12:42:34] Holger вошёл(а) в комнату
[12:42:59] sattellite вошёл(а) в комнату
[12:47:28] <rom1dep> Coffee Lake, I like Intel's new gen name
[12:51:15] debalance вошёл(а) в комнату
[12:51:56] JabAlacer вышел(а) из комнаты: Disconnected: Replaced by new connection
[12:51:58] JabAlacer вошёл(а) в комнату
[12:53:14] cippaciong вошёл(а) в комнату
[12:56:17] debalance вышел(а) из комнаты: Replaced by new connection
[12:56:23] debalance вошёл(а) в комнату
[12:58:56] <rom1dep> https://tamytro.org:5443/upload/a3849b367f4dd4cedd5ad6f64afa7645b7d4f834/Qj4xHUDPeNDiLOY9xJFJWCEZeRXfFMiKvorXb98J/gQyvTsukS3ebKi1vWTK5-Q.jpg
[12:59:02] <rom1dep> edhelas: lol
[12:59:13] debalance вышел(а) из комнаты: Replaced by new connection
[13:00:22] debalance вошёл(а) в комнату
[13:00:47] sattellite вышел(а) из комнаты
[13:02:16] <JabAlacer> zinid, Holger: Guys... Well XMPP has both you can have Fat Servers and Federation.... and this is why it seems to be a little in trouble from Dev. Perspective. These days developers wants cloud powerd PaaS and think clients to write.. quick and sometimes dirty to make money but other aspects then techs get ignored... I think we can change the XMPP arch to somewhat threema arch with fedration for Key Servers then we can solve issues...
[13:03:02] sattellite вошёл(а) в комнату
[13:05:08] cippaciong вышел(а) из комнаты
[13:05:26] JabAlacer вышел(а) из комнаты: Disconnected: Replaced by new connection
[13:05:30] JabAlacer вошёл(а) в комнату
[13:05:57] Holger вышел(а) из комнаты: Replaced by new connection
[13:06:05] cippaciong вошёл(а) в комнату
[13:06:16] Holger вошёл(а) в комнату
[13:06:21] debalance вышел(а) из комнаты
[13:14:00] sattellite вышел(а) из комнаты
[13:14:12] sattellite вошёл(а) в комнату
[13:19:14] debalance вошёл(а) в комнату
[13:20:06] mimi89999 вышел(а) из комнаты: Disconnected: Replaced by new connection
[13:20:10] mimi89999 вошёл(а) в комнату
[13:21:59] cippaciong вышел(а) из комнаты
[13:23:32] cippaciong вошёл(а) в комнату
[13:25:33] <Holger> zinid: Wow quite a diff to remove that send_loop.
[13:25:42] <Holger> I wonder whether PEP will still work with 17.08 :-)
[13:25:54] <zinid> Holger: we tested it 2 days with crhis
[13:26:11] <zinid> still fixing something, see recent commit
[13:26:37] debalance вышел(а) из комнаты
[13:26:38] <Holger> Arrrrgh first new comment I see in the code "pep_from_offline hack can not work anymore [...] does it make sens to send PEP from an offline contact anyway ?".
[13:26:38] <zinid> well I was actually against the fix before the release, but seems like chris wanted it very much
[13:26:57] <Holger> Turning around in circles.
[13:27:15] JabAlacer вышел(а) из комнаты
[13:27:17] JabAlacer вошёл(а) в комнату
[13:27:22] JabAlacer вышел(а) из комнаты: Disconnected: Replaced by new connection
[13:27:26] JabAlacer вошёл(а) в комнату
[13:27:43] <zinid> Holger: cannot say, I'm really zero in pubsub/pep stuff
[13:28:14] <Holger> I won't get your avatar when you're offline.
[13:28:19] JabAlacer вышел(а) из комнаты: Disconnected: Replaced by new connection
[13:28:23] JabAlacer вошёл(а) в комнату
[13:28:39] <Holger> Like it was some years ago.
[13:28:40] JabAlacer вышел(а) из комнаты
[13:28:47] JabAlacer вошёл(а) в комнату
[13:28:54] JabAlacer вышел(а) из комнаты
[13:29:12] JabAlacer вошёл(а) в комнату
[13:29:14] <zinid> I asked chris to join, you can ask him in a few minutes
[13:29:54] cromain вошёл(а) в комнату
[13:29:59] <Holger> Thanks, not important though.  I'm sure reverting is not an option, and I can look myself how to fix this :-)
[13:30:06] <cromain> hi
[13:30:13] <Holger> Hi!
[13:30:13] debalance вышел(а) из комнаты
[13:31:11] <zinid> cromain: will pep avatars work if a publisher is offline?
[13:31:51] sattellite вышел(а) из комнаты
[13:33:01] <cromain> likely no, until we add an extra handler, cause for now we route pep message to sender's c2s so we check receiver caps
[13:33:23] <Holger> The answer to "does it make sens to send PEP from an offline contact anyway" is clearly yes :-)
[13:33:34] <cromain> but this should be doable to go a different way in send_stanza, dy bypass the sender's c2s as long as we can check receiver caps
[13:33:47] <Holger> I think I added a hack some time ago to get the CAPS from the recipients c2s process if the sender is offline.
[13:34:24] <Holger> But I think the proper solution is to store CAPS globally and stop relying on c2s for this.
[13:34:36] <Holger> I've been meaning to do this for ages.
[13:34:55] <cromain> i would be happy to keep pep_message though sender's pid only on broadcast_stanza, and get send_stanza use different way, this will make you happy also :)
[13:34:57] <zinid> ah
[13:35:03] cippaciong вышел(а) из комнаты
[13:35:08] sattellite вошёл(а) в комнату
[13:35:38] <Holger> cromain: My idea was to no longer cache CAPS in the c2s process at all.
[13:36:13] <zinid> Holger: there is a problem
[13:36:23] <Holger> I might be overlooking something but I don't see a reason to cache them in c2s.  It just wastes memory because the same CAPS are stored in possibly many processes.
[13:36:27] <zinid> Holger: how to lookup the needed caps? by LJID, I guess?
[13:36:45] <zinid> or JID, or what/
[13:36:46] <zinid> ?
[13:37:23] <zinid> another question is what if a user provides different caps to different users? can it be the case?
[13:37:29] <Holger> I need the roster of course, but you implemented a global cache for that already I think?
[13:37:41] <Holger> LJID vs. JID no idea.  Is that important?
[13:37:47] <zinid> yes, rosters don't get stored in c2s state anymore
[13:38:02] cippaciong вошёл(а) в комнату
[13:38:11] <Holger> zinid: The XEP explicitly mentions that "different caps to different users" won't work precisely for this reason.
[13:38:25] <zinid> Holger: well, yes, it's important, because every LJID represent its own caps
[13:38:37] <zinid> ah, ok then
[13:38:59] <zinid> by JID I mean bare JID, sorry
[13:39:04] <Holger> Ah! :-)
[13:39:26] <Holger> Yes you need the full JID.
[13:39:29] debalance вошёл(а) в комнату
[13:39:54] <zinid> so we need to maintain "full LJID" -> caps mapping, right?
[13:40:13] JabAlacer вышел(а) из комнаты
[13:41:49] <Holger> Yes.
[13:41:55] <zinid> ok
[13:42:21] <cromain> zinid: what is caps is cached on recipient's c2s instead ? acting as filter before delivery to socket
[13:42:39] <Holger> Won't work for remote contacts.
[13:42:49] <zinid> cromain: not very great idea
[13:42:50] <Holger> And as I said it wastes memory no?
[13:42:55] <cromain> indeed
[13:43:05] <Holger> Compared to a global cache I mean.
[13:43:16] <zinid> yes it is, and makes requesting caps complex (due to sync calls into c2s processes)
[13:44:00] <zinid> recently it used to work that way, but without caching it worked terribly
[13:44:00] sattellite вышел(а) из комнаты
[13:44:15] <zinid> I mean there used to be a global cache
[13:44:30] <zinid> now with ets_cache it should work ok
[13:45:09] <Holger> Ah, yes I think I've seen that mod_caps was running a process to store the CAPS in the past.
[13:45:26] <zinid> yep, bringing all ejabberd down :)
[13:45:40] <Holger> There was some unused/leftover start()/stop() functions or something that confused me :-)
[13:46:14] <cromain> another possibility to avoid big changes until we get a better design, as send_stanza is just about delivering last pep when you connect, we can just route pep to you without caps checks. no big deal if client do not handle the stanza. this could be a temporary behaviour until we get this caps improvements for good
[13:47:20] <cromain> not clean but make pep from offline contact work
[13:49:33] cippaciong вышел(а) из комнаты
[13:49:34] <zinid> back in the days people get crazy receiving stanzas the don't support
[13:49:49] <zinid> blowing an elephant out of a fly
[13:51:15] <zinid> what I really don't understand is why we need to keep caps of offlined contact?
[13:51:29] <zinid> this doesn't make sense to me
[13:51:53] <cromain> for me either ... but i may miss something as i almost not using pep
[13:52:05] <edhelas> zinid, to have that https://nl.movim.eu/?about#caps_widget
[13:52:48] <zinid> oh yes, very important table ;)
[13:53:17] <zinid> how can we keep caps (read features) of something which is disconnected?
[13:53:28] <zinid> we don't know what client will connect next time on this resource
[13:53:46] <zinid> of course, there is a high probability it will be the same client
[13:54:51] debalance вышел(а) из комнаты
[13:54:55] <zinid> edhelas: I'm talking about JID => caps mapping, not about CAPS => features mapping
[13:55:10] <zinid> caps => features mapping of course don't change and we need to keep it persistently
[13:55:58] Psi-Jack вошёл(а) в комнату
[13:56:09] <Holger> zinid: Hah you're right, this assumes stable resource strings; while everyone tells me we should no longer assume that.
[13:56:13] <Holger> Never noticed.
[13:56:54] debalance вошёл(а) в комнату
[13:57:05] <Holger> But if we break it for offline contacts we'll break avatars and OMEMO for them and last time we did that they yelled lowdely.
[13:57:23] <Holger> Then again you're right that (other) people also yell lowdely if we send unwanted stanzas.
[13:57:35] JabAlacer вошёл(а) в комнату
[13:57:40] <Holger> At least I finally found that sentence I meant in the XEP!
[13:57:55] <Holger> > a client can request notifications only on a global basis and cannot request, say, mood information only from certain contacts in the user's roster. Community consensus is that this is an acceptable tradeoff.
https://xmpp.org/extensions/xep-0060.html#filtered-notifications
[13:58:17] <zinid> community consensus my ass
[13:58:22] <Holger> :-)
[13:58:35] Psi-Jack вышел(а) из комнаты
[13:59:04] JabAlacer вышел(а) из комнаты
[13:59:11] JabAlacer вошёл(а) в комнату
[13:59:37] <cromain> about dropping caps check on send_stanza (as immediate solution to send last pep from offline), we will send "unsupported" packets to some clients only at login. i think we can consider this option and fix the caps check in this particular situation as a future fix.
[13:59:53] <cromain> such client won't receive unsupported live pep
[14:00:08] <cromain> this concerts only send last at login
[14:01:13] <Holger> I didn't check the code yet.  What happens for live PEP?
[14:01:28] <Holger> Ah then we have all CAPS :-)
[14:01:31] <Holger> More coffee.
[14:01:35] <cromain> they pass through broadcast_stanza, which uses sender's c2s
[14:01:40] <Holger> Yes sorry.
[14:01:47] <cromain> while send last pep pass through send_stanza
[14:02:27] <cromain> on live pep, sender is online, so there are no problems
[14:03:25] <Holger> zinid:
[14:03:28] <Holger> > what I really don't understand is why we need to keep caps of offlined contact?
[14:04:12] <Holger> Actually, did I say we need that?  I guess that was nonsense then.
[14:04:44] <Holger> What we need is keeping CAPS of my online contacts even if I go offline.
[14:06:42] vingausaid вышел(а) из комнаты: Replaced by new connection
[14:06:43] vingausaid вошёл(а) в комнату
[14:08:04] <zinid> ah
[14:08:13] <zinid> I misunderstood then
[14:08:19] <zinid> yes, that makes sense
[14:08:58] cippaciong вошёл(а) в комнату
[14:09:04] <zinid> with current design of course we cannot do this
[14:09:24] <zinid> let me check the workload to rewrite mod_caps
[14:09:40] marek.w вышел(а) из комнаты: Connection failed: connection closed
[14:09:45] marek.w вошёл(а) в комнату
[14:10:14] JabAlacer вышел(а) из комнаты
[14:10:53] marek.w вышел(а) из комнаты: Connection failed: connection closed
[14:11:20] marek.w вошёл(а) в комнату
[14:11:32] <cromain> rewrite would require storing cache somewhere else at performance cots, and what about cluster sync the ?
[14:11:58] marek.w вышел(а) из комнаты: Connection failed: connection closed
[14:12:00] marek.w вошёл(а) в комнату
[14:12:57] <zinid> I don't think the table needs to be replicated
[14:13:17] <zinid> just like caps_features is not replicated
[14:13:34] <Holger> Is there necessarily a performance cost?  Right now mod_pubsub queries ejabberd_c2s which might also run on a remote node, no?
[14:14:21] <zinid> cromain: using cache in front a database will reduce the costs
[14:14:55] <zinid> for example, we're using cache for caps_features, did you notice any performance penalty?
[14:15:00] stian вышел(а) из комнаты: Connection failed: connection closed
[14:16:06] <cromain> simpler approach would be to get caps in recipient's c2s, and for remote servers, we can keep s2s cache only for remote users
[14:16:14] marek.w вышел(а) из комнаты: Connection failed: connection closed
[14:16:16] marek.w вошёл(а) в комнату
[14:16:23] <rom1dep> cromain: salut ! Eager to test the new packaging changes 😊
[14:16:44] <Holger> cromain: What's the advantage of (also) caching in c2s?
[14:16:46] marek.w вышел(а) из комнаты: Connection failed: connection closed
[14:16:48] marek.w вошёл(а) в комнату
[14:17:27] <cromain> Holger: you just filter packet in current context, without quering another process or service.
[14:17:51] marek.w вышел(а) из комнаты: Connection failed: connection closed
[14:17:56] marek.w вошёл(а) в комнату
[14:17:59] rom1dep вошёл(а) в комнату
[14:18:03] rom1dep вышел(а) из комнаты
[14:18:03] <cromain> rom1dep: great, now rpm/deb upgrade keeps current config and database, it's simple to play with
[14:18:25] <cromain> this without changing our default binary installer
[14:19:01] marek.w вышел(а) из комнаты: Connection failed: connection closed
[14:19:11] marek.w вошёл(а) в комнату
[14:19:16] <zinid> cromain: please keep joined this room and rom1dep will tell you everything he thinks about our installers and packages after the release :D
[14:19:18] kahlb вышел(а) из комнаты
[14:21:45] cippaciong вышел(а) из комнаты
[14:23:12] rom1dep вошёл(а) в комнату
[14:24:25] <Holger> cromain: Maybe I'm overlooking something.  Currently mod_pubsub:send_stanza() routes a {pep_message, ...} to the ejabberd_c2s process.  And then mod_pubsub:c2s_handle_info() waits for the {pep_message, ...}.  No?
[14:25:08] <rom1dep> zinid: wowh, great idea 😁
[14:26:27] <Holger> cromain: So basically mod_pubsub queries ejabberd_c2s, two Erlang messages are passed, no?  My suggestion was to send a single query to mod_caps / ets_cache / whatever instead.
[14:27:36] <cromain> Holger: on live pep -> broadcast_stanza sends pep_message to handler at line 2851, on last pep -> send_stanza sends pep_message to handler at line 2856
[14:28:16] <cromain> the 1st broadcast payload to contacts with caps, 2nd sends to one recipient if caps allow
[14:28:32] rom1dep вышел(а) из комнаты
[14:30:13] stian вошёл(а) в комнату
[14:30:59] de-facto вошёл(а) в комнату
[14:31:20] debalance вошёл(а) в комнату
[14:31:26] <cromain> Holger: yes, we could send 1 msg to caps service, which will the route stanza if allowed. but then caps process will have to eat lots of messages. having this check done by c2s prevent process flood.
[14:31:40] <cromain> with current design user sending millions of caps floods only it's own session
[14:31:58] <zinid> brb
[14:33:16] <Holger> cromain: Ah. Hm.
[14:35:18] JabAlacer вошёл(а) в комнату
[14:35:54] anand вышел(а) из комнаты
[14:37:20] debalance вышел(а) из комнаты
[14:38:24] <JabAlacer> zinid: any Update on 17.08 releaae...schedule...
[14:38:48] JabAlacer вышел(а) из комнаты
[14:38:54] JabAlacer вошёл(а) в комнату
[14:39:28] sattellite вошёл(а) в комнату
[14:41:24] marek.w вышел(а) из комнаты: Connection failed: connection closed
[14:41:26] marek.w вошёл(а) в комнату
[14:42:03] marek.w вышел(а) из комнаты: Connection failed: connection closed
[14:42:06] marek.w вошёл(а) в комнату
[14:42:19] JabAlacer вышел(а) из комнаты
[14:42:26] JabAlacer вошёл(а) в комнату
[14:42:28] cippaciong вошёл(а) в комнату
[14:47:06] debalance вошёл(а) в комнату
[14:47:14] sattellite вышел(а) из комнаты
[14:47:18] debalance вошёл(а) в комнату
[14:51:29] <Holger> Well I don't now.  Having different cache locations for local and remote users sounds ugly to me.  But I have no better solution to flooding than shapers.
[14:53:00] rom1dep вышел(а) из комнаты: unknown reason
[14:55:14] JabAlacer вышел(а) из комнаты
[14:56:37] anand вошёл(а) в комнату
[14:57:29] Psi-Jack вошёл(а) в комнату
[14:57:29] debalance вышел(а) из комнаты
[14:58:00] de-facto вышел(а) из комнаты
[14:58:19] de-facto вошёл(а) в комнату
[15:00:32] sattellite вошёл(а) в комнату
[15:01:28] Psi-Jack вышел(а) из комнаты: unknown reason
[15:01:47] debalance вышел(а) из комнаты
[15:01:49] JabAlacer вошёл(а) в комнату
[15:03:12] JabAlacer вышел(а) из комнаты: Disconnected: Replaced by new connection
[15:03:16] JabAlacer вошёл(а) в комнату
[15:03:31] sattellite вышел(а) из комнаты
[15:03:53] JabAlacer вышел(а) из комнаты
[15:04:00] JabAlacer вошёл(а) в комнату
[15:05:41] stian вышел(а) из комнаты: Connection failed: connection closed
[15:06:03] <cromain> Holger: i see only 2 simple solutions
[15:06:05] stian вошёл(а) в комнату
[15:06:52] jere вошёл(а) в комнату
[15:06:55] JabAlacer вышел(а) из комнаты
[15:06:56] caffey вышел(а) из комнаты
[15:07:10] debalance вошёл(а) в комнату
[15:07:13] JabAlacer вошёл(а) в комнату
[15:08:20] jere вышел(а) из комнаты
[15:08:21] <cromain> a. keep current design and send last pep regardless of recipient caps only at login
b. move caps cache to recipient's c2s, and let s2s router handle a cache for remote contacts
[15:09:57] debalance вошёл(а) в комнату
[15:14:11] de-facto вышел(а) из комнаты
[15:15:00] debalance вышел(а) из комнаты
[15:16:30] jere вошёл(а) в комнату
[15:16:48] <cromain> let say what zinid about option c with complete refactor, but i guess it would be more complex approach.
[15:18:10] <cromain> s/say what zinid/see what zinid think/
[15:21:38] sattellite вошёл(а) в комнату
[15:22:35] marek.w вышел(а) из комнаты: Connection failed: connection closed
[15:22:49] marek.w вошёл(а) в комнату
[15:22:49] cippaciong вышел(а) из комнаты
[15:23:07] cippaciong вошёл(а) в комнату
[15:23:53] rom1dep вошёл(а) в комнату
[15:24:22] sulci вышел(а) из комнаты
[15:24:23] rom1dep вышел(а) из комнаты
[15:24:32] zinid вышел(а) из комнаты
[15:25:13] anand вышел(а) из комнаты
[15:25:38] marek.w вышел(а) из комнаты: Stream closed by us: Replaced by new connection (conflict)
[15:25:39] marek.w вошёл(а) в комнату
[15:28:16] sezuan вышел(а) из комнаты
[15:31:00] sattellite вышел(а) из комнаты
[15:31:10] jodok вышел(а) из комнаты: Replaced by new connection
[15:31:16] jodok вошёл(а) в комнату
[15:31:42] cippaciong вошёл(а) в комнату
[15:32:30] caffey вошёл(а) в комнату
[15:32:36] cippaciong вышел(а) из комнаты
[15:34:04] vingausaid вышел(а) из комнаты: Replaced by new connection
[15:34:05] vingausaid вошёл(а) в комнату
[15:34:12] cippaciong вошёл(а) в комнату
[15:35:16] vingausaid вышел(а) из комнаты: Replaced by new connection
[15:35:19] vingausaid вошёл(а) в комнату
[15:36:13] vingausaid вышел(а) из комнаты: Replaced by new connection
[15:36:15] vingausaid вошёл(а) в комнату
[15:37:04] andrey.g вошёл(а) в комнату
[15:37:28] vingausaid вышел(а) из комнаты: Replaced by new connection
[15:37:31] vingausaid вошёл(а) в комнату
[15:39:39] Marzanna вошёл(а) в комнату
[15:39:46] rom1dep вошёл(а) в комнату
[15:40:52] rom1dep вошёл(а) в комнату
[15:41:36] <rom1dep> [error] <0.9118.7> CRASH REPORT Process <0.9118.7> with 1 neighbours exited with reason: {timeout,{gen_server,call,['ejabberd_sqlite_server.tld'
,{sql_exec,"pragma foreign_keys = on"}]}} in p1_fsm:terminate/8 line 760
[15:41:47] <rom1dep> humm…
[15:44:55] debalance вышел(а) из комнаты
[15:47:36] cippaciong вышел(а) из комнаты
[15:48:10] cippaciong вошёл(а) в комнату
[15:49:59] stian вышел(а) из комнаты: Stream closed by us: Replaced by new connection (conflict)
[15:50:24] stian вошёл(а) в комнату
[15:51:34] stian вышел(а) из комнаты: Stream closed by us: Replaced by new connection (conflict)
[15:51:51] stian вошёл(а) в комнату
[15:55:53] rom1dep вышел(а) из комнаты
[15:56:15] Psi-Jack вошёл(а) в комнату
[15:59:10] debalance вошёл(а) в комнату
[16:03:31] zinid вошёл(а) в комнату
[16:04:44] jeremy вышел(а) из комнаты: Replaced by new connection
[16:08:15] pod вышел(а) из комнаты
[16:09:43] <zinid> sorry, I missed the discussion, had to visit a doctor
[16:09:50] <zinid> what flood are you talking about?
[16:11:48] Psi-Jack вышел(а) из комнаты: Connection failed: connection closed
[16:11:55] cromain вышел(а) из комнаты
[16:12:26] cromain вошёл(а) в комнату
[16:12:32] marek.w вышел(а) из комнаты: Connection failed: connection closed
[16:12:50] marek.w вошёл(а) в комнату
[16:13:35] pod вышел(а) из комнаты
[16:15:08] <cromain> i think you don't missed anything
[16:16:05] <cromain> zinid: we have to decide what option we choose for 17.08.
[16:16:08] <zinid> I really don't understand why we need  some separate caps process
[16:16:31] <cromain> i also agree this is not good solution, we had this before and was really bad
[16:19:16] <Holger> Well today it would be the ets_cache process right?
[16:19:50] <Holger> But cromain probably sees the same issue there?
[16:19:53] <zinid> ets_cache process doesn't store anything, it only process external cache modifications (from other nodes)
[16:19:53] <Holger> Anyway, BBL.
[16:20:12] <Holger> Ah right, other than that's it's just ETS.
[16:20:17] <zinid> yep
[16:20:31] <zinid> and you don't even look up via it
[16:23:09] sulci вошёл(а) в комнату
[16:24:05] <cromain> instead of [{USR,Caps}] in sender's c2s, we can have just own Caps in receiver c2s, do filtering here, and let s2s cache the external user caps and to the filtering by itself. what is wrong with this approach ?
[16:24:12] cippaciong вышел(а) из комнаты
[16:25:27] <cromain> except s2s have to parse presence to get caps and parse pep packets
[16:26:22] sattellite вошёл(а) в комнату
[16:26:32] <zinid> dunno, I don't understand use case and the problem
[16:26:50] <zinid> why can't we have a global table? like we do for rosters now?
[16:27:02] <zinid> this looks easier to implement and use
[16:27:34] <cromain> you replicate entire table in cluster ?
[16:27:36] <zinid> and eats less memory
[16:27:47] <zinid> hell, of course no, why would I?
[16:28:17] cippaciong вошёл(а) в комнату
[16:28:20] <cromain> you're right, we only need to have it on receiver's node
[16:28:38] <cromain> and send last pep is done on receiver's node
[16:29:03] <zinid> the replication doesn't make sense with caps_features non-replicated, and we don't have caps_features replicated and everything works
[16:29:36] caffey вышел(а) из комнаты
[16:29:46] <zinid> I don't even think we need to keep this table on disc
[16:29:48] <zinid> pure ets table
[16:30:17] <zinid> and ets is very memory effective (unlike c2s states)
[16:33:42] <zinid> ah, there is caps_update/caps_add hooks, which create problems
[16:33:50] sattellite вышел(а) из комнаты
[16:34:38] cippaciong вышел(а) из комнаты
[16:34:54] mimi89999 вышел(а) из комнаты
[16:35:08] jeremy вошёл(а) в комнату
[16:35:10] mimi89999 вошёл(а) в комнату
[16:36:23] sattellite вошёл(а) в комнату
[16:36:31] cippaciong вошёл(а) в комнату
[16:38:29] debalance вышел(а) из комнаты
[16:39:39] stian вышел(а) из комнаты: Stream closed by us: Replaced by new connection (conflict)
[16:39:44] stian вошёл(а) в комнату
[16:40:38] anand вошёл(а) в комнату
[16:40:40] stian вышел(а) из комнаты: Connection failed: connection closed
[16:40:47] JabAlacer вышел(а) из комнаты
[16:41:23] stian вошёл(а) в комнату
[16:42:05] sattellite вышел(а) из комнаты
[16:46:56] sattellite вошёл(а) в комнату
[16:47:02] jeremy вышел(а) из комнаты
[16:48:41] <cromain> when sender is online, sender will check receiver's caps, if sender is not on same node than receiver, how does it work ?
[16:50:18] JabAlacer вошёл(а) в комнату
[16:51:37] caffey вошёл(а) в комнату
[16:54:14] <zinid> dunno
[16:54:33] <zinid> how does it work now? caps_features is not replicated
[16:55:41] sattellite вышел(а) из комнаты
[16:57:01] <zinid> as I said the main problem for me is caps_update/caps_add hooks, we cannot trigger them if we use global LJID => caps table
[16:58:01] Psi-Jack вышел(а) из комнаты
[16:58:13] Psi-Jack вошёл(а) в комнату
[17:00:15] debalance вышел(а) из комнаты
[17:00:38] <zinid> edhelas: is it possible to subscribe to all new posts from all pods/servers/whatever you call it
[17:01:27] <zinid> I can do this using twitter streams API :)
[17:01:32] JabAlacer вышел(а) из комнаты
[17:03:17] JabAlacer вошёл(а) в комнату
[17:03:42] anand вышел(а) из комнаты
[17:04:29] andrey.g вышел(а) из комнаты
[17:07:17] <edhelas> zinid, nope
[17:07:25] cippaciong вышел(а) из комнаты
[17:07:50] cippaciong вошёл(а) в комнату
[17:08:15] marek.w вышел(а) из комнаты: Connection failed: connection closed
[17:08:19] marek.w вошёл(а) в комнату
[17:10:19] pod вошёл(а) в комнату
[17:15:14] JabAlacer вышел(а) из комнаты
[17:15:14] zinid вышел(а) из комнаты
[17:15:14] zinid вышел(а) из комнаты
[17:15:21] zinid вошёл(а) в комнату
[17:15:46] zinid вошёл(а) в комнату
[17:16:05] JabAlacer вошёл(а) в комнату
[17:17:40] anand вошёл(а) в комнату
[17:19:07] sattellite вошёл(а) в комнату
[17:21:30] debalance вошёл(а) в комнату
[17:27:20] sattellite вышел(а) из комнаты
[17:28:26] JabAlacer вышел(а) из комнаты
[17:29:09] sattellite вошёл(а) в комнату
[17:30:18] JabAlacer вошёл(а) в комнату
[17:32:58] vingausaid вышел(а) из комнаты: Replaced by new connection
[17:32:59] vingausaid вошёл(а) в комнату
[17:36:20] sattellite вышел(а) из комнаты
[17:40:17] marek.w вышел(а) из комнаты: Connection failed: connection closed
[17:40:20] marek.w вошёл(а) в комнату
[17:41:44] hlad вышел(а) из комнаты
[17:49:36] debalance вошёл(а) в комнату
[17:53:25] marek.w вышел(а) из комнаты: Connection failed: connection closed
[17:54:17] marek.w вошёл(а) в комнату
[17:55:02] debalance вышел(а) из комнаты
[17:58:10] marek.w вышел(а) из комнаты: Connection failed: connection closed
[17:58:32] marek.w вошёл(а) в комнату
[18:02:15] jannic вышел(а) из комнаты
[18:09:21] debalance вошёл(а) в комнату
[18:10:20] JabAlacer вышел(а) из комнаты: Disconnected: Replaced by new connection
[18:10:23] JabAlacer вошёл(а) в комнату
[18:11:04] <Holger> zinid: caps_features is different because it's really just a cache.  If a feature is missing in the cache the client is queried on-demand.  This won't work with the JID->Hash mapping because we can't query the client for that.
[18:11:46] <Holger> So I fear this does need to be replicated across nodes.
[18:12:01] <zinid> not a big problem
[18:13:10] <zinid> Holger: what to do with caps_update/caps_add hooks? we need both from and to in order to trigger the hooks
[18:13:26] <zinid> yet another table?
[18:13:33] <zinid> looks ugly
[18:14:03] <Holger> Just got back to my desk, I'll try to understand the problem.
[18:14:16] <zinid> the problem is quite simple
[18:14:28] sattellite вошёл(а) в комнату
[18:14:36] <zinid> if caps is new, we call caps_add(From, To, Caps)
[18:14:46] <zinid> how to check if the caps is new to a user?
[18:15:27] <zinid> calling the hooks without To argument?
[18:16:56] <zinid> and these hooks are used by pubsub
[18:17:04] debalance вышел(а) из комнаты
[18:17:04] debalance вышел(а) из комнаты
[18:17:05] cippaciong вышел(а) из комнаты
[18:17:12] <zinid> we cannot get rid of them
[18:18:34] anand вышел(а) из комнаты
[18:18:54] <Holger> I'm trying to understand why we're using To at all right now.
[18:18:59] <Holger> Rather than From.
[18:19:07] andrey.g вошёл(а) в комнату
[18:19:36] <zinid> -spec caps_update(jid(), jid(), [binary()]) -> ok.
caps_update(#jid{lserver = S1} = From, #jid{lserver = S2} = To, _Features)
  when S1 =/= S2 ->
    send_last_pep(To, From).
[18:21:00] <zinid> strange function
[18:21:07] <zinid> can't we get function clause here?
[18:21:31] <Holger> Yes I see that but don't understand it :-)  We send the PEP item only for remote users?
[18:21:36] <Holger> And that.
[18:22:20] <zinid> that's new brand code from cromain ;)
[18:22:25] <zinid> cromain: wtf?
[18:23:12] <zinid> what a spaghetti...
[18:24:50] <zinid> I also don't understand. Let's say I changed my avatar while my contact is offline, then I go offline and my contact later goes online, will (s)he receive the notification event about avatar change?
[18:25:28] <Holger> He *should*.  And it worked before for if your contact was on the local server.
[18:27:53] cippaciong вышел(а) из комнаты
[18:29:20] cippaciong вошёл(а) в комнату
[18:29:25] debalance вошёл(а) в комнату
[18:30:59] sergio вышел(а) из комнаты: Replaced by new connection
[18:31:11] sergio вошёл(а) в комнату
[18:31:30] <Holger> Seems we don't use the Features argument of the caps_add/caps_update hooks anywhere.
[18:31:32] <zinid> gah...
[18:32:17] sattellite вышел(а) из комнаты: Replaced by new connection
[18:32:19] sattellite вошёл(а) в комнату
[18:32:59] <zinid> I also see no difference between caps_add and caps_update
[18:33:02] <zinid> the action is the same
[18:33:14] <Holger> And I see now that running the hook for the vhost To#jid.lserver makes sense.  If a (remote) user sends CAPS to me, the event should be triggered on my vhost.
[18:33:16] <zinid> there is code duplication in mod_pubsub
[18:33:16] sattellite вышел(а) из комнаты
[18:33:22] <Holger> zinid: Yes I think that was different before.
[18:33:25] <Holger> Maybe a typo now.
[18:33:55] <zinid> cromain: maybe we will just rollback?
[18:33:57] debalance вошёл(а) в комнату
[18:34:07] <Holger> And I think I added that nonsense myself as workarounds to the problem we're trying to solve.
[18:34:28] <Holger> So possibly we don't need that To anymore when it's solved.
[18:35:14] JabAlacer вышел(а) из комнаты
[18:35:25] debalance вышел(а) из комнаты
[18:38:10] <Holger> Yes I remember.
[18:38:12] <Holger> https://github.com/processone/ejabberd/blob/8f5a1c4a2ad/src/mod_pubsub.erl#L666
[18:40:19] <Holger> The point of all that was just to ignore caps_add for local users but run caps_update for both local and remote users.  Because ... weird reasons.
[18:40:40] cippaciong вышел(а) из комнаты
[18:41:32] <Holger> But yes To is probably needed because when you send a CAPS update To me telling me that you now want avatars, I should send you my avatar.  Right?
[18:41:43] <zinid> right
[18:42:22] <Holger> We do this right now and it seems smart but I'm not sure it's really needed in practice.  Dunno whether the XEP mentions that.
[18:42:25] <Holger> I'll have a look ...
[18:44:07] jannic вошёл(а) в комнату
[18:45:22] <cromain> oups, it seems  when S1 =/= S2  was added by mistake
[18:45:28] jodok вышел(а) из комнаты
[18:45:46] <zinid> cromain: how many mistakes are there?
[18:45:52] <zinid> I suggest to revert
[18:46:10] <zinid> we have no tests, you didn't test it
[18:46:16] <zinid> how can we roll it out?
[18:46:23] JabAlacer вошёл(а) в комнату
[18:47:08] jeremy вошёл(а) в комнату
[18:50:04] <cromain> this is one typo in caps_update, i don't there there are several mistakes i've spend several hours testing many cases. but i did not tested (what is for me non sense) the case of sending back pep event from offline contact
[18:50:45] Misty вышел(а) из комнаты
[18:51:05] <cromain> testing removng that S1=/=S2
[18:52:17] jodok вошёл(а) в комнату
[18:53:09] sattellite вошёл(а) в комнату
[18:53:59] andrey.g вышел(а) из комнаты
[18:54:09] <Holger> zinid: What would be your actual problem with that To argument?  We receive presence with CAPS.  We check whether From->CAPS is new/updated.  If it is, we run the hooks like before.  That will trigger mod_pubsub to return all last PEP nodes from the To JID to the From JID.  Like before.  No?
[18:54:17] andrey.g вошёл(а) в комнату
[18:54:57] cippaciong вошёл(а) в комнату
[18:55:02] <zinid> How we check it's updated?
[18:55:30] <zinid> let's say there is a caps, we write it to database as (From => caps) binding
[18:55:33] <zinid> then what?
[18:55:42] <Holger> We compare From->NewCAPS to From->CachedCAPS.
[18:55:47] sattellite вышел(а) из комнаты
[18:55:47] <zinid> and?
[18:56:05] <zinid> where will we get To?
[18:56:14] <Holger> If they match, we're done.  If they don't, we run caps_update like before.
[18:56:26] <zinid> what To should be used?
[18:56:27] <Holger> We got From, NewCAPS from a presence stanza.
[18:56:32] <Holger> Which also has a To.
[18:56:40] andrey.g вышел(а) из комнаты
[18:56:45] <Holger> I'm sure I'm overlooking something but not sure what :-)
[18:56:47] <zinid> when will we store the binding?
[18:57:06] <zinid> from => caps key-value
[18:57:18] <zinid> if we store it before, how will we compare with all Tos?
[18:57:34] <zinid> after storing it we lose info to compare
[18:57:44] debalance вошёл(а) в комнату
[18:57:46] <Holger> Currently we're storing it in mod_caps from the c2s_presence_in hook.  Would this need to be changed?
[18:58:04] <Holger> No need to compare with any Tos.
[18:58:17] <Holger> I think.
[18:58:20] <zinid> ok, let me describe by example
[18:58:34] <zinid> a contact (From) send to To1 and To2
[18:58:52] <zinid> lets say it sends a presence with NewCaps
[18:59:14] <zinid> we store this NewCaps as From => NewCaps
[18:59:39] <zinid> then, for To1 and To2 we need to check if the caps is updated
[18:59:49] <Holger> No.
[18:59:51] <zinid> but how? there is already NewCaps in the database
[19:00:00] <Holger> The last step is the one I'm not understanding.
[19:00:06] <Holger> > for To1 and To2 we need to check if the caps is updated
[19:00:23] <zinid> but we need the check to trigger the hook
[19:00:24] <Holger> We store this NewCaps as From => NewCaps.
[19:00:29] <zinid> yes
[19:00:32] <Holger> Ah.
[19:00:45] <Holger> Hehe I'm slow.  I got your point :-)
[19:00:54] sattellite вошёл(а) в комнату
[19:00:58] <Holger> That's probably broken already :-)
[19:01:28] <zinid> it's not broken I think because we have an info to compare for every particular To
[19:01:47] <Holger> Ah.
[19:01:54] <Holger> Yes.  Finally I got that as well.
[19:01:58] <Holger> Sorry.
[19:01:59] <Holger> Hrm.
[19:01:59] <zinid> :D
[19:02:53] <zinid> also, there are direct presences :)
[19:02:56] debalance вышел(а) из комнаты
[19:04:54] stian вышел(а) из комнаты: Stream closed by us: Replaced by new connection (conflict)
[19:04:55] JabAlacer вышел(а) из комнаты
[19:05:01] stian вошёл(а) в комнату
[19:05:01] JabAlacer вошёл(а) в комнату
[19:06:43] debalance вошёл(а) в комнату
[19:07:49] cippaciong вышел(а) из комнаты
[19:10:31] <zinid> we can use meta
[19:10:53] <zinid> the cleanest way! :D
[19:11:05] sattellite вышел(а) из комнаты
[19:11:47] mimi89999 вышел(а) из комнаты
[19:13:23] debalance вышел(а) из комнаты
[19:13:23] debalance вышел(а) из комнаты
[19:15:11] stian вышел(а) из комнаты: Connection failed: connection closed
[19:15:16] cippaciong вошёл(а) в комнату
[19:15:18] <Holger> If the From contact is remote we'll only see separate stanzas to To1 and To2 so 'meta' won't help?
[19:15:19] stian вошёл(а) в комнату
[19:15:30] <Holger> What am I overlooking this time? :-)
[19:16:33] andrey.g вошёл(а) в комнату
[19:16:41] debalance вошёл(а) в комнату
[19:17:06] cromain вышел(а) из комнаты
[19:18:05] <zinid> we store From => CAPS in s2s_receive_packet (or user_receive_packet), mark it with meta and route further, where a marker will be used by c2s_presence_in
[19:18:54] <zinid> ah, no
[19:18:57] <zinid> now I'm overlooking
[19:19:02] <zinid> you're right
[19:19:11] debalance вышел(а) из комнаты: Replaced by new connection
[19:19:30] jere вышел(а) из комнаты: Disconnected: Replaced by new connection
[19:19:36] jere вошёл(а) в комнату
[19:24:16] sattellite вошёл(а) в комнату
[19:24:22] cromain вошёл(а) в комнату
[19:25:14] JabAlacer вышел(а) из комнаты
[19:25:34] JabAlacer вошёл(а) в комнату
[19:26:23] <zinid> what if we don't trigger the hooks?
[19:26:43] stian вышел(а) из комнаты: Connection failed: connection closed
[19:26:49] stian вошёл(а) в комнату
[19:27:31] debalance вошёл(а) в комнату
[19:27:51] <Holger> Yes as I said I don't think we really need to take care of CAPS *updates*.  Clients don't change them in practice.
[19:28:15] <zinid> and new presences?
[19:28:25] <Holger> If we manage to do the right thing whenever we receive initial presence with CAPS, that would be fine I think.
[19:28:39] <Holger> I'm trying to understand how *that* could be accomblished.
[19:29:12] <Holger> Right now I'm just trying to understand how it currently works.
[19:34:48] sattellite вышел(а) из комнаты
[19:35:03] sattellite вошёл(а) в комнату
[19:37:08] sattellite вышел(а) из комнаты
[19:41:48] marek.w вышел(а) из комнаты: Stream closed by us: Replaced by new connection (conflict)
[19:41:51] marek.w вошёл(а) в комнату
[19:46:58] sattellite вошёл(а) в комнату
[19:47:56] JabAlacer вышел(а) из комнаты
[19:53:43] JabAlacer вошёл(а) в комнату
[19:56:36] JabAlacer вышел(а) из комнаты
[19:56:43] JabAlacer вошёл(а) в комнату
[19:59:02] cromain вышел(а) из комнаты
[20:01:30] mimi89999 вошёл(а) в комнату
[20:02:02] sattellite вышел(а) из комнаты
[20:14:11] vingausaid вышел(а) из комнаты
[20:16:02] vingausaid вошёл(а) в комнату
[20:18:18] sattellite вошёл(а) в комнату
[20:21:26] stian вышел(а) из комнаты: Connection failed: connection closed
[20:21:33] stian вошёл(а) в комнату
[20:24:56] sattellite вышел(а) из комнаты
[20:31:00] JabAlacer вышел(а) из комнаты
[20:31:44] stian вышел(а) из комнаты: Connection failed: connection closed
[20:31:50] stian вошёл(а) в комнату
[20:33:56] vingausaid вышел(а) из комнаты: Replaced by new connection
[20:35:28] vingausaid вошёл(а) в комнату
[20:36:39] JabAlacer вошёл(а) в комнату
[20:45:45] sezuan вышел(а) из комнаты: Replaced by new connection
[20:45:51] sezuan вошёл(а) в комнату
[20:46:54] hlad вошёл(а) в комнату
[20:48:27] sattellite вошёл(а) в комнату
[20:48:36] stian вышел(а) из комнаты: Stream closed by us: Replaced by new connection (conflict)
[20:48:43] stian вошёл(а) в комнату
[20:50:15] JabAlacer вышел(а) из комнаты
[20:53:08] vingausaid вышел(а) из комнаты: Replaced by new connection
[20:53:10] vingausaid вошёл(а) в комнату
[20:53:47] sattellite вышел(а) из комнаты
[20:59:36] stian вышел(а) из комнаты: Stream closed by us: Replaced by new connection (conflict)
[20:59:45] stian вошёл(а) в комнату
[21:01:25] marek.w вышел(а) из комнаты: Connection failed: connection closed
[21:02:34] hlad вышел(а) из комнаты
[21:10:11] JabAlacer вошёл(а) в комнату
[21:11:44] JabAlacer вышел(а) из комнаты: Disconnected: Replaced by new connection
[21:11:47] JabAlacer вошёл(а) в комнату
[21:13:33] sattellite вошёл(а) в комнату
[21:17:16] <zinid> seems like Holger didn't understand :(
[21:18:38] vingausaid вышел(а) из комнаты: Replaced by new connection
[21:18:39] vingausaid вошёл(а) в комнату
[21:22:01] mimi89999 вышел(а) из комнаты
[21:23:16] debalance вышел(а) из комнаты
[21:23:39] stian вышел(а) из комнаты: Stream closed by us: Replaced by new connection (conflict)
[21:23:41] stian вошёл(а) в комнату
[21:23:58] stian вышел(а) из комнаты: Connection failed: connection closed
[21:24:05] stian вошёл(а) в комнату
[21:25:03] debalance вошёл(а) в комнату
[21:25:17] JabAlacer вышел(а) из комнаты
[21:29:02] Holger вышел(а) из комнаты: Replaced by new connection
[21:29:14] Holger вошёл(а) в комнату
[21:31:30] mimi89999 вошёл(а) в комнату
[21:34:27] <Holger> Hehe day job just keeps distracting me.
[21:35:23] <zinid> then beer will distract you ;)
[21:36:56] <Holger> That would be nice, but I have to get up way too early tomorrow morning.
[21:37:17] <zinid> argh
[21:37:18] SouL вышел(а) из комнаты
[21:37:27] SouL вошёл(а) в комнату
[21:37:28] <zinid> I hate getting up early
[21:38:06] <Holger> Yeah.  Don't let your kid join a football club.
[21:38:07] edhelas вышел(а) из комнаты
[21:39:28] <Holger> So for local contacts, PEP notifications are sent when we receive a presence probe.
[21:40:10] <Holger> The CAPS hash was stored immediately before that when we received inital presence (or was stored from an earlier session).
[21:40:27] jeremy вышел(а) из комнаты
[21:41:10] <zinid> how that?
[21:41:16] <zinid> IQ request may fail
[21:42:17] <zinid> or may be delayed
[21:45:58] <Holger> Yes for local users, the IQ request is done from 'user_send_packet' when the client sends initial presence (for remote users from 'user_receive_packet').
[21:46:07] <Holger> Using ejabberd_local:route_iq(IQ, F).
[21:46:19] <Holger> So if there's no valid response in time, sending the PEP last item will fail.
[21:47:09] <Holger> I guess not that much of a problem in practice because the caps_features table usually has most data already.
[21:50:23] JabAlacer вошёл(а) в комнату
[21:54:56] <Holger> Catching the bus, back in an hour.
[21:56:18] erik вышел(а) из комнаты: Stream closed by us: Replaced by new connection (conflict)
[21:56:21] erik вошёл(а) в комнату
[21:56:54] erik вышел(а) из комнаты
[21:56:57] erik вошёл(а) в комнату
[21:59:52] sezuan вышел(а) из комнаты
[22:00:57] debalance вышел(а) из комнаты
[22:01:24] sattellite вышел(а) из комнаты
[22:01:59] JabAlacer вышел(а) из комнаты: Disconnected: Replaced by new connection
[22:02:02] JabAlacer вошёл(а) в комнату
[22:04:12] caffey вышел(а) из комнаты
[22:06:03] Psi-Jack вошёл(а) в комнату
[22:06:32] sattellite вошёл(а) в комнату
[22:06:47] jodok вышел(а) из комнаты
[22:08:44] anand вошёл(а) в комнату
[22:10:01] sattellite вышел(а) из комнаты
[22:10:27] JabAlacer вышел(а) из комнаты
[22:11:14] caffey вошёл(а) в комнату
[22:11:29] jodok вошёл(а) в комнату
[22:12:53] anand вышел(а) из комнаты
[22:13:55] debalance вошёл(а) в комнату
[22:14:47] anand вошёл(а) в комнату
[22:15:11] badlop вышел(а) из комнаты
[22:15:18] ileh вышел(а) из комнаты
[22:16:45] sattellite вошёл(а) в комнату
[22:18:34] caffey вышел(а) из комнаты
[22:23:52] jeremy вошёл(а) в комнату
[22:31:17] caffey вошёл(а) в комнату
[22:35:19] JabAlacer вошёл(а) в комнату
[22:36:47] caffey вышел(а) из комнаты
[22:37:49] vingausaid вышел(а) из комнаты: Replaced by new connection
[22:37:50] vingausaid вошёл(а) в комнату
[22:40:52] Holger вышел(а) из комнаты: Replaced by new connection
[22:41:02] Holger вошёл(а) в комнату
[22:45:46] debalance вошёл(а) в комнату
[22:49:14] debalance вышел(а) из комнаты: Replaced by new connection
[22:52:00] JabAlacer вышел(а) из комнаты
[23:02:31] edhelas вошёл(а) в комнату
[23:02:41] <edhelas> hi everyone o/
[23:02:51] <edhelas> ejabberd is crashing /o/
[23:03:13] rom1dep вышел(а) из комнаты: unknown reason
[23:03:15] edhelas вышел(а) из комнаты: Stream reset by peer
[23:04:19] edhelas вошёл(а) в комнату
[23:04:19] <Holger> Any [error] messages in your ejabberd.log?
[23:04:19] <zinid> edhelas: what, just silently?
[23:04:28] <edhelas> 2017-08-11 22:01:44.608 [error] <0.5252.0> CRASH REPORT Process <0.5252.0> with 0 neighbours exited with reason: {process_limit,{max_queue,1003}} in p1_server:terminate/7 line 864
2017-08-11 22:01:44.608 [error] <0.479.0> Supervisor ejabberd_c2s_sup had child undefined started with {ejabberd_c2s,start_link,undefined} at <0.5252.0> exit with reason {process_limit,{max_queue,1003}} in context child_terminated
[23:04:35] <zinid> ah
[23:04:48] <zinid> it's CRASHING!!!!
[23:05:02] <zinid> max_fsm_queue: 5000
[23:05:04] <Holger> :-)
[23:05:15] <Holger> It's overloaded and hitting a limit.
[23:05:16] <edhelas> is it a bug or a feature ?
[23:05:19] <zinid> feature
[23:05:19] <Holger> That limit :-)
[23:05:23] JabAlacer вошёл(а) в комнату
[23:05:55] <zinid> by the way, this crash is googled easily :)
[23:06:10] <Holger> An Erlang process that handles a single client is "crashing" (due to hitting the limit).  Not ejabberd.
[23:06:34] sattellite вышел(а) из комнаты
[23:06:37] edhelas вышел(а) из комнаты: Stream closed by us: system-shutdown
[23:06:42] vingausaid вышел(а) из комнаты: Replaced by new connection
[23:06:44] vingausaid вошёл(а) в комнату
[23:06:54] <zinid> http://lmgtfy.com/?q={process_limit%2C{max_queue%2C1003}}
[23:06:58] edhelas вошёл(а) в комнату
[23:07:03] <edhelas> changed to 5000
[23:07:11] rom1dep вошёл(а) в комнату
[23:07:32] <Holger> Maybe we should increase the default.
[23:07:42] edhelas_ вошёл(а) в комнату
[23:07:45] <zinid> Holger: yes, I was thinking about it, but always forgetting
[23:07:59] <zinid> seems like 1k is too low nowdays
[23:07:59] <edhelas_> seems better /o/
[23:08:26] <edhelas> 640k should be enough
[23:08:31] debalance вышел(а) из комнаты
[23:08:35] sattellite вошёл(а) в комнату
[23:09:06] edhelas вышел(а) из комнаты
[23:09:09] edhelas_ изменил(а) имя на edhelas
[23:09:23] edhelas вышел(а) из комнаты
[23:09:28] edhelas вошёл(а) в комнату
[23:11:22] caffey вошёл(а) в комнату
[23:12:23] sattellite вышел(а) из комнаты
[23:12:26] cippaciong вышел(а) из комнаты
[23:13:09] cippaciong вошёл(а) в комнату
[23:15:44] debalance вошёл(а) в комнату
[23:16:52] caffey вышел(а) из комнаты
[23:20:29] <zinid> stackoverflow is overflowed with Indians :(
[23:23:28] <edhelas> Holger, looks like the import script doesn't import more than 10 items per node for Pubsub
[23:23:36] <edhelas> (it's the default limit)
[23:23:42] vingausaid вышел(а) из комнаты: Replaced by new connection
[23:23:46] vingausaid вошёл(а) в комнату
[23:23:55] <Holger> Did you increase the limit? :-)
[23:24:07] <edhelas> looking at it
[23:25:24] <edhelas> max_items_node: 5000
[23:26:31] rom1dep вышел(а) из комнаты: unknown reason
[23:26:43] <edhelas> {max_items,
max_items(Config, 10)},
[23:26:51] jodok вышел(а) из комнаты
[23:27:02] <edhelas> I'm looking in the DB what config is set for the imported nodes
[23:27:20] JabAlacer вышел(а) из комнаты
[23:27:27] JabAlacer вошёл(а) в комнату
[23:28:34] <edhelas> 9350 | max_items                | 10
[23:28:47] <edhelas> should have been more
[23:30:04] sattellite вошёл(а) в комнату
[23:30:09] cippaciong вышел(а) из комнаты
[23:30:16] stian вышел(а) из комнаты: Stream closed by us: Replaced by new connection (conflict)
[23:30:20] stian вошёл(а) в комнату
[23:34:27] debalance вошёл(а) в комнату
[23:35:00] stian вышел(а) из комнаты: Connection failed: connection closed
[23:35:05] stian вошёл(а) в комнату
[23:35:49] jeremy вышел(а) из комнаты: Machine going to sleep
[23:36:18] caffey вошёл(а) в комнату
[23:36:28] cippaciong вошёл(а) в комнату
[23:36:44] debalance вошёл(а) в комнату
[23:36:51] stian вышел(а) из комнаты: Stream closed by us: system-shutdown
[23:38:21] boothj5 вошёл(а) в комнату
[23:38:32] sattellite вышел(а) из комнаты
[23:39:27] debalance вышел(а) из комнаты
[23:39:45] JabAlacer вышел(а) из комнаты
[23:40:37] stian вошёл(а) в комнату
[23:41:57] stian вышел(а) из комнаты: Stream closed by us: system-shutdown
[23:42:24] <edhelas> Holger, it's only for flat type nodes, not pep (everything seems to be fully imported)
[23:43:47] stian вошёл(а) в комнату
[23:49:58] cippaciong вошёл(а) в комнату
[23:52:34] JabAlacer вошёл(а) в комнату
Powered by ejabberd - robust, scalable and extensible XMPP server Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!