From 287a440b3e327395c9188ed9a1f50bf9e8172175 Mon Sep 17 00:00:00 2001 From: Trent Larson Date: Thu, 6 Feb 2025 19:35:33 -0700 Subject: [PATCH] show a better message when admission to an onboarding meeting succeeds but registration fails --- src/components/MembersList.vue | 57 ++++++++++++++++++---------------- 1 file changed, 31 insertions(+), 26 deletions(-) diff --git a/src/components/MembersList.vue b/src/components/MembersList.vue index 32850aa4..1e30590b 100644 --- a/src/components/MembersList.vue +++ b/src/components/MembersList.vue @@ -392,39 +392,44 @@ export default class MembersList extends Vue { did: member.did, name: member.name, } - const result = await register( - this.activeDid, - this.apiServer, - this.axios, - contactOldOrNew, - ); - if (result.success) { - member.member.registered = true; - if (oldContact) { - await db.contacts.update(member.did, { registered: true }); - oldContact.registered = true; - } - this.$notify( - { - group: "alert", - type: "success", - title: "Registered", - text: "Besides being admitted, they were also registered.", - }, - 3000, + try { + const result = await register( + this.activeDid, + this.apiServer, + this.axios, + contactOldOrNew, ); - } else { - const additionalInfo = result.error || ""; + if (result.success) { + member.member.registered = true; + if (oldContact) { + await db.contacts.update(member.did, { registered: true }); + oldContact.registered = true; + } + this.$notify( + { + group: "alert", + type: "success", + title: "Registered", + text: "Besides being admitted, they were also registered.", + }, + 3000, + ); + } else { + throw result; + } + // eslint-disable-next-line @typescript-eslint/no-explicit-any + } catch (error: any) { + // registration failure is likely explained by a message from the server + const additionalInfo = serverMessageForUser(error) || error?.error || ""; this.$notify( { group: "alert", - type: "danger", + type: "warning", title: "Registration failed", - text: - "They were admitted, but registration failed. You can try again, or register from your contacts screen. " + + text: "They were admitted to the meeting. However, registration failed. You can register them from the contacts screen. " + additionalInfo, }, - 10000, + 12000, ); } }