Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[Bug]: Connect button invisible on instance card (Tailwind cascade order bug with group-hover:opacity-100 vs opacity-0)

Open
#32 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
68/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
tailwindcss, typescript
Domain
frontend

Research direction

Start at the /manager/instances instance-card implementation and inspect the wrapper using opacity-0 and group-hover:opacity-100, then compare it with the compiled Tailwind output. Reproduce the hover state in Chrome and verify the computed opacity and cascade order. Done means the Connect, Settings, and Delete buttons become visible on card hover without breaking their existing keyboard or programmatic interactions.

Written by the indexing model from the issue text.

Description

bug
Prerequisites
  • I have searched existing issues to ensure this bug hasn't been reported before
  • I have read the documentation
  • I am using a supported version of Evolution Manager
Bug Description

On the Instances list page (/manager/instances), the action buttons on each instance card (Connect, Settings gear, Delete) are invisible even on hover, although they exist correctly in the DOM and are fully functional (clickable via keyboard focus / programmatic click).

Root cause found via DevTools: the button wrapper has both opacity-0 and group-hover:opacity-100 Tailwind classes. The compiled CSS rule .group-hover\:opacity-100:is(:where(.group):hover *) { opacity: 1; } exists correctly in the stylesheet and the .group ancestor (the card) DOES receive :hover correctly when the mouse is over it (verified with element.matches(':hover') = true), but the computed opacity of the wrapper stays at 0 regardless. This points to a CSS cascade/specificity ordering issue in the compiled Tailwind output (likely the opacity-0 utility rule being emitted after the group-hover:opacity-100 rule in the same layer, so it wins the cascade despite both having equal specificity).

Workaround confirmed: injecting .group:hover .group-hover\:opacity-100 { opacity: 1 !important; } via a custom stylesheet fixes it immediately.

Steps to Reproduce
  1. Deploy Evolution Go + Manager via Docker (image: evoapicloud/evolution-go:latest)
    1. Log in to the manager and go to /manager/instances
    1. Create an instance
    1. Hover the mouse over the instance card, over the area below the "Status" row (where the Connect/Settings/Delete buttons should be)
    1. Nothing appears; the card looks empty below the Status row
Expected Behavior

Hovering over the instance card should reveal the Connect / Settings / Delete action buttons (they are visually hidden by default via opacity-0 and meant to be revealed via group-hover:opacity-100, but the reveal never happens).

Actual Behavior

No buttons are visible on hover. Inspecting the wrapper element shows computed opacity: 0, even while the .group ancestor genuinely matches :hover (confirmed via JS: group.matches(':hover') === true). The buttons still exist in the DOM and are fully clickable (via keyboard Tab+Enter or programmatic click), so this is a pure CSS rendering bug, not a logic/JS bug.

Screenshots

No response

Browser

Chrome

Browser Version

Chrome 150.0.0.0

Evolution Manager Version

latest (evoapicloud/evolution-go:latest, digest 86795d038b0f, same as tag 0.7.1)

Evolution API Version

N/A - self-hosted Evolution Go (not Evolution API), same repo family

Operating System

Windows

Console Logs

Additional Context

No response

Contribution
  • I would like to work on fixing this bug
Dominant language
TypeScript
Stars
17
Forks
42
PR merge metrics
No merged PRs in 30d

Getting set up

We have not checked this project's setup files yet. Start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from evolution-foundation/evolution-manager-v2

All issues in evolution-foundation/evolution-manager-v2

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.