Skip to content

Add support for detecting and informing users of outdated coder installations #2701

Closed
@mafredri

Description

@mafredri

We want to encourage users (administrators) to run up-to-date Coder installations and make it easy for them to discover when new versions are available.

To achieve this, we should:

  1. Periodically check for new versions in the Coder server
  2. Expose this information via API endpoint (e.g. /api/v2/version or /api/v2/status)
  3. Query the API endpoint in the WebUI and show a notification/banner for the administrator, informing of the update
  4. Allow the above to be dismissed (e.g. mark dismissal in session storage)

For notifying via server:

  • Print a log message when a new version is available
  • (Optionally) Print a message on every startup

For notifying via WebUI, the following three options are considered:

  1. Display a persistent (dismissible) banner on the top of page, informing of the update (similar to WorkspaceDeletedBanner)
  2. Display a notification via the GlobalSnackbar component (needs to be extended with a persistency/dismissal option, or perhaps a new component)
  3. Implement a notification center (e.g. top right corner)

Of these, option 1 is the most attractive option for an MVP. Option 2 is slightly less visible and option 3 requires more thought on what a notification center should look like.

We could also consider a combination of option 1 and 2 where newer patch versions are minor nudges via GlobalSnackbar and minor versions are be banners.

Requirements for MVP:

  • Notify the administrator when a new update is available
  • Link to changelog
  • Link to generic update instructions
  • Allow dismissing the update notification

Further improvements:

  • Detect installation type and give specific update instructions
  • (Maybe) Expose this information via CLI (only admins?), e.g. coder server status

Metadata

Metadata

Assignees

Labels

apiArea: HTTP APIsiteArea: frontend dashboardstaleThis issue is like stale bread.

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions