-
Notifications
You must be signed in to change notification settings - Fork 3.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: kebab menu rename jumps to wrong tab #38346
Conversation
WalkthroughThe pull request modifies the Changes
Assessment against linked issues
Possibly related PRs
Suggested labels
Suggested reviewers
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
/build-deploy-preview skip-tests=true |
Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/12480129862. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
app/client/src/pages/Editor/JSEditor/AppJSEditorContextMenu.tsx (1)
104-104
: Consider error handling on deletion.
IfdeleteJSCollectionRequest
fails, you might want to surface an error message to the user or revert the confirm delete state gracefully.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
app/client/src/pages/Editor/JSEditor/AppJSEditorContextMenu.tsx
(5 hunks)
🔇 Additional comments (6)
app/client/src/pages/Editor/JSEditor/AppJSEditorContextMenu.tsx (6)
1-2
: Good use of useBoolean
import.
This is a clean way to handle boolean states more expressively than using raw useState
.
38-38
: Type-only import for CodeMirror
.
Great job adding type safety for the CodeMirror reference. This helps ensure proper editor-related operations.
51-55
: Neat use of destructured helpers from useBoolean
.
The setFalse
, setValue
, and value
APIs make the confirm-delete state logic very straightforward.
72-72
: Check rename behavior in different usage contexts.
Making sure the rename behavior addresses the intended tab focus is essential. Suggest verifying the triggered dispatch thoroughly.
109-222
: Validate the extensive dependency array in useMemo
.
While it’s good to list all dependencies, confirm that all entries (e.g. dispatch
, setConfirmDelete
) must re-trigger the memo. If some dependencies rarely change, consider passing stable references to prevent unnecessary re-renders.
227-227
: Smart resetting of confirm delete state.
Using onMenuClose
to revert confirmDelete
ensures consistent behavior if the menu closes abruptly.
Deploy-Preview-URL: https://ce-38346.dp.appsmith.com |
## Description Fixes an issue when renaming from context menu in JS objects, cursor always jumps to the first tab. Fixes #38207 ## Automation /ok-to-test tags="@tag.IDE" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/12480124658> > Commit: 221119c > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12480124658&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.IDE` > Spec: > <hr>Tue, 24 Dec 2024 10:31:34 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Improved context menu options with enhanced performance and clarity. - **Bug Fixes** - Added checks for the availability of the CodeMirror instance to prevent errors. - **Refactor** - Simplified state management by replacing `useState` with `useBoolean`. - Optimized context menu option generation using `useMemo`. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Description
Fixes an issue when renaming from context menu in JS objects, cursor always jumps to the first tab.
Fixes #38207
Automation
/ok-to-test tags="@tag.IDE"
🔍 Cypress test results
Tip
🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
Workflow run: https://github.com/appsmithorg/appsmith/actions/runs/12480124658
Commit: 221119c
Cypress dashboard.
Tags:
@tag.IDE
Spec:
Tue, 24 Dec 2024 10:31:34 UTC
Communication
Should the DevRel and Marketing teams inform users about this change?
Summary by CodeRabbit
useState
withuseBoolean
.useMemo
.