Skip to content

feat: persistent color for Firefox browser container sessions #620

Description

@JeremySnidaro

Is your feature request related to a problem? Please describe.

When opening an AWS session in Firefox via the Leapp browser extension, a Multi-Account Container is created with a randomly assigned color. This color changes unpredictably between sessions, making it impossible to visually distinguish accounts at a glance in the browser. Power users managing many AWS accounts rely heavily on container colors to avoid acting in the wrong account.

Describe the solution you'd like

Allow users to assign a persistent color to each Leapp session, chosen from the 9 colors Firefox natively supports for Multi-Account Containers (toolbar, red, pink, orange, yellow, green, turquoise, blue, purple).

The color should be:

  • Selectable from the session contextual menu (alongside the existing Region and Named Profile options)
  • Persisted in the session model so it survives app restarts
  • Displayed as a small dot indicator on the session card for quick visual reference
  • Forwarded to the browser extension via the existing WebSocket payload so the Firefox container is always created (or updated) with the chosen color

Describe alternatives you've considered

  • Assigning a deterministic color based on a hash of the session name — this removes randomness but the user still can't control which account maps to which color
  • Storing the color preference only in the extension — this breaks if the extension is reinstalled or used on a different machine

Additional context

I have implemented this feature and submitted a PR: #619

The companion browser extension PR is at: Noovolari/leapp-multi-console-extension#6

The implementation is fully backwards-compatible — sessions without a color assigned behave exactly as before (random fallback).

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