Skip to content
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

Combine the projects Richard left behind (and refactors) #17

Closed

Conversation

stevefan1999-personal
Copy link

This PR will do the following:

  1. Pull in https://github.com/Myina/peer-talk and its git histories
  2. Pull in https://github.com/ipfs-shipyard/net-ipfs-http-client and its git histories
  3. Pull in https://github.com/stevefan1999-personal/net-ipfs-engine and its git histories
  4. Rewrite all the dependencies to use internal project references
  5. Do a medium-large scale refactor (we still have unit testes so no worries)

It is done in a way so that all the former git contributions by @richardschneider will be pass on. Apparently, he has passed away, so it is safe to say this code ownership reassumption would be fine to him.

TODO:

  1. Fix CI, notably unit testing
  2. Fix documentation generation
  3. Fix Nuget publishing (we can publish to both public nuget for release and Github Packages for cutting edge)
  4. Make sure all dependencies are up-to-date

fix(Identify1): multiaddress ends with peer ID
@erikmav
Copy link
Contributor

erikmav commented Mar 17, 2023

Consider implementing #20 as part of this to reduce package version redundancies. Part of that work item involves upgrading to latest package versions, which you also list here. (Alternately if you want to get this PR complete ASAP #20 can follow.)

@stevefan1999-personal stevefan1999-personal marked this pull request as ready for review March 18, 2023 15:16
@stevefan1999-personal stevefan1999-personal changed the title WIP: Refactor Combine the projectts Richard left behind (and refactors) Mar 18, 2023
@stevefan1999-personal stevefan1999-personal changed the title Combine the projectts Richard left behind (and refactors) Combine the projects Richard left behind (and refactors) Mar 18, 2023
@stevefan1999-personal
Copy link
Author

@Arlodotexe @Derrick- sorry to bother but both of you are the last two people who worked on it before. I think this PR is ready, I wonder if you guy would like to review it, thanks.

erikmav
erikmav previously approved these changes Mar 18, 2023
@Derrick-
Copy link
Contributor

Derrick- commented Mar 22, 2023

This looks good to me. I'm not sure what's going on with @Arlodotexe. My PR is still pending too.
I'm really happy to see the work on this project. Perhaps a conversation about more repo maintainers would be beneficial.

Derrick-
Derrick- previously approved these changes Mar 22, 2023
@erikmav
Copy link
Contributor

erikmav commented Mar 22, 2023

@stevefan1999-personal I'm looking at build and test failures. I sent 1 PR onto this branch to fix cetral package versions. Many test failures are from package upgrades, looks especially like the cbor package is not honoring config to keep lowercasing (e.g. PutAndGet_poco test), which affects many tests expecting different content hashes when case is different. I'll send another PR with what I have, but if you want to merge please do and I'll PR onto main.

@stevefan1999-personal stevefan1999-personal dismissed stale reviews from Derrick- and erikmav via c070a34 March 23, 2023 08:22
@Arlodotexe
Copy link
Collaborator

I'm really happy to see the work on this project. Perhaps a conversation about more repo maintainers would be beneficial.

I'm open to this, if we can find the right person. Contact me on Discord, we have an #ipfs-shipyard channel in the UWP/Windows App Community we use for communication on the .NET libraries.

@Arlodotexe
Copy link
Collaborator

Arlodotexe commented Mar 25, 2023

@stevefan1999-personal

In case you missed it, we've already pulled in, fixed up and shipped the net-ipfs-http-client.

For the rest - Due to a combination of complexity, lack of developer resources, and ever-changing standards, we opted not to bring in Richard's peertalk or net-ipfs-engine implementation.

To bring these back, we'd need to

  • Make sure the basic features still work
  • Get it up to par with newer versions of libp2p / Kubo (not an easy task)
  • Find someone willing and capable of spearheading the efforts long-term.
  • Optionally, join and align with the Content Routing working group, alongside Kubo, Iroh and others.

If we can do the above, we can create a new repo and ship a full .NET implementation from the shipyard.

To keep things moving, for now we've scoped these projects to working with the IPFS HTTP API and the Kubo RPC API.

If you need Kubo standalone in your application, the best option right now may be to use the official binary via KuboBootstrapper in OwlCore.Kubo, at least until a more portable (and well-maintained) implementation is available, such as a WebAssembly version.

You can read about our transition from Richard Schneider's libraries here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants