Repository navigation
Reliable comment retrieval, GitHub redirects and progress logs
- Fixed Gitea per-issue comment retrieval: this endpoint returns all comments and
does not support pagination. Other paginated lists retain full pagination and
repeated-page protection. - Follow GitHub GET redirects within the configured API origin, up to five hops.
Reject external origins and loops; never redirect or automatically repeat writes. - Preserve unavailable GitHub sources (HTTP 404) and count them separately.
Removed the misleading Failure/exit 4 message for this expected condition;
genuine validation failures remain failures. - Added stage and periodic progress logs with repository, page or processed counts,
and elapsed seconds. PROGRESS_INTERVAL defaults to 60 seconds. Long requests or
JSON operations can delay messages until the next work boundary. - Quiet mode still produces no terminal output; progress is written to its log.
Validation
The comment/redirect candidate completed a full production run on October 27:
59 discovered, 57 selected, 56 succeeded, 0 failed, 2 skipped, 1 unavailable.
The run took 7h 49m and created 617 issues and 1531 comments, updating 143 issues.
The subsequent progress and diagnostic fixes were tested against mock APIs,
including idempotency, unavailable sources, malformed JSON, redirects, rate limits,
repository isolation, progress throttling and quiet background execution.
Native Gitea mirror-sync jobs are asynchronous; queued jobs are not verified complete.
Upgrade
Replace the installed script and keep your existing configuration and cron.
PROGRESS_INTERVAL is optional; existing configurations use 60 seconds automatically.
Large accounts may require many hours. No database migration is needed.