fix(ui): bundles deferred UX/validation gaps and E2E coverage - #118
Merged
Conversation
…oned-dependency pill rendering
Kobalte portals Popover.Content to document.body, escaping the component's original stacking context. Without an explicit z-index the popover could render behind the fixed Header, sticky group headers, or fixed footer. Matches the z-50 convention already used by FilterPopover.tsx and the migrated SettingsPage Select triggers.
…vior Adds regression coverage for two previously-untested IgnoreBadge behaviors found by quality-gate: the z-50 stacking-context fix, and the deliberate decision that individual Unignore clicks keep the popover open (only Unignore All closes it).
Mirrors the existing reset guards for the tracked-items and GitHub-Actions toggles. Without this, disabling the Dependencies tab while it was the configured default tab left the migrated Kobalte Select trigger showing blank text (no option in the list matches the stale defaultTab value) until the user manually reselected a tab. Found by quality-gate adversarial review.
…able Completes coverage for the b9dc2e2 fix — the code path resetting viewState.lastActiveTab was correct but untested. Found by Layer 2 completeness re-review (Pass 2).
Closes BUG-008. viewState.tabFilters.jiraAssigned.scope could hold a reference to a custom Jira scope ID that no longer exists after (1) disconnecting Jira (clearJiraConfigFull wipes customScopes but left the tab filter untouched), or (2) deleting the active custom scope via JiraScopePicker. Either path let a stale scope ID survive into the next fetchJiraAssigned() call, which fired an invalid JQL query and surfaced a confusing 'Custom scope not supported' toast before the existing error-handler/tab-mount guards self-healed it. Extracts the validity check into a pure, exported staleJiraScopeReset() helper shared by both call sites (handleJiraDisconnect and the scope picker's onSave), matching the same built-in-scope list already used by JiraAssignedTab's reactive guard. Adds direct unit tests for the helper plus two integration tests covering the disconnect path.
wgordon17
marked this pull request as ready for review
July 27, 2026 17:53
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
updateViewState()(closes BUG-002's residual item)Also includes a
pnpm-workspace.yamlallowBuildsfix (esbuild/sharp/workerd) needed to unblock installs under pnpm 11 after upstream's dependency-bump commit (see pnpm/pnpm#11574).