Skip to content

fix(profiles): explain the empty Logitech profile list and how to fill it - #1226

Merged
jazzstack merged 1 commit into
mainfrom
fix/logitech-profile-empty-state
Oct 25, 2026
Merged

jazzstack merged 1 commit into
mainfrom
fix/logitech-profile-empty-state

Conversation

@jazzstack

@jazzstack jazzstack commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Problem

On a Logitech mouse that G HUB has never linked, the profiles section showed an empty list with no explanation — the report in issue #516. G HUB only writes the per-device profile files the first time it links a mouse, so OpenMouse had nothing to read and the user had no idea why the list was empty or what to do.

What was already there

PR c0764ae (two days after the issue) added a "Set up profiles" button that writes the captured Logitech factory profiles into the mouse without G HUB, offered whenever the list is empty and a complete factory image exists for the profile format. That covered the main path, but two gaps remained:

  • The list itself still explained nothing. The Set up button sat unlabelled next to a mysterious empty section, and the standing hint ("Click a profile to edit it…") pointed at profiles that did not exist.
  • Profile formats without a captured factory image (hasCapturedFactoryProfiles is false for formats 6 and 7, per logitech-factory.test.ts) never get a Set up button, so those users were still left with a silent empty list and no path forward.

Fix

  • When the stored-profile list is empty, the section now explains the state directly in the list: no onboard profiles are stored yet because G HUB writes them on first link.
  • The same note routes the user to the next action:
    • with a captured factory image: "Set up writes the factory profiles into the mouse's memory right now." (the existing Set up button is right there)
    • without one: "Open G HUB once and link the mouse, then reload profiles here." (the reload button is in the section header)
  • The "Click a profile to edit it" hint now renders only when there are profiles to click.
  • .profile-empty-note styling in src/styles/areas/library.css, using existing tokens.

Checks

  • npm run build ✓
  • npm test ✓ (0 failures)
  • npm run size ✓ (CSS 92%, JS 99% of budget)

Fixes #516

Note

Add empty-state explanation to the onboard profiles list

The Profiles screen now shows a note when no onboard profiles exist. The note explains why the list is empty and picks between setup guidance and G HUB guidance, depending on whether setup profiles are available. The existing profile-list hint shows only when profiles exist. Adds the three new translation keys to all locale files in src/i18n/locales/, plus styling in library.css.

Macroscope summarized 90699c4.

…l it

A Logitech mouse that G HUB has never linked stores no onboard profiles,
so the list was empty with no guidance — the exact report in issue #516.
The Set up button (write factory profiles without G HUB) already existed
but sat unlabeled next to an unexplained list, and formats without a
captured factory image had no Set up option at all.

The empty list now carries a note that says why it is empty (G HUB
writes the profiles on first link) and routes the user: to the Set up
button when a captured factory image exists for the format, otherwise
to "open G HUB once and link the mouse, then reload profiles here".
The "Click a profile to edit it" hint only renders once there are
profiles to click.

Strings were added to every locale.

Fixes #516
@jazzstack
jazzstack merged commit e260740 into main Oct 25, 2026
6 of 8 checks passed
@github-actions github-actions Bot added the type: bug PR title category: bug label Oct 25, 2026
@jazzstack
jazzstack deleted the fix/logitech-profile-empty-state branch October 25, 2026 17:27
@github-actions github-actions Bot added area: ui Interface and styling area: translations Localized interface strings labels Oct 25, 2026
@coderabbitai

coderabbitai Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Caution

Review failed

The pull request is closed.

Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: translations Localized interface strings area: ui Interface and styling type: bug PR title category: bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Logitech: no profiles shown if user never ran G HUB before opening OpenMouse

1 participant