diff --git a/README.md b/README.md index 8e09fc5..af2d72a 100644 --- a/README.md +++ b/README.md @@ -309,6 +309,7 @@ If sync logs show authentication failures (for example `terminal prompts disable 1. In Gitea/Forgejo, open repository **Settings → Mirror Settings** and update the mirror authorization password/token. 2. Or delete and re-mirror the repository from Gitea Mirror so it is recreated with current credentials. + ### Re-sync Metadata After Changing Mirror Options If you enable metadata options (issues/PRs/labels/milestones/releases) after repositories were already mirrored: @@ -323,6 +324,17 @@ sqlite3 data/gitea-mirror.db "UPDATE repositories SET metadata = NULL;" This clears per-repository metadata completion flags so the next sync can re-run metadata import steps. +### Mirror Interval vs Gitea/Forgejo `MIN_INTERVAL` + +Gitea Mirror treats the interval configured in **Configuration** (or `GITEA_MIRROR_INTERVAL`) as the source of truth and applies it to mirrored repositories during sync. + +If your Gitea/Forgejo server has `mirror.MIN_INTERVAL` set to a higher value (for example `24h`) and Gitea Mirror is set lower (for example `8h`), sync/mirror operations can fail when updating mirror settings. + +To avoid this: + +1. Set Gitea Mirror interval to a value greater than or equal to your server `MIN_INTERVAL`. +2. Do not rely on manual per-repository mirror interval edits in Gitea/Forgejo, because Gitea Mirror will overwrite them on sync. + ## Development ```bash diff --git a/src/components/layout/MainLayout.tsx b/src/components/layout/MainLayout.tsx index 93a652f..0582547 100644 --- a/src/components/layout/MainLayout.tsx +++ b/src/components/layout/MainLayout.tsx @@ -159,7 +159,7 @@ function AppWithProviders({ page: initialPage }: AppProps) { {currentPage === "activity-log" && } - + ); diff --git a/src/lib/gitea.ts b/src/lib/gitea.ts index 99e9b37..1c237a7 100644 --- a/src/lib/gitea.ts +++ b/src/lib/gitea.ts @@ -579,7 +579,7 @@ export const mirrorGithubRepoToGitea = async ({ lfs: config.giteaConfig?.lfs || false, private: repository.isPrivate, repo_owner: repoOwner, - description: "", + description: repository.description?.trim() || "", service: "git", };