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

Improve handshake callbacks #629

Merged
merged 5 commits into from
Jan 20, 2022
Merged

Improve handshake callbacks #629

merged 5 commits into from
Jan 20, 2022

Conversation

AdityaSripal
Copy link
Member

Closes: #628

@colin-axner
Copy link
Contributor

should this pr update the ICS apps as well (ICS20 and ICS27)? Or will that be done separately?

@colin-axner
Copy link
Contributor

middleware spec probably needs to be updated as well

spec/core/ics-026-routing-module/README.md Outdated Show resolved Hide resolved
spec/core/ics-026-routing-module/README.md Outdated Show resolved Hide resolved
spec/core/ics-026-routing-module/README.md Outdated Show resolved Hide resolved
spec/core/ics-026-routing-module/README.md Outdated Show resolved Hide resolved
spec/core/ics-026-routing-module/README.md Outdated Show resolved Hide resolved
spec/core/ics-026-routing-module/README.md Outdated Show resolved Hide resolved
AdityaSripal and others added 2 commits January 11, 2022 17:08
// generate a new identifier if the provided identifier was the sentinel empty-string
channelIdentifier = generateIdentifier()
}
channelIdentifier = generateIdentifier()
Copy link
Contributor

Choose a reason for hiding this comment

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

So much simpler 😄

Copy link
Contributor

@colin-axner colin-axner left a comment

Choose a reason for hiding this comment

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

Including the removal of crossing hellos in this pr is fine, but I'd prefer it to be done in a separate pr. I think mashing together changes which aren't necessarily associated is bad practice. It is easier to understand what changes are made and the justification for those changes if they are logically isolated in the commits pushed to the master branch. Each IBC implementor would (hopefully) update their implementations with these changes and we should make it as easy as possible for them to do so. If there isn't already, there should be some sort of CHANGELOG which can inform implementors of changes they should make

Ideally we would have 3 pr's:

  • removing crossing hellos from connection
  • removing crossing hellos from channel
  • improvement of version negotiation in channel handshake

As an implementor, this is how I would breakup the issues/pr's from the proposed changes

As a side note, I'd love to see the justification for removing crossing hellos logged somewhere, otherwise there will be discussion of why crossing hellos was removed in the future

} else {
// generate a new identifier if the provided identifier was the sentinel empty-string
channelIdentifier = generateIdentifier()
}
Copy link
Contributor

Choose a reason for hiding this comment

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

You need to remove previous == null checks

@AdityaSripal
Copy link
Member Author

AdityaSripal commented Jan 14, 2022

I understand what you're saying but we also have to balance the fact that the spec repo moves much much slower than implementation (we are actively working to fix this!). But in the interim, I think it makes sense to respond to things that are semantically linked in the same PR to avoid long response times.

I'm planning to merge this PR as it currently is, and then write the following PRs:

  • Connection handshake fixes
  • Fixes to applications/middleware

That being said. I agree strongly with your suggestion for a CHANGELOG. Since we don't have one at the moment, I'll open a separate PR to write the changelog for changes since 1.0. And then future PRs will include the changelog entry before merge

Copy link
Contributor

@cwgoes cwgoes left a comment

Choose a reason for hiding this comment

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

ACK, all these simplifications make sense to me

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

Successfully merging this pull request may close these issues.

Modify App Callbacks to improve version negotiation flow for Relayers
5 participants