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

refactor: remove connection protocol #3184

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

dbluhm
Copy link
Contributor

@dbluhm dbluhm commented Aug 19, 2024

This PR Removes the deprecated connections protocol.

In addition to the message handlers and routes, this also means:

  • CLI flags relating to connections protocol removed.
  • References to specific messages in base connection manager were removed; there will need to be some working around this in the plugin to continue to support the protocol but I think it's good and necessary to at least rip it out for now here.
  • Introduction protocol used to use Connections invitations. I did a very rough-and-ready conversion to OOB invites.
  • Connections management routes (e.g. querying connections) were moved to aries_cloudagent.connections.routes (from aries_cloudagent.protocols.connections.v1_0.routes).

I am expecting this to not be fully functional yet so opening as a draft for now.

@PatStLouis
Copy link
Contributor

@dbluhm it was mentioned on the call this was moved to a plugin. Is the code to enable using that plugin included in this pr?

@swcurran
Copy link
Contributor

It’s in the plugin repo: openwallet-foundation/acapy-plugins#925

@PatStLouis
Copy link
Contributor

@swcurran thank you, I was referring towards the "code required to make this plugin work" which was highlighted in the meeting.

The functionality lost/broken features outlined here, will this require code from within the aca-py code base or it can all be managed in the external plugin?

@swcurran
Copy link
Contributor

Doh…sorry about that. Good point. And per my comment in the meeting — is it viable to simply document how to use the plugin? I suppose not being able to use the artifacts directly (e.g., having to change the Python code) might be a bit too painful.

@dbluhm dbluhm force-pushed the refactor/remove-connection-protocol branch from feb4202 to 5f60057 Compare September 19, 2024 13:45
@dbluhm
Copy link
Contributor Author

dbluhm commented Sep 19, 2024

With the most recent updates on this branch and to the corresponding plugin, I have successfully completed a connection using the plugged in connection protocol. There are some failing tests I will address but I will go ahead and mark this as ready for review.

@dbluhm dbluhm marked this pull request as ready for review September 19, 2024 15:11
Signed-off-by: Daniel Bluhm <dbluhm@pm.me>
Signed-off-by: Daniel Bluhm <dbluhm@pm.me>
Signed-off-by: Daniel Bluhm <dbluhm@pm.me>
Signed-off-by: Daniel Bluhm <dbluhm@pm.me>
Signed-off-by: Daniel Bluhm <dbluhm@pm.me>
Signed-off-by: Daniel Bluhm <dbluhm@pm.me>
Signed-off-by: Daniel Bluhm <dbluhm@pm.me>
Signed-off-by: Daniel Bluhm <dbluhm@pm.me>
@dbluhm dbluhm force-pushed the refactor/remove-connection-protocol branch from 1c844c8 to bdf74b0 Compare September 23, 2024 16:12
Copy link

sonarcloud bot commented Sep 23, 2024

Quality Gate Failed Quality Gate failed

Failed conditions
52.8% Coverage on New Code (required ≥ 80%)

See analysis details on SonarCloud

Copy link
Contributor

@jamshale jamshale left a comment

Choose a reason for hiding this comment

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

This looks great! I think this deprecation support path is really going to help manage complexity.

I'm just wondering if maybe a scenario test that installs the plugin and creates a v1 connection might be a good idea.

I don't see any reason not to approve this. We'll need good docs for when it gets released. Guaranteed people are going to upgrade without realizing this change has happened.

@swcurran
Copy link
Contributor

Cool. Let’s include in our discussion tomorrow the version number if we remove this. 1.1.0?

Should the SonarCloud analysis be addressed before merging?

@dbluhm
Copy link
Contributor Author

dbluhm commented Sep 23, 2024

I'm just wondering if maybe a scenario test that installs the plugin and creates a v1 connection might be a good idea.

We can do that though this is basically what's happening in the integration test of the plugin itself. So I'm not sure how valuable it is for it to be tested in both places.

We'll need good docs for when it gets released.

Indeed, I have not adequately addressed this need yet.

Should the SonarCloud analysis be addressed before merging?

I am not too concerned personally. The most complaints are coming from code that was just moved but detected as new in the connection routes (moved from the protocols.connections.routes to connections.routes).

Copy link

sonarcloud bot commented Oct 10, 2024

Quality Gate Failed Quality Gate failed

Failed conditions
37 Security Hotspots
4.7% Duplication on New Code (required ≤ 3%)
D Reliability Rating on New Code (required ≥ A)

See analysis details on SonarCloud

Catch issues before they fail your Quality Gate with our IDE extension SonarLint

@dbluhm
Copy link
Contributor Author

dbluhm commented Nov 12, 2024

Fun list of merge conflicts to address. I'll work on getting this PR updated but then we ought to merge ASAP to prevent this from happening again 😅

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