-
Notifications
You must be signed in to change notification settings - Fork 111
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: accept up to 64 content items, not just 8 #1485
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2de2ce2
to
85035db
Compare
Hm, well it's concerning that this changes the actual message encoding, which is to be expected I suppose:
So why is the code on master working, if other clients are expecting 64 bits of accepted content IDs and we're only sending 8? |
Besides Kolby, looks like @ogenev was the last to touch these lines of code (in early 2023 😆 ). Any idea what's going on here? If either of you immediately see it, great. If not, I'll hunt it down next time I'm Flamingo. |
This PR updates This PR changes the BitList so the max BitList capacity can be 64, but the capacity chosen is determined by the offer sent |
Hm, yeah. So obviously we do need to test that the message is capable of holding 64 items, it's just that this test assumes only 8 max in the encoded hex. And the bitlist is variable size, depending on the message. |
If you want to test that we could updated the expected_encoded to This would make a good hive test, and I can make that. I don't think this is a blocker to this PR, though. Although I agree we should add an end to end test for this which I can do quick |
Yup, this was the direction I was headed.
That sounds great
I think it is. We are kind of sloppy about this as a team sometimes, because the incremental cost of adding a test for each scenario can be pretty high. But as much as possible we should include a test with every PR. This one should be straightforward. |
85035db
to
06a4d4e
Compare
Oh, I'm realizing I probably misinterpreted you. You meant that the hive test is not a blocker for this? Yeah I agree with that. Just the local test, which is now added. |
I think this is a misunderstanding. What I am saying is we can fix the test broken by this PR, and add a test if wanted as well, well fixing the test broken by this PR.
I said that in response to this. It takes less time than it took to write this message to add a test, making sure the accept message can now send a bitlist with 64 items. I was kind of confused by this response because I thought a commit could just be pushed, which
None of this takes time, so I don't see why any of it would block this PR. Currently, CI is failing, so I assumed we could fix the tests. As I said before, my understanding was that tests would be added. I also mentioned I would be writing a Hive test, which is good as it would help all clients. What I meant by I would say there is a blocker if something drastically wrong with the PR needs to be discussed or if there is a misunderstanding. I think everybody is on the same page with this PR, so I don't think there is a blocker that needs to be discussed. Sorry for the confusion. I will try to better articulate what I mean next time if I ever refer to something as |
What was wrong?
Fix #1484
How was it fixed?
Increase the size of the Accept Bitlist
To-Do