From efc4af08993240b65c50234959aaab469e5dd0ec Mon Sep 17 00:00:00 2001 From: Thibault VINCENT Date: Thu, 30 Jul 2026 02:04:34 +0200 Subject: [PATCH] fix(PacketDetailsModal): don't let a failed companion lookup discard advert names On a repeater with no companion bridge configured, /api/companion/contacts returns 503. The call had no individual .catch(), so the whole Promise.all rejected and the successfully fetched adverts were discarded, leaving every hop in the Repeater Path View as "Unknown contact". Catch the companion lookup like the advert lookups so advert-based name resolution still applies. extractArrayPayload(null) already yields []. Co-Authored-By: Claude Fable 5 --- src/components/modals/PacketDetailsModal.vue | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/modals/PacketDetailsModal.vue b/src/components/modals/PacketDetailsModal.vue index 95313f2..7e96dac 100644 --- a/src/components/modals/PacketDetailsModal.vue +++ b/src/components/modals/PacketDetailsModal.vue @@ -143,7 +143,9 @@ const refreshContactLookup = async () => { contactLookupLoading.value = true; try { const [contactsResponse, advertResponses] = await Promise.all([ - ApiService.get('/companion/contacts'), + // A repeater with no companion bridge returns 503 here; treat it like the + // advert lookups below so advert-based names still resolve. + ApiService.get('/companion/contacts').catch(() => null), Promise.all( ADVERT_CONTACT_TYPES.map((contactType) => ApiService.get('/adverts_by_contact_type', {