Geo Lists: UI Cleanup
What does this MR do and why?
Closes #553399 (closed)
This change comes from collaboration with @annabeldunstone and the UX Paper Cuts team in an attempt to deliver a UI more aligned with our Pajamas design principals. This change includes the following:
- Moving the page header into Vue and moving the Bulk Actions into the header
- Adding a
retryicon to the Resync action -
GlIcon=>GlBadgefor status icons - Using
·instead of|for metadata - Removing red background and text from error component
- Adding chevron icon to the
GlCollapse - Various spacing cleanup
Screenshots or screen recordings
| Before | After | |
|---|---|---|
| Full Success | ![]() |
![]() |
| Replication Pending | ![]() |
![]() |
| Replication Started | ![]() |
![]() |
| Replication Failed | ![]() |
![]() |
| Verification Pending | ![]() |
![]() |
| Verification Started | ![]() |
![]() |
| Verification Failed | ![]() |
![]() |
How to set up and validate locally
Setup Geo (optional)
Important: To properly test Geo you will need a separate GDK setup. Setup is straightforward but takes some time. Another option is to validate the code functionally and if needed schedule a call to sync and I can screen share my instance.
- Ensure no other GDKs are running.
gdk stop/gdk kill - Open an empty directory and install and run Geo with the one-line command found on the Easy installation instructions
- Access your primary and secondary Geo instances via
127.0.0.1:3000and127.0.0.1:3001.
Testing
Basic UI
- Access your primary GDK Geo Page (
127.0.0.1:3000/admin/geo) - Scroll down to the very bottom
Replication detailssection - Click one of the blue links (ex:
Project Repositories) - Ensure UI looks as expected based on screenshots
Trigger Sync Errors
- Access rails console on your Secondary (
rails c) - Execute
registry = Geo::ProjectRepositoryRegistry.first- This assigned the first ProjectRepositoryRegistry to a variable
registry
- This assigned the first ProjectRepositoryRegistry to a variable
- Execute
registry.failed!(message: "The sync has failed", error: ArgumentError.new("arg error"))- This simulates a Sync Failure
Trigger Verification Errors
- Access rails console on your Secondary (
rails c) - Execute
registry = Geo::ProjectRepositoryRegistry.first- This assigned the first ProjectRepositoryRegistry to a variable
registry
- This assigned the first ProjectRepositoryRegistry to a variable
- Execute
registry.verification_pending!and thenregistry.verification_failed_with_message!('Error during verification', ArgumentError.new("asdf"))- This simulates a Verification Failure
Various Other States
- Access rails console on your Secondary (
rails c) - Execute
registry = Geo::ProjectRepositoryRegistry.first- This assigned the first ProjectRepositoryRegistry to a variable
registry
- This assigned the first ProjectRepositoryRegistry to a variable
- To manually set the Sync State
registry.update(state: 0)(or 1, 2, 3) - To manually set the Verification State
registry.update(verification_state: 0)(or 1, 2, 3)
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Related to #553399 (closed)
Edited by Zack Cuddy













