What we want
OpenHuman already has the connections experience this product needs. Port it.
In OpenHuman, a connection is a thing you can open. Click a provider — Notion, GitHub — and you get its own view: whether it is connected, a connect and a disconnect action, what account it is connected as, what has moved through it, and the surrounding detail that makes the connection feel like a managed object rather than a boolean.
In OpenCompany a provider is a row with a button. There is no detail view at all: no way to see what a connection has been used for, no way to inspect it, and disconnect is not consistently offered.
Why this is not a straight copy
OpenCompany has three connection systems where OpenHuman has one, and they do not agree with each other:
So the port has to decide what a "connection" means here before it can render one. A detail view that shows a native-catalog connection as healthy would be actively misleading, because nothing consumes it.
Scope
- Open a provider from the Connections page and get its own view.
- That view states: connected or not, which account, through which system, and when it was connected.
- Connect and disconnect are both available and both work, with the disconnect saying plainly what it will and will not revoke.
- Usage — what has actually gone through this connection — shown where the data supports it. Do not invent a number. If per-connection usage is not recorded today, say so on screen and file what it would take, rather than rendering a plausible-looking zero.
- The view is honest about which of the three systems backs the connection, and does not present an inert one as live.
Before building
Read OpenHuman's implementation first — this issue exists because that experience is already right, and the point is to inherit its decisions rather than re-derive them. The checkout is vendored at vendor/openhuman. Take its information architecture, its states, and its wording where they fit; diverge only where OpenCompany's three-system reality forces it, and say where and why.
Related
Sits on top of #402, which makes the Connections page show real providers and give one answer per provider — that is the list this detail view opens from.
#403 must be respected: connect and disconnect are privileged actions, and a member who cannot change a connection should not be offered a control that will fail.
#396 covers the native catalog being inert; a detail view must not paper over it.
#316 settled one operator per connected account — the detail view is where that becomes visible.
What we want
OpenHuman already has the connections experience this product needs. Port it.
In OpenHuman, a connection is a thing you can open. Click a provider — Notion, GitHub — and you get its own view: whether it is connected, a connect and a disconnect action, what account it is connected as, what has moved through it, and the surrounding detail that makes the connection feel like a managed object rather than a boolean.
In OpenCompany a provider is a row with a button. There is no detail view at all: no way to see what a connection has been used for, no way to inspect it, and disconnect is not consistently offered.
Why this is not a straight copy
OpenCompany has three connection systems where OpenHuman has one, and they do not agree with each other:
So the port has to decide what a "connection" means here before it can render one. A detail view that shows a native-catalog connection as healthy would be actively misleading, because nothing consumes it.
Scope
Before building
Read OpenHuman's implementation first — this issue exists because that experience is already right, and the point is to inherit its decisions rather than re-derive them. The checkout is vendored at
vendor/openhuman. Take its information architecture, its states, and its wording where they fit; diverge only where OpenCompany's three-system reality forces it, and say where and why.Related
Sits on top of #402, which makes the Connections page show real providers and give one answer per provider — that is the list this detail view opens from.
#403 must be respected: connect and disconnect are privileged actions, and a member who cannot change a connection should not be offered a control that will fail.
#396 covers the native catalog being inert; a detail view must not paper over it.
#316 settled one operator per connected account — the detail view is where that becomes visible.