Skip to content

feat(ui): sorts repos by activity and displays push timestamps in selector#5

Merged
wgordon17 merged 5 commits intogordon-code:mainfrom
wgordon17:roadmap/phase-1/repo-activity-sort
Mar 24, 2026
Merged

feat(ui): sorts repos by activity and displays push timestamps in selector#5
wgordon17 merged 5 commits intogordon-code:mainfrom
wgordon17:roadmap/phase-1/repo-activity-sort

Conversation

@wgordon17
Copy link
Copy Markdown
Member

Summary

  • Sorts repos by last push date in RepoSelector via server-side sort=pushed&direction=desc, displays relative timestamps next to each repo name
  • Introduces RepoEntry type extending RepoRef with pushedAt, stripped at the onChange boundary via toRepoRef() to keep config store clean
  • Sorts org groups by most recent activity (deferred until all orgs finish loading to prevent layout shift), adds NaN guard to relativeTime()

@wgordon17 wgordon17 merged commit 5958018 into gordon-code:main Mar 24, 2026
2 checks passed
@wgordon17 wgordon17 deleted the roadmap/phase-1/repo-activity-sort branch March 25, 2026 00:04
wgordon17 added a commit to wgordon17/github-tracker that referenced this pull request Mar 31, 2026
- adds 60s wall-clock tick for relative time freshness (cor-1)
- memoizes WorkflowRunRow tooltip with Created prefix (cq-1, cq-2)
- renames hasUpdate to shouldShowUpdated (cq-5)
- simplifies duplicate reactivity comments (cq-4)
- switches ItemRow test locators to querySelector (gordon-codegh-5)
- fixes double-mock pattern with vi.mocked (qa-4)
- adds 2mo, invalid date, and title attribute tests (qa-1, qa-2, qa-3)
wgordon17 added a commit to wgordon17/github-tracker that referenced this pull request Mar 31, 2026
- adds 60s wall-clock tick for relative time freshness (cor-1)
- memoizes WorkflowRunRow tooltip with Created prefix (cq-1, cq-2)
- renames hasUpdate to shouldShowUpdated (cq-5)
- simplifies duplicate reactivity comments (cq-4)
- switches ItemRow test locators to querySelector (gordon-codegh-5)
- fixes double-mock pattern with vi.mocked (qa-4)
- adds 2mo, invalid date, and title attribute tests (qa-1, qa-2, qa-3)
wgordon17 added a commit that referenced this pull request Mar 31, 2026
…39)

* feat(format): adds shortRelativeTime compact date formatter

* feat(ui): adds updated date display to issue and PR rows

* test(ui): adds dual-date display tests for ItemRow

* fix(ui): addresses review findings for date display

* test: future timestamp guard and refreshTick updatedDisplay coverage

* refactor(ui): simplifies hasUpdate memo with destructured timeInfo

* refactor(ui): consolidates timeInfo memo and adds boundary test

* fix(a11y): uses semantic time elements for date display

* fix: addresses PR review findings for date display

- splits timeInfo into staticDateInfo and dateDisplay memos (perf, clarity)
- adds future-timestamp guard to relativeTime (clock skew consistency)
- aligns Date.parse usage across relativeTime and shortRelativeTime
- documents void props.refreshTick reactive dependency pattern
- migrates WorkflowRunRow to semantic <time> element with createMemo
- wires refreshTick through ActionsTab to WorkflowRunRow
- adds boundary tests (59s/60s, 29d/30d, 11mo/12mo)
- adds datetime attribute, zero-diff, and future relativeTime tests

* fix: reorders hasUpdate guard and adds WorkflowRunRow time tests

* fix: addresses PR review findings for date display

- adds 60s wall-clock tick for relative time freshness (cor-1)
- memoizes WorkflowRunRow tooltip with Created prefix (cq-1, cq-2)
- renames hasUpdate to shouldShowUpdated (cq-5)
- simplifies duplicate reactivity comments (cq-4)
- switches ItemRow test locators to querySelector (gh-5)
- fixes double-mock pattern with vi.mocked (qa-4)
- adds 2mo, invalid date, and title attribute tests (qa-1, qa-2, qa-3)

* test: adds clock tick interval and cleanup assertions

* feat(ui): adds repo links, scrollbar, dep filter, flash fix

- adds external-link icon on repo group headers linking to GitHub per tab
- moves scrollbar to viewport edge via page scroll with sticky tabs
- adds depDashboard filter with toggle pill, hidden by default
- fixes detectReorderedRepos false flash on repo add/remove
- extracts ExternalLinkIcon shared component
- preserves depDashboard toggle across resetAllTabFilters
- uses schema defaults in resetTabFilter instead of hardcoded all

* fix(ui): adds flex-wrap to PullRequestsTab toolbar

* docs: updates Issues Tab description for dep dashboard filter

* fix(ui): moves repo link next to name, fixes sticky focus

* fix(ui): moves repo link outside button, uses focus-visible

* refactor(ui): addresses PR review findings across date display PR

- Extracts RepoGitHubLink shared component, replacing duplicated anchor markup in IssuesTab, PullRequestsTab, and ActionsTab

- Moves clockInterval inside onMount to match coordinator lifecycle pattern

- Promotes depDashboard from string enum in tabFilters to top-level boolean (hideDepDashboard), eliminating resetAllTabFilters preserve hack

- Expands void refreshTick comments to explain SolidJS dependency tracking mechanism

- Normalizes Date.parse() usage in formatDuration for consistency with relativeTime/shortRelativeTime

- Adds tests for mixed valid/invalid dates, 360-day boundary, external link rendering, clock cleanup specificity, and hideDepDashboard lifecycle

* test: adds RepoGitHubLink tests and formatDuration NaN guard
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