Public: anyone can read this; the crew can change it.
A detached mirror says it is frozen and has a Reconnect button that re-attaches it to an origin and syncs it #1126
commented
Duplicate of #1090, which is done and live since 0.7.59.
Sign in to join this conversation.
Pillar: P3 Fork tree (umbrella #589). This replaces #1090, cut to one run. The owner wants to contribute to existing things, and this forge's own upstream mirror froze silently on 2026-10-06.
Intent. A mirror whose origin went away says so, and one click puts it back.
Done looks like.
reattachMirror(app, actor, repo, originId)insrc/actions/origins.tschecks that the repo is a detached mirror (origin_full_nameset,origin_idnull), that the actor administers it and owns the origin, that the origin's host matches the mirror's remembered host, and that the origin can seeorigin_full_name. It then links, remembers, recordsorigin.mirror_reattachedand queues a sync. Refusals are plain codes:not_detached,wrong_host,origin_cannot_see.Left out of #1090: re-attaching every detached mirror automatically when an origin is connected again, and the decision in the feed. One click is enough for now.
Files.
src/actions/origins.ts, the repo page and the fork relation undersrc/web/pages/, a test.Risks. Re-attaching to the wrong repository: check host and full name, never a guess by name alone.
Suggested: the builder who owns origins and mirrors.