-
Notifications
You must be signed in to change notification settings - Fork 3.2k
Fix: Intake open count not updating after accept, decline, or duplicate #8474
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
base: preview
Are you sure you want to change the base?
Fix: Intake open count not updating after accept, decline, or duplicate #8474
Conversation
|
Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. 📝 WalkthroughWalkthroughExposes Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
Pre-merge checks and finishing touches✅ Passed checks (5 passed)
✨ Finishing touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
Pull request overview
This pull request fixes a bug where the inbox issue count was not updating after performing accept, decline, or duplicate actions on inbox issues. The fix ensures the inbox issue list is refreshed after these status changes to keep the UI synchronized with the latest data.
Key changes:
- Added
fetchInboxIssuesto the destructured hooks fromuseProjectInbox - Inserted
fetchInboxIssuescalls after accept, decline, and duplicate status updates to refresh the inbox list
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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: 3
📜 Review details
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
apps/web/core/components/inbox/content/inbox-issue-header.tsx
🧰 Additional context used
📓 Path-based instructions (4)
**/*.{ts,tsx,mts,cts}
📄 CodeRabbit inference engine (.github/instructions/typescript.instructions.md)
**/*.{ts,tsx,mts,cts}: Useconsttype parameters for more precise literal inference in TypeScript 5.0+
Use thesatisfiesoperator to validate types without widening them
Leverage inferred type predicates to reduce the need for explicitisreturn types in filter/check functions
UseNoInfer<T>utility to block inference for specific type arguments when they should be determined by other arguments
Utilize narrowing inswitch(true)blocks for control flow analysis (TypeScript 5.3+)
Rely on narrowing from direct boolean comparisons for type guards
Trust preserved narrowing in closures when variables aren't modified after the check (TypeScript 5.4+)
Use constant indices to narrow object/array properties (TypeScript 5.5+)
Use standard ECMAScript decorators (Stage 3) instead of legacyexperimentalDecorators
Useusingdeclarations for explicit resource management with Disposable pattern instead of manual cleanup (TypeScript 5.2+)
Usewith { type: "json" }for import attributes; avoid deprecatedassertsyntax (TypeScript 5.3/5.8+)
Useimport typeexplicitly when importing types to ensure they are erased during compilation, respectingverbatimModuleSyntaxflag
Use.ts,.mts,.ctsextensions inimport typestatements (TypeScript 5.2+)
Useimport type { Type } from "mod" with { "resolution-mode": "import" }for specific module resolution contexts (TypeScript 5.3+)
Use new iterator methods (map, filter, etc.) if targeting modern environments (TypeScript 5.6+)
Utilize newSetmethods likeunion,intersection, etc., when available (TypeScript 5.5+)
UseObject.groupBy/Map.groupBystandard methods for grouping instead of external libraries (TypeScript 5.4+)
UsePromise.withResolvers()for creating promises with exposed resolve/reject functions (TypeScript 5.7+)
Use copying array methods (toSorted,toSpliced,with) for immutable array operations (TypeScript 5.2+)
Avoid accessing instance fields viasuperin classes (TypeScript 5....
Files:
apps/web/core/components/inbox/content/inbox-issue-header.tsx
**/*.{ts,tsx}
📄 CodeRabbit inference engine (AGENTS.md)
Enable TypeScript strict mode and ensure all files are fully typed
Files:
apps/web/core/components/inbox/content/inbox-issue-header.tsx
**/*.{js,jsx,ts,tsx,json,css}
📄 CodeRabbit inference engine (AGENTS.md)
Use Prettier with Tailwind plugin for code formatting, run
pnpm fix:format
Files:
apps/web/core/components/inbox/content/inbox-issue-header.tsx
**/*.{js,jsx,ts,tsx}
📄 CodeRabbit inference engine (AGENTS.md)
**/*.{js,jsx,ts,tsx}: Use ESLint with shared config across packages, adhering to max warnings limits per package
Use camelCase for variable and function names, PascalCase for components and types
Use try-catch with proper error types and log errors appropriately
Files:
apps/web/core/components/inbox/content/inbox-issue-header.tsx
🧬 Code graph analysis (1)
apps/web/core/components/inbox/content/inbox-issue-header.tsx (1)
apps/space/core/store/publish/publish.store.ts (1)
workspaceSlug(93-95)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: Agent
- GitHub Check: CodeQL analysis (javascript-typescript)
- GitHub Check: Cursor Bugbot
🔇 Additional comments (1)
apps/web/core/components/inbox/content/inbox-issue-header.tsx (1)
62-62: LGTM! Function extraction is correct.The
fetchInboxIssuesfunction is properly extracted from the hook and will be used to refresh the inbox list after actions.
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.
This PR is being reviewed by Cursor Bugbot
Details
Your team is on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle for each member of your team.
To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.
| await fetchInboxIssues(workspaceSlug, projectId, "filter-loading"); | ||
| } catch (error) { | ||
| console.error("Failed to refresh inbox issues:", error); | ||
| } |
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.
Duplicate handler missing redirection after list refresh
The handleInboxIssueDuplicate function now calls fetchInboxIssues to refresh the sidebar list, but unlike handleInboxIssueAccept, handleInboxIssueDecline, and handleInboxIssueSnooze, it lacks calls to redirectIssue() and handleRedirection(). When an issue is marked as duplicate, the sidebar refreshes and filters out the duplicated issue, but the user remains viewing that issue in the main content area. This creates an inconsistent UI state where the user is viewing an issue that no longer appears in the visible sidebar list.
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.
Redirection logic was originally not written for mark duplication already and hence no new logic was introduced from my side as well.
This pull request updates the inbox issue actions in
inbox-issue-header.tsxto ensure that the inbox issue list is always refreshed after key actions (accept, decline, duplicate). This helps keep the UI in sync with the latest data after any status changes.Inbox issue list refresh improvements:
fetchInboxIssuesfunction fromuseProjectInboxis now imported and used to refresh the issue list after accepting, declining, or marking an issue as duplicate.fetchInboxIssuesis called to reload the inbox issues, ensuring the UI reflects the latest state. [1] [2]Fixes #8473
Note
Ensures the intake inbox stays in sync after key actions.
fetchInboxIssuesfromuseProjectInboxafteraccept,decline, andmark as duplicateactions ininbox-issue-header.tsxto refresh the list (with "filter-loading"), wrapped in try/catch with console loggingWritten by Cursor Bugbot for commit fb92856. This will update automatically on new commits. Configure here.
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.