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

Add a BitBucket host provider #37

Closed
mjcheetham opened this issue Apr 29, 2019 · 5 comments · Fixed by #116
Closed

Add a BitBucket host provider #37

mjcheetham opened this issue Apr 29, 2019 · 5 comments · Fixed by #116
Assignees
Labels
enhancement New feature or request host:bitbucket Specific to the Bitbucket host provider

Comments

@mjcheetham
Copy link
Collaborator

GCM Windows supports BitBucket as a Git host provider.. GCM Core should provide some support for this provider.

On Windows there is custom Windows-only UI that could/should be ported. On macOS we can use a TTY-based prompt (like we use for GitHub currently) for now.

@mjcheetham mjcheetham added the enhancement New feature or request label Apr 29, 2019
@mjcheetham mjcheetham self-assigned this May 13, 2019
@mjcheetham mjcheetham removed their assignment May 23, 2019
@mjcheetham mjcheetham added the inactive The issue or pull request is not being actively worked on label Sep 3, 2019
@mjcheetham mjcheetham removed the inactive The issue or pull request is not being actively worked on label Feb 3, 2020
@mjcheetham mjcheetham added the host:bitbucket Specific to the Bitbucket host provider label Apr 28, 2020
@mjcheetham mjcheetham self-assigned this May 12, 2020
@mminns
Copy link
Contributor

mminns commented May 15, 2020

Fantastic you've merged this.

I was playing with this myself. While it worked I've never had the time to polish it.

https://github.com/itofinity/Git-Credential-Manager-Core/tree/issue/37-Bitbucket-Support

I have a GUI component written in Avalonia that works cross platform as well
https://github.com/itofinity/Atlassian-Authentication-Helper

this is a screen shot from macOS
Annotation 2020-05-15 133542

@mminns
Copy link
Contributor

mminns commented May 15, 2020

FWIW running this on Windows for Bitbucket the OAuth success page isn't being displayed.

Annotation 2020-05-15 210235

@mjcheetham
Copy link
Collaborator Author

Hi @mminns,

Fantastic you've merged this.

I was playing with this myself. While it worked I've never had the time to polish it.

https://github.com/itofinity/Git-Credential-Manager-Core/tree/issue/37-Bitbucket-Support

It's awesome to see interest in getting Bitbucket into GCM Core 😃
Looks like we've duplicated a lot of work here, which is a shame 😢

I have a GUI component written in Avalonia that works cross platform as well
https://github.com/itofinity/Atlassian-Authentication-Helper

this is a screen shot from macOS
Annotation 2020-05-15 133542

This sounds like an interesting path forward for x-plat UI. I've never really used or explored much with Avalonia before. I assume Avalonia is pretty stable and somewhat compatible with existing WPF-flavoured XAML?

As you can see from #116 I'm in the process of getting a WPF/Windows only UI in for Bitbucket, based on the GCM for Windows version but with updated iconography and colours. I wonder if we can port that to Avalonia?

FWIW running this on Windows for Bitbucket the OAuth success page isn't being displayed.

image

Oh! I've never see "the connection was reset" before. Were you debugging when the OAuth redirect happened? I seem to remember some issues with timeouts if the browser connected to the localhost port but the 'server' didn't respond in a timely fashion.

For me:
image

Is this easily reproducible for you? Can you see any exceptions being thrown or caught in the GCM Core OAuth stack?

@mminns
Copy link
Contributor

mminns commented May 18, 2020

Morning, don't worry about the duplication. Part of the reason I did it was to force myself to learn more about x-platform development with DotNet Core and I did that. 👍

Apologies for not providing more context on the success page error, it was late-ish on Friday. I'll dig a bit deeper this week.

re: The Avalonia GUI.
I wonder if it makes sense for you to go ahead and compete the windows UI as planned at this time rather than looking to switch to Avalonia.
I could look at polishing my Avalonia implementation to mirror the revised theme/branding/layout you are using. The Avalonia implementation would then have some initial use as a drop in complimentary UI on macOS/Linux, independent of the official GCMC releases. Especially if I could come up with some kind of suitable installer. Then once it is a stable, proven component it could be reviewed as a possible replacement for the windows UI ?

@mjcheetham
Copy link
Collaborator Author

[..] learn more about x-platform development with DotNet Core and I did that. 👍

😁

Apologies for not providing more context on the success page error, it was late-ish on Friday. I'll dig a bit deeper this week.

No worries! If you do find some issue it'd be great if you could raise an issue. The OAuth stack is shared between the GitHub and Bitbucket providers so anything to make it more robust is a big win for everyone.

I wonder if it makes sense for you to go ahead and compete the windows UI as planned at this time rather than looking to switch to Avalonia.

Sure thing!

[re: Avalonia GUI] Then once it is a stable, proven component it could be reviewed as a possible replacement for the windows UI ?

Absolutely. I'd be very much open to replacing any Windows-only UI with a suitable x-plat replacement. As you've seen GCM Core introduced the notion of out-out-proc "auth UI helpers". Glancing over your host provider implementation I see you've introduced an environment variable (GCM_GUI_HELPER_PATHS) for a search path of external helpers; I like this idea. I've created an issue here to add upstream support for this #119 but there might be some issues to address.

@mjcheetham mjcheetham linked a pull request May 22, 2020 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request host:bitbucket Specific to the Bitbucket host provider
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants