Codeberg/Community
54
324
Fork
You've already forked Community
12

UX issues around disabled pull mirrors feature #1005

Closed
opened 2023年04月28日 10:05:24 +02:00 by neuschaefer · 8 comments

This is related to #568 and #760 but not quite a duplicate. I know now that pull mirrors have been disabled, but how I got there could be improved.

My overall first impression of codeberg is pretty positive, though!

The journey

Yesterday I decided to set up one of my projects on Codeberg. The repo list in UI shows a category "mirrors", suggesting that such a thing exists.

screenshot showing "mirrors" category

After creating a repo, I checked the settings page, and saw that it mentions mirroring:

screenshow showing mirroring options in the settings page

Set up your project to automatically push and/or pull changes to/from another repository. Branches, tags, and commits will be synced automatically. 🔗 How do I mirror repositories?

So, it says that mirrors can pull or push. Push mirrors can be configured right there, but pull mirrors have no controls. The link points to the relevant section in the official Gitea documentation, which has a step-by-step guide on how to set up a pull mirror, all very nice.

But the checkbox it promises simply does not exist.

screenshow of the migration wizard

At this point, I suspected a bug, and checked the bug tracker. The word "mirror" did not show any open issues that applied to my problem, so I was about to write one, but I also check the closed issues, where I found #760. This is when I finally learned that pull mirrors had been disabled intentionally.

Conclusion

It took me way too long to discover that the pull mirrors feature exists and is not broken, but is disabled intentionally. The fact that there are duplicates of #568 suggests that I'm not alone with this UX issue.

There are several points along the way where I could have discovered this fact earlier:

  • In the repo settings page there could be a box that says "Pull mirrors have been disabled on this instance"
  • In the migration wizard, in the place where there would normally be the "This repository will be a mirror" checkbox, there could be a informational alert that informs the user that the option would normally be there, but has been disabled on this instance
  • If Codeberg maintained its own copy of the Gitea documentation, it could also document this fact there, but I can see advantages of pointing to the official Gitea documentation instead1 .

Request

Please implement some UI changes to improve the UX around learning that pull mirrors are disabled. If a UX flow involves the codeberg.org bug tracker, it is IMHO not good enough.


  1. lower maintenance burden; users will only learn Gitea, instead of different, slightly contradictory versions of it. ↩︎

This is related to #568 and #760 but not quite a duplicate. I know now that pull mirrors [have been disabled](https://blog.codeberg.org/mirror-repos-easily-created-consuming-resources-forever.html), but how I got there could be improved. My overall first impression of codeberg is pretty positive, though! ## The journey Yesterday I decided to set up one of my projects on Codeberg. The repo list in UI shows a category "mirrors", suggesting that such a thing exists. ![screenshot showing "mirrors" category](https://codeberg.org/attachments/8bd07b4e-b961-4ffd-b59e-e550467c36d9) After creating a repo, I checked the settings page, and saw that it mentions mirroring: ![screenshow showing mirroring options in the settings page](https://codeberg.org/attachments/d2ff9f1a-e1fd-4e43-9a73-3e66721780fe) > Set up your project to automatically push and/or pull changes to/from another repository. Branches, tags, and commits will be synced automatically. 🔗 How do I mirror repositories? So, it says that mirrors can pull or push. Push mirrors can be configured right there, but pull mirrors have no controls. The link points to the [relevant section](https://docs.gitea.io/en-us/usage/repo-mirror/) in the official Gitea documentation, which has a step-by-step guide on how to set up a pull mirror, all very nice. But the checkbox it promises _simply does not exist_. ![screenshow of the migration wizard](https://codeberg.org/attachments/6446e673-f3a0-488d-a724-15f9f62452c2) At this point, I suspected a bug, and checked the bug tracker. The word "mirror" did not show any _open_ issues that applied to my problem, so I was about to write one, but I also check the closed issues, where I found #760. This is when I finally learned that pull mirrors had been disabled intentionally. ## Conclusion It took me way too long to discover that the pull mirrors feature exists and is not broken, but is disabled intentionally. The fact that there are duplicates of #568 suggests that I'm not alone with this UX issue. There are several points along the way where I could have discovered this fact earlier: - In the repo settings page there could be a box that says "Pull mirrors have been disabled on this instance" - In the migration wizard, in the place where there would normally be the "This repository will be a mirror" checkbox, there could be a informational alert that informs the user that the option would normally be there, but has been disabled on this instance - If Codeberg maintained its own copy of the Gitea documentation, it could also document this fact there, but I can see advantages of pointing to the official Gitea documentation instead[^1]. ## Request Please implement some UI changes to improve the UX around learning that pull mirrors are disabled. If a UX flow involves the codeberg.org bug tracker, it is IMHO not good enough. [^1]: lower maintenance burden; users will only learn Gitea, instead of different, slightly contradictory versions of it.

