Skip to content

feat: adds bot user tracking and per-repo monitor-all mode#38

Merged
wgordon17 merged 10 commits intogordon-code:mainfrom
wgordon17:feat/bot-tracking
Mar 31, 2026
Merged

feat: adds bot user tracking and per-repo monitor-all mode#38
wgordon17 merged 10 commits intogordon-code:mainfrom
wgordon17:feat/bot-tracking

Conversation

@wgordon17
Copy link
Copy Markdown
Member

Summary

  • Adds bot account tracking (expanded login regex, type detection, bot badge) in the existing tracked users system
  • Adds per-repo monitor-all mode with unfiltered GraphQL search, surfacedBy filter bypass, and eye icon toggle in RepoSelector
  • Includes 50 new tests (1250 total), all passing with clean typecheck

- removes trackedSearchRepos fallback that sent involves: queries to
  monitored repos when all repos were monitored
- extracts SEARCH_RESULT_CAP module-level constant (replaces 4 local
  declarations)
- extracts LIGHT_ISSUE_FRAGMENT GraphQL fragment (eliminates 3rd copy
  of inline issue field selection)
- simplifies SettingsPage onMonitorToggle lambda
- types monitoredRepos prop as RepoRef[] in tab components
- documents poll.ts mount-guard permanence across resetPollState()
- adds 6 tests: unfiltered search error handling, all-monitored +
  tracked users, onLightData suppression, upstream repo toggle guard
- types fetchIssuesAndPullRequests monitoredRepos param as RepoRef[]
- uses SEARCH_RESULT_CAP in pushNotification strings (removes hardcoded 1,000)
- removes stale section comment header
- tightens test assertion for retryable error
- updates test callsites to use full RepoRef objects
- adds poll notification reset reactive effect tests (qa-5): verifies
  _resetNotificationState fires on monitoredRepos and trackedUsers
  config changes, skips on initial mount, detects key swaps
- adds .max(10) constraint on monitoredRepos schema (perf-2): limits
  unfiltered search volume, adds guard in setMonitoredRepo
- adds schema constraint tests for monitoredRepos max
@wgordon17 wgordon17 force-pushed the feat/bot-tracking branch 2 times, most recently from 1086d16 to abff219 Compare March 31, 2026 14:52
- invalidates notifications gate when monitoredRepos or trackedUsers
  change so next poll fetches fresh data instead of returning stale 304
- tightens hot poll PR qualifier to require enriched === true, excluding
  unenriched and null-checkStatus PRs from unnecessary polling
- switches monitor-all eyeball icon from opacity toggle to text-info
  color for better enabled/disabled contrast
- adds "Monitoring all" indicator with repo names on Settings page
- adds regex constraints to RepoRefSchema for defense-in-depth validation
- sets makePullRequest helper default to enriched: true (steady state)
- adds gate bypass integration tests and Settings indicator render tests
@wgordon17 wgordon17 merged commit 414af1c into gordon-code:main Mar 31, 2026
1 check passed
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.

1 participant