github RayLabsHQ/gitea-mirror v3.20.4

3 hours ago

Bug Fixes

  • Repositories are no longer falsely archived (#331). Repos added through the "+" Add Repository dialog were being renamed to archived-{name} in Gitea/Forgejo — sometimes within the hour, even though they still existed on GitHub. The orphan-cleanup pass decided a repo was "gone from GitHub" purely from its absence in the bulk repo listing, but manually-added repos (foreign owner, not starred) can never appear in that listing, so every cleanup cycle archived them deterministically. Cleanup now double-checks each candidate with a targeted per-repo GitHub lookup and only archives on a confirmed 404 — anything else (repo found, rate limit, network error) fails safe and is logged.

  • Syncing a renamed mirror no longer fails with HTTP 405 (#331). When a mirror had been renamed on the Gitea/Forgejo side (e.g. to archived-*), the app still requested the old name. Gitea answers with a redirect that the HTTP client follows silently — and per spec that downgrades the sync POST to a GET, which lands on the POST-only mirror-sync endpoint as 405 Method Not Allowed. Sync now adopts the repo's canonical owner/name from the API response before triggering the sync, so renamed mirrors just work. Archived repos also get an explicit archived-{name} fallback (guarded by a migration-source match), so installations already bitten by the false archiving self-heal on the next sync — no delete-and-re-mirror needed, and manually renaming repos back also works.

  • Archived repos now stay archived across Manual Sync, matching the documented behavior: syncing refreshes the mirror but no longer flips the repo back to active or re-enables its automatic sync interval.

Verified end-to-end against Forgejo 15.0.3 (rootless): the exact broken state from the report — database pointing at the old name, mirror renamed to archived-* — reproduces the 405 before the fix and syncs successfully after it. Thanks @RikudouGoku for the detailed report, screenshots, and compose file.

Full Changelog: v3.20.3...v3.20.4

Don't miss a new gitea-mirror release

NewReleases is sending notifications on new releases.