Welcome, nice seeing you around here! It's true that we actually have a lot of inconsistencies like the one you just brought up. I personally spend most of the time working on them (both w/ the Gitea and the Forgejo upstreams) and also try to spend some extra time figuring out how it's not going to be a problem again (e.g. rebasing the same commits over and over again, when upstream would accept such a patch).

It took me way too long to discover that the pull mirrors feature exists and is not broken, but is disabled intentionally.

In the repo settings page there could be a box that says "Pull mirrors have been disabled on this instance"

In the migration wizard, in the place where there would normally be the "This repository will be a mirror" checkbox, there could be a informational alert that informs the user that the option would normally be there, but has been disabled on this instance

Excellent recommendations. This is actually a setting that can be enabled or disabled in the config (aka. something that is built in Gitea (and Forgejo) itself and not something that we just patched away in our fork, maintaining a fork that mostly consists of branding-related changes is enough trouble already), and we can make the UI behave differently depending on whether those settings are enabled or disabled, so this shouldn't be extraordinarily difficult to implement.

Being explicit (as in, not just hiding the boxes away but being transparent to the user) about this feature being disabled is also super important.

lower maintenance burden; users will only learn Gitea, instead of different, slightly contradictory versions of it. https://docs.codeberg.org/

Just something to add: Many users actually use Codeberg as some sort of a gateway to the whole Gitea / Forgejo ecosystem, and heavily depend on the documentation that we link in our footer too.

