-
Notifications
You must be signed in to change notification settings - Fork 3.4k
[WEB-5829]fix: Intake open work count #8547
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?
Conversation
📝 WalkthroughWalkthroughThe inbox issue store was refactored to depend on two specialized stores (IIssueRootStore and IProjectInboxStore) instead of a monolithic CoreRootStore. All InboxIssueStore instantiations and internal store references were updated correspondingly to use the new dependencies. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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 |
|
Linked to Plane Work Item(s) This comment was auto-generated by Plane |
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
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
apps/web/core/store/inbox/inbox-issue.store.ts (1)
55-61:projectInboxStoreis injected but never used.The
projectInboxStoreparameter is passed to the constructor but never referenced in any method. Given the PR objective is to fix the "Intake open work count" issue, this dependency should likely be used to trigger count updates when inbox issue status changes (e.g., inupdateInboxIssueStatus,updateInboxIssueDuplicateTo). Either complete the implementation by using this store, or remove the unused parameter.
🧹 Nitpick comments (1)
apps/web/core/store/inbox/inbox-issue.store.ts (1)
16-17: Consider usingimport typefor type-only imports.Since
IIssueRootStoreandIProjectInboxStoreare only used as type annotations, consider usingimport typeto ensure they are erased during compilation. As per coding guidelines, this respects theverbatimModuleSyntaxflag.💡 Suggested change
-import type { IIssueRootStore } from "../issue/root.store"; -import type { IProjectInboxStore } from "./project-inbox.store"; +import type { IIssueRootStore } from "../issue/root.store.ts"; +import type { IProjectInboxStore } from "./project-inbox.store.ts";Note: If your TypeScript configuration doesn't require
.tsextensions in imports, the current import paths are acceptable.
📜 Review details
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
apps/web/core/store/inbox/inbox-issue.store.tsapps/web/core/store/inbox/project-inbox.store.ts
🧰 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/store/inbox/project-inbox.store.tsapps/web/core/store/inbox/inbox-issue.store.ts
**/*.{ts,tsx}
📄 CodeRabbit inference engine (AGENTS.md)
Enable TypeScript strict mode and ensure all files are fully typed
Files:
apps/web/core/store/inbox/project-inbox.store.tsapps/web/core/store/inbox/inbox-issue.store.ts
**/*.{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/store/inbox/project-inbox.store.tsapps/web/core/store/inbox/inbox-issue.store.ts
**/*.{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/store/inbox/project-inbox.store.tsapps/web/core/store/inbox/inbox-issue.store.ts
🧠 Learnings (2)
📚 Learning: 2025-06-16T07:23:39.497Z
Learnt from: vamsikrishnamathala
Repo: makeplane/plane PR: 7214
File: web/core/store/issue/helpers/base-issues.store.ts:117-117
Timestamp: 2025-06-16T07:23:39.497Z
Learning: In the updateIssueDates method of BaseIssuesStore (web/core/store/issue/helpers/base-issues.store.ts), the projectId parameter is intentionally made optional to support override implementations in subclasses. The base implementation requires projectId and includes an early return check, but making it optional allows derived classes to override the method with different parameter requirements.
Applied to files:
apps/web/core/store/inbox/project-inbox.store.tsapps/web/core/store/inbox/inbox-issue.store.ts
📚 Learning: 2025-12-12T15:20:36.542Z
Learnt from: CR
Repo: makeplane/plane PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-12T15:20:36.542Z
Learning: Applies to packages/shared-state/**/*.{ts,tsx} : Maintain MobX stores in `packages/shared-state` using reactive patterns
Applied to files:
apps/web/core/store/inbox/inbox-issue.store.ts
🧬 Code graph analysis (2)
apps/web/core/store/inbox/project-inbox.store.ts (1)
apps/web/core/store/inbox/inbox-issue.store.ts (1)
InboxIssueStore(38-230)
apps/web/core/store/inbox/inbox-issue.store.ts (2)
apps/web/core/store/issue/root.store.ts (1)
IIssueRootStore(48-114)apps/web/core/store/inbox/project-inbox.store.ts (1)
IProjectInboxStore(32-77)
⏰ 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). (2)
- GitHub Check: Build packages
- GitHub Check: Analyze (javascript)
🔇 Additional comments (5)
apps/web/core/store/inbox/project-inbox.store.ts (2)
250-254: LGTM!The
InboxIssueStoreinstantiation correctly passesthis.store.issue(IIssueRootStore) andthis(IProjectInboxStore) to match the updated constructor signature.
464-468: LGTM!Consistent with the other
InboxIssueStoreinstantiation, correctly passing the required store dependencies.apps/web/core/store/inbox/inbox-issue.store.ts (3)
109-112: LGTM!Correctly uses
this.issueStore.issues.addIssueto sync the accepted issue to the local store.
197-210: LGTM!Correctly uses
this.issueStore.issueDetailfor cycle and module operations, maintaining the original functionality with the refactored dependency.
222-229: LGTM!Correctly uses
this.issueStore.issueDetail.fetchActivitiesfor fetching issue activity.
✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.
Description
This update fixes the count update issue at Intake page sidebar.
Type of Change
Screenshots and Media (if applicable)
Test Scenarios
References
#8473
Summary by CodeRabbit
Release Notes
✏️ Tip: You can customize this high-level summary in your review settings.