[go: up one dir, main page]

UI/UX: terrible experience in project settings due to expanding/collapsing sections

Use case 1: sharing direct links

It's impossible to share direct links to settings due to "Expand" buttons present in most settings pages.

At best, I can share a link to PROJECT_URL/settings/repository, and then say/write "Expand Protected Branches section".

Use case 2: add three protected branches

  1. Go to PROJECT_URL/settings/repository.
  2. Expand "Protected Branches".
  3. Protect new branch.
  4. Expand "Protected Branches".
  5. Protect new branch.
  6. Expand "Protected Branches".
  7. Protect new branch.

Use case 3: setup repo mirroring

  1. Go to PROJECT_URL/settings/repository.
  2. Expand "Push to a remote repository"
  3. Fill in and submit.
  4. Expand "Push to a remote repository"
  5. Click "Refresh"
  6. Expand "Push to a remote repository"
  7. Watch the progress.
  8. Get bored, hit F5 to refresh.
  9. Expand "Push to a remote repository"
  10. Watch the progress.

Use case 4: remove 10 stale runners

  1. Go to PROJECT_URL/settings/ci_cd.
  2. Expand "Runners"
  3. Click delete icon at a runner.
  4. Expand "Runners"
  5. Click delete icon at a runner.
  6. Expand "Runners"
  7. Click delete icon at a runner.
  8. Expand "Runners"
  9. Click delete icon at a runner.
  10. Expand "Runners"
  11. Click delete icon at a runner.
  12. Expand "Runners"
  13. Click delete icon at a runner.
  14. Expand "Runners"
  15. Click delete icon at a runner.
  16. Expand "Runners"
  17. Click delete icon at a runner.
  18. Expand "Runners"
  19. Click delete icon at a runner.
  20. Expand "Runners"
  21. Click delete icon at a runner.

Summary

Having to expand a section each time a page reloads is terrible and extremely annoying. We can do better:

  1. Introduce a permalink to each section. Append #sectionname to URL after a section has been expanded.
  2. Point all non-AJAX form submissions to the appropriate #sectionname.
  3. Auto-expand a section upon

UX

CC @dzaporozhets @JobV @markglenfletcher @mikegreiling @pedroms @tauriedavis