-
Notifications
You must be signed in to change notification settings - Fork 452
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
Updated the IPv8 pointer #7620
Updated the IPv8 pointer #7620
Conversation
f6e0649
to
48b860c
Compare
48b860c
to
e81c53b
Compare
02f61de
to
35d81ca
Compare
35d81ca
to
dc55a18
Compare
dc55a18
to
46e738c
Compare
I'm not sure what is wrong with |
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.
It's great to see the pyipv8 version updated; thank you for keeping it current.
Regarding the other changes, I have some questions.
I'm not sure that introducing the CommunitySettings is an improvement. What is the necessity of this intermediate class, and what benefits does it provide over simply and directly passing arguments through the constructor?
Additionally, this PR introduces a new dependency (typing_extension). Could you elaborate on the advantages of using it and explain why native typing is insufficient?
This was introduced due to pylint/ruff's The necessity comes from the fact that Tribler will not work anymore with the latest version of IPv8 without this change. However, you can always hotpatch in some dirty construction later if you really want to. For this PR, I'll stick to the recommended approach.
|
Too many arguments in a function can sometimes be a signal, or 'smell,' of suboptimal code or design. While this might be true in some instances, it's not universally applicable. The number of function parameters should not serve as an absolute indicator necessitating refactoring. In Tribler, some communities do indeed have numerous parameters, while others do not. Therefore, only a few communities in Tribler appear to be potential candidates for refactoring, not all of them. In this context, I'd argue that the necessity for a specialized Please consider amending ipv8 such that this feature becomes optional instead of mandatory.
I understand. If 'IPv8 uses typing_extensions for the backports of Self and Protocol,' then IPv8 should install this dependency during its installation. It should not depend on the target application (Tribler) to install all required libraries. |
Calling an API a dictatorship seems a bit overly dramatic but I guess I can agree to being a dictator: I don't think it's a bad thing to have an API.
It does. However, Tribler redefines exact versions of dependencies that only appear in IPv8. I added this to be consistent. I get the overall feeling that you are not favor of this PR, which is fine: I'm not here to force you to use anything and I'll just close it. |
This PR upgrades Tribler to the latest IPv8 version.