openshiftio / openshift.io

Red Hat OpenShift.io is an end-to-end development environment for planning, building and deploying modern applications.
https://openshift.io
97 stars 66 forks source link

cannot browse codebases without message about "github disconnected" #2757

Open maxandersen opened 6 years ago

maxandersen commented 6 years ago

I get a github disconnected on the codebases view - that should not happen as nothing on that page should rely on github being accessible.

screenshot below is from https://openshift.io/manderse@redhat.com/demomax/create:

2018-03-24_21-24-33

note, that on https://openshift.io/manderse@redhat.com/demomax/ I can see and view the codebases as expected - but not on this page; thus obviously you can list the codebases without github access.

maxandersen commented 6 years ago

marking as sev2 as it is not an absolute blocker for user; but it is a serious bug in design and implementation if we are starting to add more and more assumptions that remote systems will always be available and connected.

joshuawilson commented 6 years ago

@dgutride can you take a look since you touched the connection with github? @andrewazores can you take a look since you touched the codbases? cc @rohitkrai03 @ashumilova for awareness

dgutride commented 6 years ago

@joshuawilson @maxandersen - this is not accidental - quite a bit of that page in it's current design relies heavily on github information so we can't show that page without requiring a github connection. If you'd like to recommend just a simple list with no actions or details if github is not available, we'd need to see what the design should look like but shouldn't be an impossible ask.

For example: /src/app/space/create/codebases/codebases-item-details/codebases-item-details.component.ts this.codebase.gitHubRepo.htmlUrl = gitHubRepoDetails.html_url; this.codebase.gitHubRepo.fullName = gitHubRepoDetails.full_name; this.codebase.gitHubRepo.createdAt = gitHubRepoDetails.created_at; this.codebase.gitHubRepo.pushedAt = gitHubRepoDetails.pushed_at;

joshuawilson commented 6 years ago

I forgot that we need the users github access to query otherwise we would have to do it for them and then we risk using our allotted API calls.

andrewazores commented 6 years ago

Agreed with Dana. It's definitely possible to list all of the codebases without having a GitHub connection, but that means that a lot of the information currently displayed in the view will not be available since it comes from GitHub. We'd want a design for what the view should look like in this scenario. I can work on implementing it once we do have that design.

joshuawilson commented 6 years ago

cc @catrobson

maxandersen commented 6 years ago

but that means that a lot of the information currently displayed in the view will not be available since it comes from GitHub

Yes - but this is to be expected - github could also be down or access been revoked etc. the system need to be built in both UX and code level to handle failure gracefully.

btw. since I reported this things seem to have changed to the better - when I revoke openshift.io github access I now see this:

2018-04-06_09-37-38

Which is much better - as it does not block me from working. what I'm missing here though is that it doesn't help much having "Unavailable" listed everywhere - would be useful to maybe instead just hide all that non-accesible data and have a single link to "Detail info not available - click here to check credentials/access" or something similar to let the user actually help himself in the casee of it being a matter of access not available.

andrewazores commented 6 years ago

@maxandersen that new state you're seeing comes from here:

https://github.com/openshiftio/openshift.io/issues/2548 / https://github.com/fabric8-ui/fabric8-ui/pull/2635

It's designed for the scenario where GitHub credentials are still there but the repository has been removed upstream.

maxandersen commented 6 years ago

Nice; i would say its more likely to have no connection to github or not have working credentials. Good both issues are helping each other here.

andrewazores commented 6 years ago

I'm not sure if there's any design or plan to have a more visible "GitHub is disconnected" application state for the user. Would this be something that might become a persistent notification in a global notification drawer, for example? Having such a notification might alleviate the need to have specific handling for this case in each view that touches the GitHub connection.

In the short term, would adding a button to this view that appears when GitHub is disconnected, which links to the user's profile (Connected Accounts), help? The error state could remain the same as it is now with the "Unavailables" everywhere, but at least if the user sees every repo is like that and sees a labeled button at the top explaining the lost GitHub credentials, it will be quite evident what the problem is and quite convenient to take a step to solve it.

andrewazores commented 6 years ago

@openshiftio/uxd-team

sbose78 commented 5 years ago

Hi @serenamarie125 , Do you think we should address this soon? Asking in case this would be part of the information architecture review.