diff --git a/GEMINI.md b/GEMINI.md
index 2f23e5e2958..01f433675aa 100644
--- a/GEMINI.md
+++ b/GEMINI.md
@@ -83,11 +83,17 @@ docker compose run --rm app bash -c "cd packages/scratch-vm && npm run tap:unit"
### `scratch-gui`
```bash
-# Run GUI unit tests
+# Run GUI unit tests (runs ALL unit tests in the package)
docker compose run --rm app bash -c "cd packages/scratch-gui && npm run test:unit"
-# Run GUI integration tests (requires build:dev first)
+# Run a specific unit test
+docker compose run --rm app bash -c "cd packages/scratch-gui && npx jest test/unit/components/action-menu.test.jsx"
+
+# Run GUI integration tests (requires build:dev first; runs ALL integration tests)
docker compose run --rm app bash -c "cd packages/scratch-gui && npm run build:dev && npm run test:integration"
+
+# Run a specific integration test (requires build:dev first)
+docker compose run --rm app bash -c "cd packages/scratch-gui && npx jest test/integration/your-test.test.js"
```
## Package-Specific Details
diff --git a/packages/scratch-gui/src/components/action-menu/action-menu.jsx b/packages/scratch-gui/src/components/action-menu/action-menu.jsx
index a09fd906819..0c7905a69a0 100644
--- a/packages/scratch-gui/src/components/action-menu/action-menu.jsx
+++ b/packages/scratch-gui/src/components/action-menu/action-menu.jsx
@@ -81,9 +81,10 @@ class ActionMenu extends React.Component {
// Blur the button so it does not keep focus after being clicked
// This prevents keyboard events from triggering the button
this.buttonRef.blur();
- this.setState({forceHide: true, isOpen: false}, () => {
- setTimeout(() => this.setState({forceHide: false}));
- });
+ this.setState({forceHide: true, isOpen: false});
+ // Don't reset forceHide automatically - wait for user to move mouse away and back
+ // This prevents tooltip from reappearing while modal is open
+ // forceHide will be reset in handleToggleOpenState when user hovers again
};
}
handleTouchStart (e) {
@@ -156,7 +157,7 @@ class ActionMenu extends React.Component {
})}
data-for={tooltipId}
data-tip={title}
- onClick={hasFileInput ? handleClick : this.clickDelayer(handleClick)}
+ onClick={this.clickDelayer(handleClick)}
>