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

Plan 0.12 release #114

Closed
4 of 5 tasks
Frando opened this issue May 16, 2020 · 7 comments
Closed
4 of 5 tasks

Plan 0.12 release #114

Frando opened this issue May 16, 2020 · 7 comments

Comments

@Frando
Copy link
Member

Frando commented May 16, 2020

This is a tracking issues on what I think we should merge for a breaking 0.12 release soonish:

breaking changes

non-breaking changes

I think it would be great to get those merged rather sooner than later, because at least the first three ones all change the public and internal API so that all other PRs oftenly have to be manually updated.

Because we don't have, I think, anyone using hypercore-rs, and because there is no one "properly" maintaining this at the moment, I propose that we let this issue sit here for a couple of days or a week and then go ahead, merge the PRs, and figure out bugs and issues in the process.

Also very open to other suggestions :)

@bltavares
Copy link
Member

Awesome strategy creating this issue for tracking.

I will land the PRs this Sunday and release it with RC versions then, and we can promote a 0.12 after we are able to test all of this together

@bltavares
Copy link
Member

bltavares commented May 16, 2020

Trying to set network in colmeia, I ended up with a design where a hyperdrive is contained inside a PeeredHyperdrive, and a hypercore is contained on a PeeredHypercore.

https://github.com/bltavares/colmeia contains a similar protocol layer to https://github.com/Frando/hypercore-protocol-rs, producing events. The peered version of each struct contains the struct and the protocol channel in order to drive the underlying struct.

There is a set of unimplemented! functions related to networking on hypercore, but I'm thinking that we might not be able to implement it as a 1:1 mapping to JS as how Rust ownership led me to design the network methods as a wrapper to the hypercore struct.

@Frando I'm wondering if you will endup with a similar desing as well, and if you endup on the same desing I think it would be better to remove the network methods (eg: have, unhave) and add them to the peered layer. This would be a breaking change that could go on 0,12. What do you think?

@dumblob
Copy link

dumblob commented Dec 5, 2022

What are the next steps?

I wonder if there is (will be) any hypercore implementation in pure Rust to allow being incorporated into DeltaChat along with IPFS.

@ttiurani
Copy link
Member

ttiurani commented Dec 5, 2022

Unrelated to this issue, but I've been working on JS v10 compatibility for a while. The branches are at:

https://github.com/ttiurani/hypercore/tree/v10

and

https://github.com/ttiurani/hypercore-protocol-rs/tree/v10

I'm currently testing my changes with upstream projects, but hopefully those will land at some point here. v9 -> v10 changed just about everything on the javascript-side so trying to keep v9 also working might not be worth the effort.

@dumblob
Copy link

dumblob commented Dec 5, 2022

@hpk42 as discussed in deltachat/deltachat-core-rust#3227 it seems @ttiurani works on bringing the recent hypercore to Rust.

So not everything is lost...

Thanks @ttiurani !

@cowlicks
Copy link
Contributor

cowlicks commented Nov 7, 2023

I think this issue can be closed seeing that 0.21.1 has been released. But what is to be done about #113 ?

@ttiurani
Copy link
Member

ttiurani commented Nov 7, 2023

Closing as plans changed with v0.12 was for hypercore v10 compatibility first. #113 did not make it yet, but should be seriously re-considered for v1.0.

@ttiurani ttiurani closed this as completed Nov 7, 2023
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

No branches or pull requests

5 participants