Welcome, nice seeing you around here! It's true that we actually have a lot of inconsistencies like the one you just brought up. I personally spend most of the time working on them (both w/ the Gitea and the Forgejo upstreams) and also try to spend some extra time figuring out how it's not going to be a problem again (e.g. rebasing the same commits over and over again, when upstream would accept such a patch). > It took me way too long to discover that the pull mirrors feature exists and is not broken, but is disabled intentionally. > In the repo settings page there could be a box that says "Pull mirrors have been disabled on this instance" > In the migration wizard, in the place where there would normally be the "This repository will be a mirror" checkbox, there could be a informational alert that informs the user that the option would normally be there, but has been disabled on this instance Excellent recommendations. This is actually a setting that can be enabled or disabled in the config (aka. something that is built in Gitea (and Forgejo) itself and not something that we just patched away [in our fork](https://codeberg.org/codeberg/forgejo), maintaining a fork that mostly consists of branding-related changes is enough trouble already), and we can make the UI behave differently depending on whether those settings are enabled or disabled, so this shouldn't be extraordinarily difficult to implement. Being explicit (as in, not just hiding the boxes away but being *transparent* to the user) about this feature being disabled is also super important. > lower maintenance burden; users will only learn Gitea, instead of different, slightly contradictory versions of it. https://docs.codeberg.org/ Just something to add: Many users actually use Codeberg as some sort of a gateway to the whole Gitea / Forgejo ecosystem, and heavily depend on the [documentation](https://docs.codeberg.org/) that we link in our footer too.

Upstream PR: https://github.com/go-gitea/gitea/pull/24433

This change has taken me precisely 100 minutes so far today. (Figuring out how all of this works, remembering that you can't actually modify anything involving pull mirrors right now and particularly trying to foresee every single edge case was a hard task.)

I will continue working on it later.

Upstream PR: https://github.com/go-gitea/gitea/pull/24433 This change has taken me precisely 100 minutes so far today. (Figuring out how all of this works, remembering that you can't actually modify anything involving pull mirrors right now and particularly trying to foresee every single edge case was a hard task.) I will continue working on it later.

In the migration wizard, in the place where there would normally be the "This repository will be a mirror" checkbox, there could be a informational alert that informs the user that the option would normally be there, but has been disabled on this instance

This recommendation is great, but the PR that I just opened does not address this. However, that PR is probably/hopefully a great point of reference, if someone else wants to work on it.

It may be a good idea to mention that pull mirrors cannot be created at a later stage too.

> In the migration wizard, in the place where there would normally be the "This repository will be a mirror" checkbox, there could be a informational alert that informs the user that the option would normally be there, but has been disabled on this instance This recommendation is great, but the PR that I just opened **does *not* address this**. However, that PR is probably/hopefully a great point of reference, if someone else wants to work on it. It may be a good idea to mention that pull mirrors cannot be created at a later stage too.

Hi. This took a lot of time (there were many things that I had to iron out over and over again), but I think I addressed all of your points in the ticket. It is currently in the process of being merged and will land in Gitea 1.20 / Forgejo 1.20 if something super unexpected doesn't happen.

You can find a few screenshots here: https://github.com/go-gitea/gitea/pull/24433#issuecomment-1566118883

If you need me to fix anything else / if the result is not desirable to you, do let me know and I'll try to work on another patch.

Hi. This took a lot of time (there were many things that I had to iron out over and over again), but I think I addressed all of your points in the ticket. It is currently in the process of being merged and will land in Gitea 1.20 / Forgejo 1.20 if something super unexpected doesn't happen. You can find a few screenshots here: https://github.com/go-gitea/gitea/pull/24433#issuecomment-1566118883 If you need me to fix anything else / if the result is not desirable to you, do let me know and I'll try to work on another patch.

Yesterday I decided to set up one of my projects on Codeberg. The repo list in UI shows a category "mirrors", suggesting that such a thing exists.

Oh wait, maybe that shouldn't be shown either...

> Yesterday I decided to set up one of my projects on Codeberg. The repo list in UI shows a category "mirrors", suggesting that such a thing exists. Oh wait, maybe that shouldn't be shown either...

Oh wait, maybe that shouldn't be shown either...

Small update on this, I tried to fix this 5 days ago and it seems that the component responsible for controlling this is Vue.js-based and very delicate. I eventually dropped this.

I'll close this issue when the "biggest" fix for this problem is merged into Codeberg, then follow up with another ticket that will be reported upstream and under Codeberg/Community with more information.

> Oh wait, maybe that shouldn't be shown either... Small update on this, I tried to fix this 5 days ago and it seems that the component responsible for controlling this is Vue.js-based and very delicate. I eventually dropped this. I'll close this issue when the "biggest" fix for this problem is merged into Codeberg, then follow up with another ticket that will be reported upstream and under Codeberg/Community with more information.

Note to self: Affected component is in file web_src/js/components/DashboardRepoList.vue

Note to self: Affected component is in file `web_src/js/components/DashboardRepoList.vue`

This was fixed in Forgejo / Gitea v1.20. A further pull request that addresses some additional community feedback from a person that complained about its current form (as including the title of the documentation without clarifying that it is just a title is potentially misleading) as we were still running on v1.19 was also made (https://github.com/go-gitea/gitea/pull/26213) and merged - it will make it to v1.21.

I believe that the core issue at hand has been fixed.

Thank you for your feedback.

image

This was fixed in Forgejo / Gitea v1.20. A further pull request that addresses some additional community feedback from a person that complained about its current form (as including the title of the documentation without clarifying that it is just a title is potentially misleading) as we were still running on v1.19 was also made (https://github.com/go-gitea/gitea/pull/26213) and merged - it will make it to v1.21. I believe that the core issue at hand has been fixed. Thank you for your feedback. ![image](/attachments/881ea176-643f-4c16-8eb5-e6e25aabeef8)
Sign in to join this conversation.
No Branch/Tag specified
main
No results found.
Labels
Clear labels
accessibility

Reduces accessibility and is thus a "bug" for certain user groups on Codeberg.
bug

Something is not working the way it should. Does not concern outages.
bug
infrastructure

Errors evidently caused by infrastructure malfunctions or outages
Codeberg

This issue involves Codeberg's downstream modifications and settings and/or Codeberg's structures.
contributions welcome

Please join the discussion and consider contributing a PR!
docs

No bug, but an improvement to the docs or UI description will help
duplicate

This issue or pull request already exists
enhancement

New feature
infrastructure

Involves changes to the server setups, use `bug/infrastructure` for infrastructure-related user errors.
legal

An issue directly involving legal compliance
licence / ToS

involving questions about the ToS, especially licencing compliance
please chill
we are volunteers

Please consider editing your posts and remember that there is a human on the other side. We get that you are frustrated, but it's harder for us to help you this way.
public relations

Things related to Codeberg's external communication
question

More information is needed
question
user support

This issue contains a clearly stated problem. However, it is not clear whether we have to fix anything on Codeberg's end, but we're helping them fix it and/or find the cause.
s/Forgejo

Related to Forgejo. Please also check Forgejo's issue tracker.
s/Forgejo/migration

Migration related issues in Forgejo
s/Pages

Issues related to the Codeberg Pages feature
s/Weblate

Issue is related to the Weblate instance at https://translate.codeberg.org
s/Woodpecker

Woodpecker CI related issue
security

involves improvements to the sites security
service

Add a new service to the Codeberg ecosystem (instead of implementing into Gitea)
upstream

An open issue or pull request to an upstream repository to fix this issue (partially or completely) exists (i.e. Gitea, Forgejo, etc.)
wontfix

Codeberg's current set of contributors are not planning to spend time on delegating this issue.
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Codeberg/Community#1005
Reference in a new issue
Codeberg/Community
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?