Skip to content

Commit dd3c48e

Browse files
committed
coderabbit suggested changes
- Handle thrown connector errors to prevent unhandled promise rejections. - Guard against stale package responses when team selection changes quickly.
1 parent 8ddfb65 commit dd3c48e

1 file changed

Lines changed: 15 additions & 2 deletions

File tree

app/components/Org/TeamPackagesPanel.vue

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ const selectedTeam = shallowRef<string | null>(null)
2727
const packages = shallowRef<Record<string, AccessPermission>>({})
2828
const isLoadingPackages = shallowRef(false)
2929
const packagesError = shallowRef<string | null>(null)
30+
const packageLoadRequestId = shallowRef(0)
3031
3132
// Search/filter
3233
const searchQuery = shallowRef('')
@@ -58,6 +59,9 @@ async function loadTeams() {
5859
} else {
5960
teamsError.value = connectorError.value || 'Failed to load teams'
6061
}
62+
} catch (error) {
63+
teamsError.value =
64+
connectorError.value || (error instanceof Error ? error.message : 'Failed to load teams')
6165
} finally {
6266
isLoadingTeams.value = false
6367
}
@@ -66,20 +70,29 @@ async function loadTeams() {
6670
// Load packages for selected team
6771
async function loadPackages() {
6872
if (!isConnected.value || !selectedTeam.value) return
73+
const teamAtRequestStart = selectedTeam.value
74+
const requestId = ++packageLoadRequestId.value
6975
7076
isLoadingPackages.value = true
7177
packagesError.value = null
7278
7379
try {
74-
const scopeTeam = buildScopeTeam(props.orgName, selectedTeam.value)
80+
const scopeTeam = buildScopeTeam(props.orgName, teamAtRequestStart)
7581
const result = await listTeamPackages(scopeTeam)
82+
if (requestId !== packageLoadRequestId.value || teamAtRequestStart !== selectedTeam.value)
83+
return
7684
if (result) {
7785
packages.value = result
7886
} else {
7987
packagesError.value = connectorError.value || 'Failed to load packages'
8088
}
89+
} catch (error) {
90+
packagesError.value =
91+
connectorError.value || (error instanceof Error ? error.message : 'Failed to load packages')
8192
} finally {
82-
isLoadingPackages.value = false
93+
if (requestId === packageLoadRequestId.value) {
94+
isLoadingPackages.value = false
95+
}
8396
}
8497
}
8598

0 commit comments

Comments
 (0)