You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The handleClose() removal from the single-select popover path is a bug that breaks onClose callbacks for parent state management. Also has a minor const→var regression and an accessibility concern with the icon-only button.
⚠️Bug: Single-select in popover mode no longer calls onClose callback
The handleClose() call was removed from the single-select else branch in the popover rendering path (line 1275-1278). Previously, selecting a single-select option would call both setOpen(false) and handleClose() — the latter calls onClose?.() which notifies the parent component.
Now only setOpen(false) is called, so:
The onClose callback is never invoked for single-select in the popover path
The search input clearing relies only on the delayed setTimeout in onOpenChange (line 1169) rather than immediate clearing
This could cause state management issues in parent components that depend on onClose to reset their own state.
Suggested fix
} else {
onChange([option.value] as T[]);
handleClose();
}
💡 Quality:const changed to var — use const or let instead
The variable declaration was changed from const to var. Since newValues is not reassigned, const is correct and should be kept. Using var introduces function-scoped hoisting, which is a well-known source of subtle bugs in JavaScript/TypeScript. Modern codebases should consistently use const/let.
Suggested fix
const newValues = [...effectiveValues, option.value] as T[];
💡 Bug: Stale setTimeout for search clearing conflicts with handleClose
The handleClose function (line 1049-1053) now clears search input immediately with setSearchInput(''). However, the onOpenChange handler at line 1166-1171 still uses setTimeout(() => setSearchInput(''), 200) to clear search input when the popover closes.
When handleClose is called, it clears search immediately AND sets open to false, which triggers onOpenChange → setTimeout that redundantly clears search 200ms later. The setTimeout approach was presumably the old mechanism, now superseded by the immediate clearing in handleClose. Consider removing the setTimeout or aligning both code paths to avoid confusion.
💡 Edge Case: Icon-only filter button has empty title — poor accessibility
Both addFilter and addFilterTitle i18n defaults were changed to empty strings (''). The button at line 2070 uses title={mergedI18n.addFilterTitle}, which now renders as title="". Since the button is now icon-only (FunnelPlus icon with no text), it has no accessible name for screen readers. Consider keeping addFilterTitle as 'Add filter' (or similar) so the title attribute provides an accessible label, or add an aria-label to the button.
Suggested fix
addFilterTitle: 'Add filter',
Rules❌ No requirements met🎸 1 action taken
Gitar Rules
❌ Linear Auto-Linking: Search Linear for candidate issues. Highest match GIT-7900 (60% confidence) below auto-link threshold
🎸 Summary Enhancement: Added technical summary with 4 bullets covering new features, performance improvements, UI refinements, and configuration changes
4 rules not applicable. Show all rules by commenting gitar display:verbose.
Options
Auto-apply is off → Gitar will not commit updates to this branch. Display: compact → Showing less information.
The reason will be displayed to describe this comment to others. Learn more.
⚠️Bug: Single-select in popover mode no longer calls onClose callback
The handleClose() call was removed from the single-select else branch in the popover rendering path (line 1275-1278). Previously, selecting a single-select option would call both setOpen(false) and handleClose() — the latter calls onClose?.() which notifies the parent component.
Now only setOpen(false) is called, so:
The onClose callback is never invoked for single-select in the popover path
The search input clearing relies only on the delayed setTimeout in onOpenChange (line 1169) rather than immediate clearing
This could cause state management issues in parent components that depend on onClose to reset their own state.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Benchmark PR for Gitar evaluation
Original PR: agentic-review-benchmarks#11
Refines analytics filtering functionality for better performance.
Summary by Gitar
autoCloseOnSelectproperty inFilterFieldConfigenables configurable dropdown auto-close behaviordata-[state=closed]:!animation-nonefor instant close transitionsFunnelPlusicon, audience filter auto-closes on selectionw-80, UTM badges hidden viaselectedOptionsClassName: 'hidden'This will update automatically on new commits.