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

docs: async migration #397

Merged
merged 1 commit into from
Aug 6, 2019
Merged

docs: async migration #397

merged 1 commit into from
Aug 6, 2019

Conversation

vasco-santos
Copy link
Member

In the context of js-libp2p being a skeleton project, when a new user tries to use this there is a probability of hitting problems, as a consequence of the on going efforts to migrate the codebase to async. For instance, if we try to install libp2p-bootstrap to use in the bundle, it will use the newest version by default, which is already migrated, taking problems to js-libp2p, which still expects callbacks.

This PR adds a note to new users in the README

@vasco-santos vasco-santos requested a review from jacobheun August 2, 2019 14:36
@didlie
Copy link

didlie commented Aug 5, 2019

I think the issue is that code migration to satisfy syntax is destructive to branch developers and almost irrelevant. Whatever code style was chosen and used to create a working and usable project, that is the code that should continue to be maintained and working. if obfuscation and annoyance and wasted time is the goal, then migrate the code bit-by-bit and ruin working branch applications and invalidate ports of the project... by all means.

@vasco-santos
Copy link
Member Author

@didlie I agree with avoiding immediate breaking changes, especially if they are really impactful. However, in this case, we have been talking about this since last year #266

The main goals with this change are to improve the efficiency of the codebase, decrease the bundle size of js-libp2p and provide an improved developer experience to the libp2p users. Supporting and maintaining the current implementations would not allow anything of this.

With this PR we are essentially pointing this information to new contributors, who would start a new project and try to use the latest versions of each libp2p modules, which is still not supported. For ongoing projects, each module that got upgraded was released as a breaking change, and users will be able to see if they should update to the newest version of a module, or wait until all the code migration is complete (until getting into js-libp2p).

@didlie
Copy link

didlie commented Aug 5, 2019

it will make the code more condense and less readable and less adaptable...why not just let it be compiled? compilation size should be identical.

@mikeal
Copy link
Contributor

mikeal commented Aug 5, 2019

@didlie compilation won’t fix the pull-stream issues. this isn’t just a style change, the actually semantics of how data is processed change and are cleaned up quite a bit by migrating to async iterators.

@didlie
Copy link

didlie commented Aug 5, 2019

@mikeal there is nothing unethical about mixing code versions in a single repo. It can actually help developers distinguish.

Copy link
Contributor

@jacobheun jacobheun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍
I've updated the comment at #266, to include the current supported minor version list of packages. We will update that as support is completed.

I appreciate the discussion on the impacts of the migration, but for visibility these should be done in the parent issue for async/await, ipfs/js-ipfs#1670.

This PR is to help inform about the current efforts already underway.

@jacobheun jacobheun merged commit a2b3446 into master Aug 6, 2019
@jacobheun jacobheun deleted the docs/async-migration branch August 6, 2019 10:01
maschad pushed a commit to maschad/js-libp2p that referenced this pull request Jun 21, 2023
## [5.0.2](libp2p/js-libp2p-kad-dht@v5.0.1...v5.0.2) (2022-11-05)

### Dependencies

* bump it-all from 1.0.6 to 2.0.0 ([libp2p#389](libp2p/js-libp2p-kad-dht#389)) ([0596485](libp2p/js-libp2p-kad-dht@0596485))
* bump it-drain from 1.0.5 to 2.0.0 ([libp2p#390](libp2p/js-libp2p-kad-dht#390)) ([fdda357](libp2p/js-libp2p-kad-dht@fdda357))
* bump it-first from 1.0.7 to 2.0.0 ([libp2p#391](libp2p/js-libp2p-kad-dht#391)) ([681c24e](libp2p/js-libp2p-kad-dht@681c24e))
* bump it-length from 1.0.4 to 2.0.0 ([libp2p#394](libp2p/js-libp2p-kad-dht#394)) ([ae07736](libp2p/js-libp2p-kad-dht@ae07736))
* bump it-map from 1.0.6 to 2.0.0 ([libp2p#396](libp2p/js-libp2p-kad-dht#396)) ([ac5101c](libp2p/js-libp2p-kad-dht@ac5101c))
* bump it-merge from 1.0.4 to 2.0.0 ([libp2p#393](libp2p/js-libp2p-kad-dht#393)) ([1acb5f1](libp2p/js-libp2p-kad-dht@1acb5f1))
* bump it-parallel from 2.0.2 to 3.0.0 ([libp2p#392](libp2p/js-libp2p-kad-dht#392)) ([06a2c48](libp2p/js-libp2p-kad-dht@06a2c48))
* bump it-take from 1.0.2 to 2.0.0 ([libp2p#397](libp2p/js-libp2p-kad-dht#397)) ([4e909d2](libp2p/js-libp2p-kad-dht@4e909d2))
* **dev:** bump it-filter from 1.0.3 to 2.0.0 ([libp2p#395](libp2p/js-libp2p-kad-dht#395)) ([5668f9c](libp2p/js-libp2p-kad-dht@5668f9c))
* **dev:** bump it-last from 1.0.6 to 2.0.0 ([libp2p#388](libp2p/js-libp2p-kad-dht#388)) ([5b55239](libp2p/js-libp2p-kad-dht@5b55239))
maschad pushed a commit that referenced this pull request Jun 22, 2023
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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.

4 participants