Skip to content

fix(milestones): use indices as React keys - #1082

Closed
Adamsonoladipupo wants to merge 1 commit into
kindfi-org:developfrom
Adamsonoladipupo:fix/1031-milestone-index-keys
Closed

Adamsonoladipupo wants to merge 1 commit into
kindfi-org:developfrom
Adamsonoladipupo:fix/1031-milestone-index-keys

Conversation

@Adamsonoladipupo

@Adamsonoladipupo Adamsonoladipupo commented Sep 26, 2026 •

Copy link
Copy Markdown
Contributor

Use milestone array indices as React keys in the milestone tab and milestone reviews panel, since milestone descriptions and amounts are not unique.

Preserve existing index-based milestone interactions and leave tutorial-card.tsx unchanged.

Summary

Closes #1031

Updated the milestone renderers to use the existing array index as the React key.

Changes

  • Updated milestones-tab.tsx to use key={index}.
  • Updated milestone-reviews-panel.tsx to use key={index}.
  • Preserved existing index-based milestone interactions.
  • Left tutorial-card.tsx unchanged.
  • No unrelated changes were made.

Summary by CodeRabbit

  • Bug Fixes
    • Updated the handling of milestone entries in project management and review screens. The change does not alter the milestone details displayed or the actions available to users. No other user-facing changes are included in this update.

Use milestone array indices as React keys in the milestone tab and milestone reviews panel, since milestone descriptions and amounts are not unique.

Preserve existing index-based milestone interactions and leave tutorial-card.tsx unchanged.
@almanax-ai

almanax-ai Bot commented Sep 26, 2026

Copy link
Copy Markdown

Plan expired

Your subscription has expired. Please renew your subscription to continue using CI/CD integration and other features.

@coderabbitai

coderabbitai Bot commented Sep 26, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: e0be1446-36a5-47f8-adc0-980823539e10

📥 Commits

Reviewing files that changed from the base of the PR and between 8b94f0a and c3e35b4.

📒 Files selected for processing (2)
  • apps/web/components/sections/projects/manage/escrow/tabs/milestones-tab.tsx
  • apps/web/components/sections/projects/manage/milestone-reviews/milestone-reviews-panel.tsx

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.


Walkthrough

Both milestone renderers now use array indices as React keys instead of keys derived from milestone details. The escrow tab also removes the import used for its previous key construction.

Changes

Milestone list keys

Layer / File(s) Summary
Use indices for milestone keys
apps/web/components/sections/projects/manage/escrow/tabs/milestones-tab.tsx, apps/web/components/sections/projects/manage/milestone-reviews/milestone-reviews-panel.tsx
Both milestone renderers use array indices as React keys. The escrow tab removes the isSingleReleaseMilestone import used for its previous key construction.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~5 minutes

Change: Bug fix

Suggested reviewers: bran18

Merge Risk: ⚪ Minimal · up to c3e35

Both lists now use index keys. The inspected management paths preserve milestone order, and the list items do not keep per-milestone state, so no concrete user-facing regression is established. The change is mergeable subject to normal checks.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 2 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: replacing milestone-derived React keys with array indices.
Linked Issues check ✅ Passed Consider the implementation aligned with issue #1031. milestones-tab.tsx now uses the milestone array index as the MilestoneListItem key and removes the unused isSingleReleaseMilestone import. `…
Out of Scope Changes check ✅ Passed The changes stay within issue #1031. They modify only the two affected milestone renderers and remove an import made unused by the key change. The summary shows no unrelated source changes.
  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Create a new PR

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.

❤️ Share

Milestones line up in the list
Indices now mark each sibling
Descriptions need not be unique
Amounts can share their place
Keys follow the array order
Two renderers keep the same beat

Comment @coderabbitai help to get the list of available commands.

@Adamsonoladipupo
Adamsonoladipupo deleted the fix/1031-milestone-index-keys branch September 26, 2026 16:38
@Adamsonoladipupo
Adamsonoladipupo restored the fix/1031-milestone-index-keys branch September 26, 2026 16:38
@Adamsonoladipupo Adamsonoladipupo closed this by deleting the head repository Sep 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use milestone indices for sibling keys where index is the identity

1 participant