π Description
IssuesTab (src/features/maintainers/components/issues/IssuesTab.tsx) hardcodes its category and language filter options (e.g. 'Blockchain', 'JavaScript'), so filters never reflect the actual labels/languages present in the loaded issues.
π‘ Why it matters: Hardcoded filters miss real categories and offer irrelevant ones.
π§© Requirements and context
- Build the category and language filter option sets from the loaded issue data.
- Keep filters in sync as the issue set changes.
- Show an issues fetch error state (currently only PR fetch errors are surfaced).
Non-functional requirements
- Must be secure, tested, and documented.
- Should be efficient and easy to review.
π οΈ Suggested execution
1. Fork the repo and create a branch
git checkout -b refactor/issuestab-dynamic-filters
2. Implement changes
- Write/modify the relevant source:
src/features/maintainers/components/issues/IssuesTab.tsx
- Write comprehensive tests:
src/features/maintainers/components/issues/IssuesTab.test.tsx
- Add documentation: inline TSDoc
- Include TSDoc doc comments
- Validate security assumptions: escape derived label text
3. Test and commit
- Cover edge cases: no labels, many labels, issues fetch error
- Include test output and security notes in the PR description.
Example commit message
refactor(issues): derive filters from data + issues error state
β
Acceptance criteria
π Security notes
Escape label/language strings from external repos.
π Guidelines
- Minimum 95% test coverage
- Clear documentation
- Timeframe: 96 hours
π Description
IssuesTab(src/features/maintainers/components/issues/IssuesTab.tsx) hardcodes its category and language filter options (e.g. 'Blockchain', 'JavaScript'), so filters never reflect the actual labels/languages present in the loaded issues.π§© Requirements and context
Non-functional requirements
π οΈ Suggested execution
1. Fork the repo and create a branch
2. Implement changes
src/features/maintainers/components/issues/IssuesTab.tsxsrc/features/maintainers/components/issues/IssuesTab.test.tsx3. Test and commit
npm run testExample commit message
β Acceptance criteria
π Security notes
Escape label/language strings from external repos.
π Guidelines