-
Humza
Hello people. I hope everyone is doing good here. Just wanted to have a little discussion about the amount of issues and pull requests pending in the Monero repository. Over 200 PRs and more than 400 issues are pending and most of them seem to be very old, dating a few months to couple years ago (estimation based
-
Humza
on a peek). Solving them and decreasing their count is better in my opinion as it increases the ease of contribution and decreases the burden on the developer (you as a developer know better here). It will be fairly quicker for new people to contribute to monero's repository and not having wait forever to get their PRs approved and merged
-
Humza
(frankly, there aren't new people contributing, only the familiar faces). Honestly speaking, these numbers are comparatively lower than other repositories that you see which are the same size as Monero. I'd like to hear from developers what they think about this. Remember that I'm speaking from perspective of a neophyte, please correct me if I'm
-
Humza
wrong anywhere, I'd really appreciate that. - In a good faith, from Humza.
-
m-relay
<syntheticbird:monero.social> Humza almost all of the open PRs are stalled because they lack review. Monero repo enforce 3 (weighted)approval before merging
-
m-relay
<syntheticbird:monero.social> some of them have simply not been closed
-
m-relay
<syntheticbird:monero.social> or are not updated to current branch
-
Humza
syntheticbird So the issue is probably because they are not enough code reviewers? Can't really comment on that as I do not hold much knowledge about the dev team itself.
-
Humza
What do you mean by "some of them have simply not been closed"? It is possible to forcefully close older PRs right?
-
m-relay
<ofrnxmr:xmr.mx> For some prs, particularly larger ones, yes, need more reviewers. For a majority of others, no, they are just incomplete or changes that arent agreed upon
-
m-relay
<syntheticbird:monero.social> Humza, yeah unfortunately not all capable reviewers have time or dedication to review all the PRs. Most of the time they only review what is interesting to them
-
m-relay
<syntheticbird:monero.social> yeah ofrnxmr is right i forgot some PRs just are stalled in discussion
-
m-relay
<syntheticbird:monero.social> as for PRs "not closed", there are some PRs that were relevant in the past but not anymore
-
Humza
Makes sense, If that's the case, then why doesn't anyone close them?
-
m-relay
<syntheticbird:monero.social> because we forget they exist
-
m-relay
<syntheticbird:monero.social> as you may imagine, it's not fun to go check the 400 PRs individually
-
m-relay
<syntheticbird:monero.social> sometimes, somewhere, somehow, someone drops in chat someone remind the status of some PR and if some maintainer pass by he will execute to the task
-
m-relay
<syntheticbird:monero.social> s/chat someone/chat
-
m-relay
<syntheticbird:monero.social> s/he/they
-
Humza
Fair, it's really cumbersome.
-
m-relay
<syntheticbird:monero.social> indeed
-
m-relay
<syntheticbird:monero.social> You can always check the 200 PRs and make an issue about cleaning some of them
-
m-relay
<syntheticbird:monero.social> if you make an issue maintainers will see it and do the job
-
m-relay
<ofrnxmr:xmr.mx> having them open isnt a bad thing, unless the prs are universally agreed to be no-good
-
m-relay
<ofrnxmr:xmr.mx> The focus / place we can do better, is with prs that _are_ agreed to be good, but dont have enough eyes on them
-
Humza
Frankly speaking, the code base is kinda complex :^)
-
m-relay
<ofrnxmr:xmr.mx> reviewers are often devs too, workin on their own prs. So reviewing means they have to stop working on their code to take time to review someone elses. This is the usual bottleneck
-
m-relay
<syntheticbird:monero.social> which part are you currently reviewing
-
Humza
Additionally the code progress is relative small since developers are underpaid (are they? I dunno)
-
m-relay
<syntheticbird:monero.social> LMAO
-
m-relay
<ofrnxmr:xmr.mx> In monero, devs have to pay to contribute /s
-
Humza
I'm not reviewing anything, I just came here after getting overwhelmed by the code :)))
-
m-relay
<syntheticbird:monero.social> yeah i mean what part of the codebase got you overwhelmed with
-
Humza
All, I started with checking the wallet code and it was already over when I saw that it's 666kB.
-
m-relay
<syntheticbird:monero.social> lmfao
-
m-relay
<syntheticbird:monero.social> rule 1: Never look at wallet2.cpp
-
Humza
Ehh, I'm not really experienced developer. I'm just an amateur who barely knows stuff about cryptography n' shit.
-
m-relay
<syntheticbird:monero.social> thats fine everyone start somewhere
-
m-relay
<monero.arbo:matrix.org> real answer: it's all volunteer / donation based
-
m-relay
<syntheticbird:monero.social> real answer: nuh uh
-
m-relay
<sbt:nope.chat> What is it then?
-
m-relay
<syntheticbird:monero.social> nuh uh
-
m-relay
<basses:matrix.org> some issues should've been closed and I already mentioned some few days ago
-
m-relay
<basses:matrix.org> .
-
m-relay
<ofrnxmr:monero.social> You said "think". Need confirmations
-
m-relay
<basses:matrix.org> win7 is no longer getting security updates
-
m-relay
<basses:matrix.org> and the debian issue already solved according to Erc
-
m-relay
<ofrnxmr:monero.social> Debian _testing_ has 18.4xx, debian stable does not. Tails uses stable iiuc
-
m-relay
<ofrnxmr:monero.social> The issue resolved is a separate issue - that debian testing removed monero because of some issue. Monero was readded to testing (and seems to be maintained), but tails doesnt ship testing, it ships stable (iiuc)
-
m-relay
<ofrnxmr:monero.social> [@tritonn:matrix.org](https://matrix.to/#/@tritonn:matrix.org) "no"
-
m-relay
<bobolisto:matrix.org> Thanks for the explanation. I don't really understand how it works but I can follow it. So the FCMP is only valid for that specific merkle tree. If I change one output then the FCMP becomes invalid even though my output is still there?
-
m-relay
<kayabanerve:matrix.org> BoboListo: Every block produces a new Merkle tree and your FCMP is only valid for a specific tree.
-
m-relay
<kayabanerve:matrix.org> We don't require your FCMP be valid against the most recent tree however, solely any on-chain tree.
-
m-relay
<kayabanerve:matrix.org> So if a new block is mined, and a new tree is defined, your existing FCMP remains valid so long as the old tree's block isn't reorganized out.
-
m-relay
<kayabanerve:matrix.org> > If I change one output then the FCMP becomes invalid even though my output is still there?
-
m-relay
<kayabanerve:matrix.org> If your FCMP remained valid, it'd reveal it _wasn't_ the removed output (making it not private) OR it'd be a broken proof.
-
m-relay
<bobolisto:matrix.org> Ok I get the basics of it now. Thanks
-
m-relay
<jeffro256:monero.social> We can do this efficiently since the verifier only needs the *root* of the tree once it has calculated the FCMP tree for that set of outputs, which is 32 bytes. So the blockchain database expands an extra 32 bytes per block to store this root value. Transaction proofs reference the FCMP tree root by pointing to a "reference block"