-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
[WEB-3444] fix: work item attachment count mutations #6670
[WEB-3444] fix: work item attachment count mutations #6670
Conversation
WalkthroughThe changes update both the frontend component and the store for managing issue attachments. The component now calls a new method to retrieve the attachment count and adjusts its rendering logic based on that count. In the store, a new Changes
Sequence Diagram(s)sequenceDiagram
participant C as IssueDetailWidget
participant S as AttachmentStore
C->>S: getAttachmentsCountByIssueId(issueId)
S-->>C: attachmentsCount
alt attachments exist
C->>C: Render attachments
else no attachments
C->>C: Skip rendering
end
sequenceDiagram
participant A as AttachmentActionHandler
participant S as AttachmentStore
A->>S: createAttachment(newAttachment)
S-->>A: Updated attachments list & count
A->>S: removeAttachment(attachmentId)
S-->>A: Updated attachments list & count
Possibly related PRs
Suggested labels
Suggested reviewers
Poem
✨ Finishing Touches
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
CodeRabbit Configuration File (
|
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)
web/core/store/issue/issue-details/attachment.store.ts (1)
113-116
: Good implementation of the new getter methodThe implementation of
getAttachmentsCountByIssueId
is simple and effective, reusing the existinggetAttachmentsByIssueId
method and handling the null case appropriately.Consider marking this method with
computedFn
like thegetAttachmentsUploadStatusByIssueId
method to enable memoization for better performance, especially if this method will be called frequently.- getAttachmentsCountByIssueId = (issueId: string) => { + getAttachmentsCountByIssueId = computedFn((issueId: string) => { const attachments = this.getAttachmentsByIssueId(issueId); return attachments?.length ?? 0; - }; + });
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
web/core/components/issues/issue-detail-widgets/issue-detail-widget-collapsibles.tsx
(2 hunks)web/core/store/issue/issue-details/attachment.store.ts
(4 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (2)
- GitHub Check: Analyze (javascript)
- GitHub Check: Analyze (python)
🔇 Additional comments (5)
web/core/components/issues/issue-detail-widgets/issue-detail-widget-collapsibles.tsx (2)
29-29
: Good addition of the new getter methodThe addition of
getAttachmentsCountByIssueId
in the destructuring pattern appropriately brings in the new functionality from the attachment store.
44-45
: Improved approach for determining attachments rendering conditionThe new implementation properly uses the dedicated method to retrieve attachment counts rather than relying on the issue object properties. This creates a more consistent way to determine whether to render the attachments section.
This change directly addresses the mutation issue mentioned in the PR objectives by ensuring the component always has access to the latest attachment count from the store.
web/core/store/issue/issue-details/attachment.store.ts (3)
54-54
: Good interface definition updateThe interface has been properly updated to include the new method signature.
169-171
: Consistent approach for updating attachment countGood change - now using the centralized method to update the attachment count in the issue object after creating an attachment.
201-201
: Consistent approach for updating attachment count on removalGood change - using the same centralized method to update the attachment count after removing an attachment. This ensures consistency in how attachment counts are calculated and updated throughout the application.
* fix: issue activity for project id validation (#6668) * fix: work item attachment count mutation (#6670) * updated the action to modify the release build assets (#6669) * feat: russian translation (#6666) * chore: ru translation updated (#6672) * fix: state drop down refactor * fix: intake work item creation refactor * fix: cleanup for deprecated functions * fix: date range picker on cycles and modules list (#6676) * fix: Handled workspace switcher closing on click * fix: replaced date range picker with date picker at some places * chore: add common translation keys (#6688) * chore: add missing translation keys * chore: add russian translation keys * fix: issue activity task (#6689) * changed github workflow action ubuntu version to `ubuntu-22.04` (#6683) * chore: update russian translation (#6682) * chore: update russian translation * chore: rename issues to work items in russian translation * [PE-275] chore: editor line spacing variables (#6678) * chore: variable editor line spacing * chore: variable list spacing --------- Co-authored-by: Aaryan Khandelwal <aaryankhandu123@gmail.com> * [WEB-3475] fix: cycle dates dropdown (#6690) * fix: Handled workspace switcher closing on click * fix: Cycle date picker * fix: Made onSelect optional in range range component * fix: module date picker (#6691) * fix: Handled workspace switcher closing on click * fix: reverted module date picker changes * chore: extended sidebar improvement (#6693) * feat: italian translations (#6692) * Create translations.json - ITALIAN translation (#6667) * chore: italian translation updated * feat: italian translation added * fix: module end date translation --------- Co-authored-by: Nicolas Bossi <nicolasbossi@gmail.com> Co-authored-by: gakshita <akshitagoyal1516@gmail.com> * fix: attachment item created by (#6695) * fix: module flicker issue on property updation (#6699) * [WEB-3477] fix: mutation issue on moving work items for a manually ended cycle (#6696) * fix: package version update * fix: esbuild version fix * fix: package license repliation * [WEB-3488] improvement: assignee validation for work item creation (#6701) * fix: work item assignee update validation (#6704) --------- Co-authored-by: Nikhil <118773738+pablohashescobar@users.noreply.github.com> Co-authored-by: Anmol Singh Bhatia <121005188+anmolsinghbhatia@users.noreply.github.com> Co-authored-by: Manish Gupta <59428681+mguptahub@users.noreply.github.com> Co-authored-by: Nikita Mitasov <32384814+ch4og@users.noreply.github.com> Co-authored-by: Akshita Goyal <36129505+gakshita@users.noreply.github.com> Co-authored-by: Aaryan Khandelwal <65252264+aaryan610@users.noreply.github.com> Co-authored-by: Akshat Jain <akshatjain9782@gmail.com> Co-authored-by: Lakhan Baheti <94619783+1akhanBaheti@users.noreply.github.com> Co-authored-by: Aaryan Khandelwal <aaryankhandu123@gmail.com> Co-authored-by: Nicolas Bossi <nicolasbossi@gmail.com> Co-authored-by: gakshita <akshitagoyal1516@gmail.com> Co-authored-by: Prateek Shourya <prateekshourya29@gmail.com>
Description
This PR includes fix for attachment count mutation
Type of Change
Summary by CodeRabbit
New Features
Refactor