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
feat: Full GHEC support — org dropdown + org-level teams in Teams tab (#351)
* Initial plan
* feat: Full GHEC support — org dropdown + org-level teams in Teams tab
- Add server/api/enterprise-orgs.ts endpoint that detects Full GHEC
via GraphQL and returns enterprise organizations
- Update Options.getTeamsApiUrl() to use /orgs/:org/teams when githubOrg
is set in enterprise scope (Full GHEC org teams)
- Update Options.getTeamMembersApiUrl() to use /orgs/:org/teams/:team/members
when githubOrg is set in enterprise scope (avoids enterprise API versioning)
- Update server/api/teams.ts to skip enterprise API version header when
using org-based teams URL
- Update server/api/seats.ts fetchAllTeamMembers() to skip enterprise API
version header when githubOrg is set
- Update TeamsComponent.vue to:
- Detect Full GHEC at mount time via /api/enterprise-orgs
- Show org dropdown above teams dropdown for Full GHEC enterprises
- Filter teams by selected org (or show enterprise teams when none selected)
- Navigate to /orgs/:org when org link is clicked
- Use org context for team membership lookup and team detail URLs
- Add unit tests for new getTeamsApiUrl and getTeamMembersApiUrl behavior
Agent-Logs-Url: https://github.com/github-copilot-resources/copilot-metrics-viewer/sessions/dca47d83-74e0-44dc-9f4e-ed497ad27e12
Co-authored-by: karpikpl <3539908+karpikpl@users.noreply.github.com>
* fix: address code review - paginate org listing and add watcher error handling
Agent-Logs-Url: https://github.com/github-copilot-resources/copilot-metrics-viewer/sessions/dca47d83-74e0-44dc-9f4e-ed497ad27e12
Co-authored-by: karpikpl <3539908+karpikpl@users.noreply.github.com>
* test: add Teams tab tests (enterprise-orgs endpoint, teams mock mode, GHEC logic)
Agent-Logs-Url: https://github.com/github-copilot-resources/copilot-metrics-viewer/sessions/c8691e31-4d41-4a74-8990-74915f9837d5
Co-authored-by: karpikpl <3539908+karpikpl@users.noreply.github.com>
* fix: don't auto-fill githubOrg from config for enterprise scope in teams endpoint
When scope=enterprise, githubOrg is an explicit Full GHEC org override and
should not be automatically populated from NUXT_PUBLIC_GITHUB_ORG config.
This prevented enterprise-level teams from being fetched when the app was
configured with a default org (e.g. cody-test-org) in the environment.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* chore: bump version to 3.5.0
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: show org dropdown for all enterprise scopes; move View Org icon inside field
- Org autocomplete now always renders for enterprise scope (disabled/empty
when isFullGhec=false) so the layout is consistent regardless of whether
the enterprise has organizations
- Replaced external 'VIEW ORG' button with a compact icon button (mdi-open-in-new)
inside the autocomplete's append-inner slot, shown only when an org is selected
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: remove View Org navigation from org dropdown in enterprise context
The enterprise token doesn't have org-level API access, so navigating to
/orgs/:org from enterprise context always results in 404. The org dropdown
is purely a team filter — no org navigation needed.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: restore org navigation link as compact icon inside dropdown
The link to /orgs/:org is valid — 404 was a token permissions issue
(enterprise-only token lacks org-level API access), not a routing bug.
Users with a PAT that has org-level scopes can switch to org view.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: align Deep Dive/Clear All buttons with teams combobox
align-start + mt-1 keeps buttons vertically level with the input field
instead of centering against the full component height (label + input + hint).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: use githubEnt (not githubOrg) as metrics identifier in enterprise scope
When enterprise scope + org selected (Full GHEC), identifier was resolving
to githubOrg (e.g. 'cody-test-org') causing fetchRawUserDayRecords to fetch
the wrong data source. Enterprise metrics are always keyed by githubEnt;
githubOrg is only used for team membership lookups via getTeamMembersApiUrl.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: add spacing between teams combobox and Deep Dive/Clear All buttons
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: increase gap between Deep Dive and Clear All buttons
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: single team header uses same compact card as comparison mode
Replaces the full-width header card with the same v-col/v-card structure
used in comparison mode (cols=12 sm=6 md=4 lg=3), showing active users,
acceptance rate, interactions and date range — consistent layout regardless
of how many teams are selected.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: align team summary cards with charts below
Use fluid + px-4 + dense row on cards container to match the charts
container layout — eliminates the left-edge offset caused by v-container
centering and v-row negative gutters.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* feat: add full-width toggle option and larger icons to Teams tab chart controls
- Add 3rd 'full width' (mdi-fullscreen) option matching MetricsViewer
- Switch to icon= prop (no hardcoded size=18) for consistent icon sizing
- Update chartColumns type to include 'full'
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: add margin between Deep Dive/Comparison chip and Clear All button
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: restore original icon style for chart toggle buttons (v-icon size=18)
Use <v-icon size="18"> inside v-btn instead of icon= prop to preserve
original button proportions, keeping the same style as the 2-button
version but with a 3rd fullscreen option added.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: align MetricsViewer chart toggle buttons to use v-icon size=18 style
Matches TeamsComponent toggle style for consistency across components.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* feat: add full-width toggle to all viewer components with consistent icon style
All chart toggles now have 3 options (single/two/full) using v-icon size=18
for consistency with MetricsViewer and TeamsComponent.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: karpikpl <3539908+karpikpl@users.noreply.github.com>
Co-authored-by: Piotr Karpala <karpik.pl@gmail.com>
Co-authored-by: Piotr Karpala <piotrkarpala@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
0 commit comments