A connected application cannot show anything inside the console #173

Open
opened 2026-10-06 18:11:55 +00:00 by cgalo5758 · 2 comments
Owner

What a person cannot do today

See or act on a connected application's state from inside the console. An integration that ships in the console renders its own pages from Go templates; an application outside the console has no way to show a status, a list, a settings form or a setup step to a member or an operator.

What they should be able to do

  • The console renders a closed set of region types from data a connector declares: a status card, a list with row actions, a settings form, a setup flow, an action, a validation, notices, a link out, and data shown on console pages. A link out can sign the person in.
  • Read-only regions render from stored data; only actions and validations call the connector while the page waits, within three seconds.
  • Recorded facts about contact with the application may be shown; claims of health that nothing backs may not.
  • A page shows each connection's delivery lag and restore events.

Why it matters

Members and operators work in one console. A closed set of region types means a need it does not cover arrives as a request for a new type, rather than being worked around in raw HTML without anyone hearing about it; the documentation says where to make that request.

Where

internal/server (a region renderer), the connection pages, the design system. Notices need the part #167 decides; notifications (#168) and the attention section (#78) are related.

Done when

A connector declares regions and the console renders each type at both widths with the copy rules enforced at render time; a link out signs the person in; lag and restore events are visible per connection; the documentation names where to request a region type.

Order

Comes after #172.

## What a person cannot do today See or act on a connected application's state from inside the console. An integration that ships in the console renders its own pages from Go templates; an application outside the console has no way to show a status, a list, a settings form or a setup step to a member or an operator. ## What they should be able to do - The console renders a closed set of region types from data a connector declares: a status card, a list with row actions, a settings form, a setup flow, an action, a validation, notices, a link out, and data shown on console pages. A link out can sign the person in. - Read-only regions render from stored data; only actions and validations call the connector while the page waits, within three seconds. - Recorded facts about contact with the application may be shown; claims of health that nothing backs may not. - A page shows each connection's delivery lag and restore events. ## Why it matters Members and operators work in one console. A closed set of region types means a need it does not cover arrives as a request for a new type, rather than being worked around in raw HTML without anyone hearing about it; the documentation says where to make that request. ## Where `internal/server` (a region renderer), the connection pages, the design system. Notices need the part #167 decides; notifications (#168) and the attention section (#78) are related. ## Done when A connector declares regions and the console renders each type at both widths with the copy rules enforced at render time; a link out signs the person in; lag and restore events are visible per connection; the documentation names where to request a region type. ## Order Comes after #172.
cgalo5758 added this to the Public launch milestone 2026-10-06 18:11:55 +00:00
Author
Owner

Order: followed by #174.

Order: followed by #174.
Author
Owner

The notice part (#167) gives a connector's notice two fields: a sentence and at most one link. The console escapes the sentence and runs the copy rules on it when the page renders. Which addresses a connector's link may point at is for this issue to decide.

The notice's other two fields stay with the console's own templates:

  • A button. A button in a connector's notice comes through this issue's action type: the connector declares the action, and the console renders the button, calls the connector and shows the answer. That way the console knows what the button changes, who may press it and what to say when it fails. A notice never carries a raw button from a connector.
  • Rows or other markup. A connector never sends HTML. Rows come through the list type, as data.

FedWiki and Discourse each have one notice with rows today: FedWiki's "Ready to use" list on the sites card (internal/integrations/fedwiki/templates/fedwiki_sites.html) and Discourse's identity conflicts on its operator page (internal/integrations/discourse/templates/discourse_operator.html). They render as the console's own templates while both integrations ship inside the console. When #174 moves them onto the contract, those two need the list type, or a list of text-and-link items on the notice.

The notice part (#167) gives a connector's notice two fields: a sentence and at most one link. The console escapes the sentence and runs the copy rules on it when the page renders. Which addresses a connector's link may point at is for this issue to decide. The notice's other two fields stay with the console's own templates: - **A button.** A button in a connector's notice comes through this issue's action type: the connector declares the action, and the console renders the button, calls the connector and shows the answer. That way the console knows what the button changes, who may press it and what to say when it fails. A notice never carries a raw button from a connector. - **Rows or other markup.** A connector never sends HTML. Rows come through the list type, as data. FedWiki and Discourse each have one notice with rows today: FedWiki's "Ready to use" list on the sites card (`internal/integrations/fedwiki/templates/fedwiki_sites.html`) and Discourse's identity conflicts on its operator page (`internal/integrations/discourse/templates/discourse_operator.html`). They render as the console's own templates while both integrations ship inside the console. When #174 moves them onto the contract, those two need the list type, or a list of text-and-link items on the notice.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wiki-cafe/member-console#173