19:00:35 #startmeeting 19:00:35 Meeting started Thu May 17 19:00:35 2018 UTC. The chair is wumpus. Information about MeetBot at http://wiki.debian.org/MeetBot. 19:00:35 Useful Commands: #action #agreed #help #info #idea #link #topic. 19:00:37 hi 19:00:40 hi 19:00:41 hi 19:00:43 howdy 19:01:11 #bitcoin-core-dev Meeting: wumpus sipa gmaxwell jonasschnelli morcos luke-jr btcdrak sdaftuar jtimon cfields petertodd kanzure bluematt instagibbs phantomcircuit codeshark michagogo marcofalke paveljanik NicolasDorier jl2012 achow101 meshcollider jnewbery maaku fanquake promag provoostenator 19:01:20 hi. 19:01:48 proposed topics: 0.16.1 I guess 19:01:50 hi 19:01:51 hi 19:02:20 #topic High priority for review 19:02:31 i'd like to add #13142 19:02:33 https://github.com/bitcoin/bitcoin/issues/13142 | Separate IsMine from solvability by sipa · Pull Request #13142 · bitcoin/bitcoin · GitHub 19:03:14 we merged #10740 this week, #12254 #10757 #13011 #13097 #12979 #12634 are left 19:03:16 hello 19:03:16 I'd like to add #12196 19:03:19 https://github.com/bitcoin/bitcoin/issues/10740 | [wallet] `loadwallet` RPC - load wallet at runtime by jnewbery · Pull Request #10740 · bitcoin/bitcoin · GitHub 19:03:23 https://github.com/bitcoin/bitcoin/issues/12254 | BIP 158: Compact Block Filters for Light Clients by jimpo · Pull Request #12254 · bitcoin/bitcoin · GitHub 19:03:30 https://github.com/bitcoin/bitcoin/issues/10757 | RPC: Introduce getblockstats to plot things by jtimon · Pull Request #10757 · bitcoin/bitcoin · GitHub 19:03:31 https://github.com/bitcoin/bitcoin/issues/13011 | Cache witness hash in CTransaction by MarcoFalke · Pull Request #13011 · bitcoin/bitcoin · GitHub 19:03:33 https://github.com/bitcoin/bitcoin/issues/13097 | ui: Support wallets loaded dynamically by promag · Pull Request #13097 · bitcoin/bitcoin · GitHub 19:03:36 https://github.com/bitcoin/bitcoin/issues/12979 | Split validationinterface into parallel validation/mempool interfaces by TheBlueMatt · Pull Request #12979 · bitcoin/bitcoin · GitHub 19:03:36 there's quite a lot of things on the list yet, should we also remove something? 19:03:37 https://github.com/bitcoin/bitcoin/issues/12634 | [refactor] Make TransactionWithinChainLimit more flexible by kallewoof · Pull Request #12634 · bitcoin/bitcoin · GitHub 19:03:40 https://github.com/bitcoin/bitcoin/issues/12196 | Add scantxoutset RPC method by jonasschnelli · Pull Request #12196 · bitcoin/bitcoin · GitHub 19:04:01 #13011 looks merge-ableish 19:04:04 https://github.com/bitcoin/bitcoin/issues/13011 | Cache witness hash in CTransaction by MarcoFalke · Pull Request #13011 · bitcoin/bitcoin · GitHub 19:04:10 hi 19:04:28 I dunno if #12254 should stay on there, there's now discussion of the bip on the ml so its gonna be some time yet, I think 19:04:30 jimpo: thoughts? 19:04:31 https://github.com/bitcoin/bitcoin/issues/12254 | BIP 158: Compact Block Filters for Light Clients by jimpo · Pull Request #12254 · bitcoin/bitcoin · GitHub 19:04:40 What is the maxlen for high-prio-list? 19:04:48 1 per regular contributor :p 19:04:55 ok added #12196 #13142 19:04:58 https://github.com/bitcoin/bitcoin/issues/12196 | Add scantxoutset RPC method by jonasschnelli · Pull Request #12196 · bitcoin/bitcoin · GitHub 19:05:00 https://github.com/bitcoin/bitcoin/issues/13142 | Separate IsMine from solvability by sipa · Pull Request #13142 · bitcoin/bitcoin · GitHub 19:05:03 Thanks wumpus 19:05:09 Agree with BlueMatt about 12254 19:05:17 yes, what BlueMatt says, though PRs that are not actively updated should be removed 19:05:47 agree, removed 12254 19:06:04 I was expecting https://github.com/bitcoin/bitcoin/pull/10757 to be merged soonish and thus go out of the list 19:06:16 topic: 0.16.1 19:06:17 and I guess 13097 can be merged after jonasschnelli review 19:06:18 something that is still being discussed on the mailing list certainly doesn't belong in the blocker slist 19:06:36 Yes. 13097 is in review here... 19:06:42 Can I get #13243 then so progress continues? :-) 19:06:44 https://github.com/bitcoin/bitcoin/issues/13243 | Make reusable base class for auxiliary indices by jimpo · Pull Request #13243 · bitcoin/bitcoin · GitHub 19:06:48 #12979 needs a rebase 19:06:50 sgtm 19:06:51 https://github.com/bitcoin/bitcoin/issues/12979 | Split validationinterface into parallel validation/mempool interfaces by TheBlueMatt · Pull Request #12979 · bitcoin/bitcoin · GitHub 19:06:59 MarcoFalke: yup, doing now 19:07:11 i was waiting on sdaftuar's review so I could take nits at the same time 19:07:36 unicorn for 10757 19:07:41 great. 19:07:46 topic: replacing github 19:07:50 heh 19:07:51 wumpus: fyi 13063 on high priority after 13097 merge 19:08:12 topic: replacing github (not entirely unserious) 19:08:17 don't make queues for highprio list. :) 19:08:27 promag: you already have one on the list! 19:08:56 wumpus: right, after 13097 merge 19:09:05 due to the length of the list I'm going to have to enforce one PR per person, sorry 19:09:29 #topic 0.16.1 19:09:44 huh? we always enforce one per person (well, one nomination per person, you can nominate someone elses') 19:09:55 I think we just need to finish backports and tag for 0.16.1rc1, no? 19:10:00 mostly #13253 19:10:01 https://github.com/bitcoin/bitcoin/issues/13253 | [0.16] Further Backports by fanquake · Pull Request #13253 · bitcoin/bitcoin · GitHub 19:10:24 BlueMatt: we had multiple theuni PRs on there at some point :) 19:10:36 well those got removed, and cfields confirmed that was ok 19:11:27 there's also three issues marked 0.16.1: #13110 #12646 #12337 19:11:28 https://github.com/bitcoin/bitcoin/issues/13110 | 0.16.0 bitcoin-qt: "Assertion `copyFrom failed" during launch · Issue #13110 · bitcoin/bitcoin · GitHub 19:11:29 https://github.com/bitcoin/bitcoin/issues/12646 | Assertion failure during rescan · Issue #12646 · bitcoin/bitcoin · GitHub 19:11:31 https://github.com/bitcoin/bitcoin/issues/12337 | 0.16 Shutdown assertion · Issue #12337 · bitcoin/bitcoin · GitHub 19:11:45 not sure whether they are critical or can just be bumped to 0.16.2 or so 19:11:57 we have one issue marked 0.15.2 which i don't understand 19:12:39 I don't know either, but at least that's not a blocker for 0.16.1 19:12:40 jonasschnelli: was the last to comment on 12337 " I'll try to find a solution for this..." 19:12:43 wumpus: The assertion is a regression if I am not mistaken 19:12:51 13110 19:13:04 wasn't 12337 fixed? 19:13:10 Will look into 12337... 19:13:24 I proposed a fix in 13110 and it apparently worked 19:13:41 yes 19:14:08 wumpus: can you PR https://github.com/bitcoin/bitcoin/issues/13110#issuecomment-385708583? 19:14:22 jonasschnelli: sure 19:15:51 so that leaves 12646 19:16:59 maybe jnewbery can look into 12646? 19:17:10 anyone want to look int othat? or can we just bump it forward if it's not so importent 19:17:43 I think its okay to bump this forward (as long as we track it) 19:17:57 yes I don't mean closing it 19:18:09 Yes, I can look at 12646 (next week) 19:19:02 moved to 0.16.2 19:19:21 other proposed topics? 19:19:28 trashing github 19:19:36 #topic Trashing github 19:19:45 so it hasnt been working for like 3 weeks now 19:20:02 and I'd kinda like to have something self-hosted with better review tools anyway, which I know a lot of people wanted 19:20:12 Should we give it more time?... I'm pretty sure they are aware of it 19:20:13 there was some suggestiin (was it on twitter) to use gitlab 19:20:29 so I figured we should do a "do people think its actually a good idea to switch to something self-hosted" semi-poll 19:20:33 gitlab seems ok 19:20:34 or we could switch to gitlab 19:20:40 BlueMatt: what alternatives would you propose? 19:20:43 I like gitlab 19:20:45 seems to me like it's way harder to get it right hosting ourselves 19:20:47 though gitlab seems to have no better review tools than github 19:20:55 self-hosted I don't know, who is going to babysit this, monitor it and apply security patches etc? 19:20:57 it would e really cool if all pr comment history was in git too 19:20:57 sdaftuar: oh? I mean I kinda disagree 19:21:07 dude we can't even keep the computers in our office running 19:21:09 self-hosted is very risky and potentially time-consumptive IMO 19:21:10 sipa: does gitlab do that? 19:21:17 sdaftuar: bitcoincore.org does just fine.... 19:21:18 BlueMatt: i have no clue 19:21:25 if no one is, it's going to become worse, not better, at least Github has a dedicated paid team 19:21:35 definitely agree with wumpus 19:21:37 general nack, self-hosting issues aside, Github's network effect is too strong imo. 19:21:39 blockstream uses gitlab internally, which seems to work fine (pribably due to people maintaining it) 19:21:54 i mean we could do self-hosted gitlab 19:22:18 what advantage does that give, BlueMatt? 19:22:37 I assume the goal is less unicorns? 19:22:40 cfields: +1 19:22:52 someone from github promised to look into the unicorn issue, maybe we should give them some more time 19:22:53 gitlab also does hostign for free 19:22:59 Cursory internet search turned up reviewable.io, which is like a hosted layer on top of GitHub 19:23:01 jnewbery, cfields: what do you suggest instead? waiting until github fixes it? 19:23:06 free for public repos 19:23:08 MarcoFalke: we can do our own security additions like putting the pr and comment history in git 19:23:13 I can't be the only one who gets irrationally frustrated when the code I want to mess with is on BitBucket.. 19:23:14 and have stuff that verifies it 19:23:33 cfields: we'd mirror on github of course 19:23:39 In the absence of something better, we should continue nagging them 19:23:54 cfields: yes, only players like freedesktop can really afford to host on separate infrastructure, for smaller projects the lack of network effect (and having to register separately) is bad 19:24:04 sipa: all things considered, yes, I'd say waiting it out makes the most sense. 19:24:17 jnewbery: I think we *do* have ideas for better things 19:24:22 I think I'm in the minority there, though :) 19:24:22 Moving away from GitHub seems meh,... especially for a self-hostes solutions... looks after centralizing development 19:24:25 Who has reached out to GitHub and through what channel so far? 19:24:26 the self-hosting question is more a "will it be maintained" question 19:24:29 not "will it be better" 19:24:33 I'm ok with both people working on a gitlab instance and people nagging github devs 19:24:38 cfields: i'moretty unconfortable with the fact that network effect is making us stick with a specific provider, even in the oresence of obvious issies 19:25:03 of course, it's not like we could migrate quickly anyway 19:25:06 'will it be maintained' is really important though to not end up blaming each other 19:25:06 how much effort will, e.g., DoS protection be for something self-hosted? 19:25:17 at least now we can blame github people :) 19:25:20 haha 19:25:21 we could perhaps save money on travis workers by using gitlab-CI too? 19:25:45 jamesob: exactly... 19:25:48 jamesob: dos protection is 6$/month 19:25:50 and works perfectly 19:25:52 sipa: it's worth considering that the 0.16.1 issues might've never been reported if not for Github's issues 19:26:11 BlueMatt: Yes, we have ideas, but that's different from something that's actually running. I don't have any interest in maintaining a self-hosted solution, and I don't think it's worth anyone else's time doing it either 19:26:17 cfields: that's a good point 19:26:32 we could still use github for *issues* 19:26:39 gitlab would be for patches and review 19:26:49 jnewbery: yeah, I'm personally not interested in maintaining it either 19:26:56 doesn't necessarily need to be the same place 19:27:24 let's move back to sourceforge 19:27:26 yes tbh I don't think we should change the issue reporting URL 19:27:26 I'm not a fan of using issues and patches/review being in separate places 19:27:36 I've been spamming that to so many people over the years 19:27:37 BlueMatt: I don't think CloudFlare works with git protocol, so you need to reveal underlying IPs: https://stackoverflow.com/questions/31817004/git-push-not-working-after-using-cloudflare-reverse-proxy 19:27:39 if the unicorns is the showstopper, then better mirror github PR with comments > 20 via API with comment through API function 19:27:46 or just everything on gitlab, but since we have the github mirror, we will see issues created there by people who missed that the project moved 19:27:49 I don't really want to move it anywhere else. THe unicorns are only an issue for code review. 19:27:55 jamesob: bitcoincore.org does not use cloudflare (and costs 6$/month), cloudflare sucks ass 19:27:55 I also think that the network effect thing is important. What percentage of new contributors/issue reports would we lose if we weren't on github? 19:28:11 jamesob: (and that's for redundant providers) 19:28:41 jonasschnelli: I'd actually be much happier with github if we had a client-side api-based cli-only github interface 19:28:51 (that verified eg pgp signatures on comments) 19:28:52 there is a github cli interface 19:28:54 wumpus: well the main point of using github is for code review, no? 19:28:57 email seems to work for long reviews (diffs) 19:29:09 BlueMatt: that seems easyer then installing a gitlab solution on a custom server 19:29:21 *easier 19:29:28 jonasschnelli: its the difference between building a whole app and installing one 19:29:30 so...no, not really 19:29:31 jnewberry: Who has reached out to GitHub and through what channel so far? 19:29:33 I am happy to follow-up with GitHub to try and accelerate a fix. Can someone provide me background info on the existing communication we have with GitHub? 19:29:48 I've contacted Github support. I don't know who else has 19:29:59 I think someone reached to them on twitter too 19:30:01 I have contacted them through tthe contact site, and was told by support that many others have 19:30:05 Is there an open issue # that I can reference? 19:30:09 jtimon: that was me 19:30:14 I can try asking someone I know that used to work there supporting open source projects 19:30:19 moneyball: I'll forward you the email thread 19:30:23 moneyball: a few folks have emailed support@github, which historically has always gotten a response, some other projects were posting responses they got where they were saying "we dont actually know what change we made that triggered these issues, hold on" 19:30:26 buts its been like 3 weeks ago 19:31:02 jnewbery ok great i'll use that as context and follow-up 19:31:16 jimpo we can coordinate our efforts if you'd like 19:31:37 yeah, we can chat about it outside the meeting 19:31:56 ok, so it sounds like consensus is "stick with the broken shit we have now" :/ 19:32:02 or at least no consensus on moving to something else 19:32:14 feel fre to set up something better and convince us to use it 19:32:26 yeah i believe it will require someone to set up a demo 19:32:40 if not, this is just empty talk, we *have* nothing better 19:32:54 any other topics? 19:32:59 And a plan to transition all open patches to the new review system? 19:33:01 right; the question is whether we should look into alternatives 19:33:10 not so much whether we should or shouldn't move 19:33:33 right 19:33:38 iirc some alternatives support oath login via github 19:33:47 yea, it seems like lack of consensus to move even if we find something good 19:33:53 that would go a long way towards shutting me up 19:33:59 which was mostly why I brought it up 19:34:13 I'm open to being convinced to use something else, if it's really better 19:34:38 cfields: I agree a code review tool with GitHub integration (where main repo is still hosted there) is ideal 19:35:13 BlueMatt: If there was something else better running now AND there was a way to migrate all state AND we wouldn't lose contributors by switching AND we have someone committed to maintaining it, then I'd be open to it. Without that, I think it's a non-starter. 19:35:28 Something like https://github.com/piotrmurach/github_cli seems a better start to deal with the unicorns 19:35:54 jonasschnelli: yes, I plan to look into github cli commands as well, there's a few (also "hub" IIRC) 19:36:07 Agree with jnewbery. I am open to switching, but not without solving the transition issues first. 19:36:31 we'd end up with parallel infrastructure for a while anyway 19:36:34 well BlueMatt I think it would be easier to get consensus to move to something else if somebody had it working with CI and all 19:36:44 topic request: separate wallet from node (#10973) 19:36:49 https://github.com/bitcoin/bitcoin/issues/10973 | Refactor: separate wallet from node by ryanofsky · Pull Request #10973 · bitcoin/bitcoin · GitHub 19:37:04 Moving away from Github just because of load issues for three weeks seems insane... 19:37:08 jtimon: it sounds like definite "no", so I'm not gonna spend time looking into it 19:37:23 in the meantime, prs with many comments get the unicorn and we have to try again until it loads 19:37:27 #topic separate wallet from node (jnewbery) 19:37:28 jonasschnelli: there are way more reasons people dont like github 19:37:33 jonasschnelli: not being able to move away from github just because of network effect seems scary... 19:37:43 the upside is that this is an additional incentive to keep PRs small :) 19:37:46 BlueMatt: fair enough 19:37:52 jonasschnelli: I agree. But I think the frustration comes from the helplessness that it's brought to light. 19:37:53 this discussion is starting to repeat itself 19:38:04 sipa: that is a point we should take into consideration,.. but stop focusing on load issues 19:38:13 ok, next topic it seems 19:38:38 oh, I have 2 more topics.... 19:38:53 I don't think there's realistically any chance of anything replacing github until someone sets up a feasible alternative and shows us that it is better 19:38:55 jnewbery: your topic 19:38:57 (#topic separate wallet from node (jnewbery)) 19:39:06 sipa: well I'm gonna look into having a cli app that checks signatures off github api comments/etc 19:39:09 #10973 is a big PR, but I think it's very worthwhile 19:39:12 cause I think that would alleviate a lot of it 19:39:14 https://github.com/bitcoin/bitcoin/issues/10973 | Refactor: separate wallet from node by ryanofsky · Pull Request #10973 · bitcoin/bitcoin · GitHub 19:39:25 jamesob and I have both reviewed now, but it requires continual rebase 19:39:52 There are a lot of PRs competing for high priority for review, but I think it'd be great to make some progress on this one 19:40:03 place in high priority this week? 19:40:07 I'll start a round of manual testing if we can get another reviewer or two 19:40:10 can it be broken up at all? 19:40:14 so, next steps would be: concecpt ACK/NACKs 19:40:25 sounds like a high-priority-for-review nomination? 19:40:31 and if people think it's too much to review in one go, ryanofsky is happy to split 19:40:37 1500+ lines is too big IMO 19:40:41 oh no, not more high priority for review 19:40:48 jnewbery: this is orthogonal of using light client mode to decouple the wallet from the node? right,... it's more architectural? 19:41:07 jimpo: it's mostly very mechanical changes, but yes it's a large +-loc 19:41:16 is it blocking anything? is it importnat for 0.17? 19:41:25 there are only a couple of commits that require deep review 19:41:52 jnewbery: thanks for bringing it up; big PRs are sometimes unnecessarily scary to dig into 19:42:04 wumpus: it blocks (but doesn't necessarily have to lead to) process separation 19:42:12 But I guess it's hard/impossible to break it into smaller PRs 19:42:16 jonasschnelli: it makes explicit the bitcoind interface that the wallet relies on, which is in itself useful but also if we want to do any kind of process separation 19:42:19 jonasschnelli: you're correct 19:42:20 process separation is not something we'll have for 0.17 anyway 19:42:55 so at this stage it's more of a concept review beg from me, and a poll on whether russ should spend time splitting it up 19:43:14 I'll give it a pass by tomorrow 19:43:38 The reason I raised it is that because of the frequent rebases, reviews go stale very quickly, and it's now had two ACKs 19:43:41 thanks jimpo 19:43:50 i actually don't think it's hard to split up, first 6 commits seem to group together nicely, with rest of changes more independent 19:44:27 that's all from me. If 2 or 3 regular reviewers are happy to concept review, I think that's good progress 19:44:52 If we assume the long term goal is process separation (where the wallet will turn into a pure transaction-filtering-thinkg), isn't it, that the coin-selection & signing elements in this interface will get throw away later? 19:45:03 topic: unverified-block-message 19:45:15 topic: queue drain lock assertions to avoid deadlocks 19:45:42 #topic unverified-block-message (BlueMatt) 19:45:48 jonasschnelli, there aren't any coin-selection or signing things in node/wallet interface in that pr 19:46:24 maybe I should review the PR first... 19:46:54 BlueMatt: your topic 19:47:01 so sdaftuar pointed out an old issue that we never really addressed where if you relay someone a script-invalid block they may announce it to their peers via compact blocks high-bandwidth-mode and then if you for some reason fall back to downloading it via getdata due to short id collision or so (we dont think there is a way to game it), then you'll end up disconnecting that peer for never responding to your request 19:47:25 jonasschnelli, yeah, you can just take a look at https://github.com/ryanofsky/bitcoin/blob/pr/wipc-sep/src/interfaces/chain.h to see the interface (first link in PR description) 19:47:43 re 10973 I agree I would preffer a few smaller ones, specially if there's commits that needs deeper review 19:47:43 we only came up with two real potential solutions: a "no, I'm not gonna send you that block" message (ie a not-batshit-insane reject message) or a "here is a block that may be invalid, but is valid pow+merkle root ala compact blocks requirement" message 19:47:51 or, I guess the second one is a getdata type 19:48:01 BlueMatt: we have "notfound" also 19:48:13 sipa: isnt that a reject type? 19:48:16 no 19:48:42 NetMsgType::NOTFOUND 19:48:46 *5 chaincoders furiously grep for notfound* 19:48:48 it's just a "i can't give you these INVs" 19:48:51 oh wow 19:48:52 sipa: ah, but we dont use it for blocks 19:48:54 only txn 19:48:57 ah 19:49:04 still, easier would be a "here is a block that may be invalid" as that would remove the ABC in ProcessGetBlockData 19:49:09 the client ignores it just the same though 19:49:19 BlueMatt: so, lots of NOTFOUNDs :) 19:49:45 BlueMatt: we should have had that before compact blocks, i guess 19:49:56 sipa: should have had what? 19:50:05 sdaftuar: points out that it can be wholly independant, just a new getdata type 19:50:05 a possibly invalid block relay 19:50:17 i think we could just add a new BLOKC response type 19:50:21 BLOCK_COULDBEBAD 19:50:26 well or both or whatever 19:50:40 0xDEADB10C 19:50:42 where if someone requests a block but you don't know if its valid, or you know it's invalid, you return a different message containing the block to indicate that 19:50:47 hehe 19:51:07 yea, so old nodes would ignore it, and you'd just be sending a new message type 19:51:09 currently we would let the peer time us out instead 19:51:09 sdaftuar: but only if you know they support such a message 19:51:17 or not 19:51:17 meh, sure, but not even needed imo 19:51:19 doesnt really matter 19:51:28 I mean they're about to disconnect you either way 19:51:32 fair 19:51:44 that makes compatibility really easy 19:52:04 i guess... suggest something and write a bip? 19:52:35 oh, wait, no, you also want a new getdata type 19:52:43 cause otherwise you still need the ActivateBestChain in ProcessGetBlockData 19:52:52 which would require negotiation 19:53:02 yeah ok 19:53:11 so either that, or we start using NOTFOUNDs, I guess 19:53:25 I'm not sure what I prefer, so.....thoughts? 19:53:31 i think notfounds are worse because of the case where the block might not have been validated either way 19:53:35 it complicates download logic 19:53:51 if there is no specific reason to re-use NOTFOUND, a new message is much better imo 19:53:53 yea, its not really "notfound" its "I may find this soon" 19:54:08 or, really, "I dont currently find this" 19:54:13 i don't think we should do protocol design in this meeting 19:54:29 well, there's a few options, so...good to ask 19:54:46 not the design but discussing it as a concern is valid 19:54:51 agree BlueMatt 19:55:01 obviously requires BIP and whatever else 19:55:05 yes 19:55:55 #topic queue drain lock assertions to avoid deadlocks (BlueMatt) 19:56:09 this one is less interesting, i realize now I should just open a pr and people will see it 19:56:14 its kinda knotty to describe 19:56:25 but, essentially, if you call ABC within a validationinterface callback you're hosed 19:56:31 ok, well only 4 minutes t ogo anyhow 19:56:35 which sucks, but I dont think we have a way to fix it 19:56:44 so current approach is to document it and DEBUG_LOCKORDER-assert 19:56:55 we can relax the requirement a bit with skeees' proposed validation-in-its-own-thread stuff 19:57:02 but there will still be some call restrictions 19:58:18 ok endtopic 19:58:35 #endmeeting