Skip to content

[Feature]: Display current version number for all users and add one-click update for self-hosted deployments #867

Description

@easonLiangWorldedtech

Problem

Roomote has a release check system (releases.status API + ReleaseNoticeSideNavItem) that detects when a new version is available, but only admins can see it. Regular users have no way to know what version they're currently running — the side nav only shows "Update available" as an admin-only notification badge.

For self-hosted deployments, there's also no convenient way to trigger an update once a new version is detected. Users have to manually pull the latest image and restart containers.

Current workaround

  • Admins can open the "Update available" dialog from side nav → see what the new version is
  • Check RELEASE_VERSION env var or Docker labels if you know where to look
  • Manually run docker compose pull && docker compose up -d for self-hosted

Proposed behavior

1. Display current version number for ALL users (read-only)

  • Show current version number (e.g., "v0.30.1") in the user menu dropdown or a subtle footer/badge
  • Format: Roomote v{version} — non-intrusive, always visible but not distracting
  • Use existing releases.status API (runningVersion) to fetch this
  • This should be visible to all users regardless of admin status — it's read-only info, no permissions needed

2. Update notification for admins only

  • "Update available" + "What's new" notifications remain admin-only (existing behavior)
  • Admins can see both the current version AND whether an update is pending

3. One-click update for self-hosted deployments

  • When updateAvailable === true, show a "Update Now" button alongside the notification
  • Clicking it triggers: pull latest image → graceful restart (or at least shows the exact commands needed)
  • For Roomote Cloud, show "Update available — will be applied automatically" or provide an update confirmation

4. Version history viewer

  • List all past versions with their release notes in a dedicated page/modal
  • Allow users to see what changed between their current version and any previous version

Affected surfaces

  • Web dashboard (user menu / side nav)
  • API (releases.status needs to expose runningVersion to all users, not just admins)
  • Self-hosting deployment

Self-hosting implications

  • For one-click update: need a new tRPC endpoint that triggers docker compose pull && docker compose up -d (or equivalent for the deployment method)
  • May need to expose deployment type (Docker, render, etc.) in settings to show correct commands
  • No new env vars required

Alternatives considered

  • Just showing version number without update button — simpler but less convenient
  • Adding a /health endpoint that returns version — useful for monitoring but doesn't solve the UX gap

Documentation impact

  • Update self-hosting docs with manual update steps (as fallback)
  • Document the new UI elements and their behavior

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions