2 months ago
815381fThe connect grid had one entry in STATE — github — so every other live forge
fell through to 'this forge signs in but has no repo import'. That string was
accurate: nothing had been built.
Both live forges install the same way: an app/bot installation, granted per org,
completed on the forge's own site. They now share one cell builder rather than
two near-copies that drift; only the url and the copy differ.
The install urls diverge in one way that matters. GitHub round-trips a signed
state carrying {userId, orgId}, so its callback names both sides and asks you to
confirm. open-git does not — installationConnectUrl appends installation_id and
nothing else — so the same callback falls through to the CLAIM screen and asks
which org it belongs to. Both end up bound deliberately (10).
Also binds repos to an already-claimed installation. The lazy upsert passed no
org, so claiming an installation bound it and every repo arriving afterwards
still landed unclaimed: invisible to org queries, and back on the claim screen
for a decision already made. Null stays null when nobody has claimed it.
OPEN_GIT_BOT_OWNER and OPEN_GIT_BOT_SLUG build the install path. Unset, the cell
says 'not configured' rather than sending an admin to a 404.Parentc2bd379