[Draft] Add alerts for repository mirroring
<!--IssueSummary start--> <details> <summary> Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards. </summary> - [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=509463) </details> <!--IssueSummary end--> Context https://gitlab.com/gitlab-org/gitlab/-/merge_requests/174976#note_2254822144 | https://gitlab.com/gitlab-org/gitlab/-/issues/372200 # Proposal: Initial Iteration Currently, when a repository is being mirrored, users see a block of text on the Project overview page but nowhere else in Code. It would be useful to add this alert to the Repository page as well, and communicate this in a scalable way. **Due to feedback below, we are re-approaching this design proposal and will add a new proposal when the time is appropriate.** <table> <tr> <th>Current</th> <th>Proposed</th> </tr> <tr> <td> **Project overview page** Mirroring ![Screenshot 2024-12-13 at 10.49.46 PM.png](/uploads/e4ef8cb4484809aa79aa9ac776fc84d7/Screenshot_2024-12-13_at_10.49.46_PM.png){width="340" height="215"} Mirroring + read-only repository ![Screenshot 2024-12-13 at 10.53.16 PM.png](/uploads/e6fc9368e9b85e0ab788b8b0667c49b8/Screenshot_2024-12-13_at_10.53.16_PM.png){width="350" height="223"} Mirroring error ![error.png](/uploads/114d9df2260986e8213ca857196bec2f/error.png){width="1233" height="829"} Mirroring error with pause ![error2.png](/uploads/6264842e20b83d42af4c1907472ae440/error2.png){width="1233" height="829"} </td> <td> **Project overview page** Mirroring ![Alert - Project landing - mirror.jpg](/uploads/59566a51bfec8f9b633a0edd1f0a3418/Alert_-_Project_landing_-_mirror.jpg){width="334" height="223"} Mirroring + read-only repository ![Alert - Project landing - mirror readonly.jpg](/uploads/27a365a9a64fd4a222cca6576939014a/Alert_-_Project_landing_-_mirror_readonly.jpg){width="330" height="219"} Mirroring error ![Alert - Repository - mirror error.jpg](/uploads/29427519bacfc53a75f352af22b374b4/Alert_-_Repository_-_mirror_error.jpg){width="344" height="242"} Mirroring error with pause ![Alert - Repository - mirror error 2.jpg](/uploads/82c0ab6a5f0d59103594351cd91a3c74/Alert_-_Repository_-_mirror_error_2.jpg){width="375" height="265"} </td> </tr> <tr> <td> **Repository page** Mirroring ![Screenshot 2024-12-13 at 10.49.46 PM.png](/uploads/46f0ac1a7456a25e1f590efa828e6cb5/Screenshot_2024-12-13_at_10.49.46_PM.png){width="1232" height="788"} Mirroring + read-only repository Mirroring error Mirroring error with pause ![Screenshot 2024-12-13 at 10.51.53 PM.png](/uploads/f05500eeba22eda492bc697136d1e075/Screenshot_2024-12-13_at_10.51.53_PM.png){width="1230" height="787"} </td> <td> **Repository page** Mirroring ![Alert - Repository - mirror.jpg](/uploads/911a1b3ba7916f907a8797269a898658/Alert_-_Repository_-_mirror.jpg){width="394" height="280"} Mirroring + read-only repository ![Alert - Repository - mirror readonly.jpg](/uploads/0e1df57b9a7e514d70238e7eed4da53a/Alert_-_Repository_-_mirror_readonly.jpg){width="361" height="256"} Mirroring error ![Alert - Repository - mirror error.jpg](/uploads/4e8e7fc9b651b4d1b6692e60047a622e/Alert_-_Repository_-_mirror_error.jpg){width="353" height="250"} Mirroring error with pause ![Alert - Repository - mirror error 2.jpg](/uploads/0711a8ecaaf73cb6985558de73bfe7f1/Alert_-_Repository_-_mirror_error_2.jpg){width="355" height="252"} </td> </tr> <tr> <td> **Settings page** Mirroring ![Screenshot 2024-12-13 at 10.48.06 PM.png](/uploads/558a46bb7a973877b127d047a19c57c9/Screenshot_2024-12-13_at_10.48.06_PM.png){width="1231" height="789"} Mirroring + read-only repository ![Screenshot 2024-12-13 at 10.48.06 PM.png](/uploads/7e7c6cc97f6584f543d0d7c348616314/Screenshot_2024-12-13_at_10.48.06_PM.png){width="1231" height="789"} </td> <td> **Settings page** Mirroring (no change) ![settings-production.png](/uploads/3d3ef3dc2ebc6ff465edad13bc3d9142/settings-production.png){width="344" height="218"} Mirroring + read-only repository ![Current_ Branch rules overview.jpg](/uploads/04b2f63d43536cfff4dd7d0fa8a143b0/Current__Branch_rules_overview.jpg){width="367" height="292"} Mirroring error ![Alert - Repository Settings - mirror error.jpg](/uploads/f62a7a21f97b0f1cbac75049fd72b234/Alert_-_Repository_Settings_-_mirror_error.jpg){width="402" height="320"} Mirroring error with pause ![Alert - Repository Settings - mirror error 2.jpg](/uploads/da466e8655cb6f5548b63ff25b9748e0/Alert_-_Repository_Settings_-_mirror_error_2.jpg){width="1200" height="957"} </td> </tr> </table> #### Design Feedback * https://gitlab.com/gitlab-org/gitlab/-/issues/509463#note_2266620578 * Alerts should be reserved for information that users really need to know in that task/instance, and take up a large amount of screen real estate at the top * Yellow/red alerts make sense because users need to be aware of errors * Forks experience similar issues, in that many community contributors fork repositories but have a difficult time telling apart forked repositories from upstream repositories #### Next Steps * @alyssatrinh will have to re-approach the design to incorporate this feedback, and also find an elegant solution that works for mirrors and forks * We will still use the alerts for error states, but they may be scaled down
issue