Skip to content

Commit c2ef303

Browse files
authored
Merge pull request #111 from a-thieme/dev
match testbed ndncert /ndn/<email> naming convention
2 parents 63ee6f9 + e224fcd commit c2ef303

3 files changed

Lines changed: 15 additions & 20 deletions

File tree

‎src/components/InvitePeopleModal.vue‎

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@
2828

2929
<div class="field mt-2">
3030
<input class="input" type="text" :placeholder="`name@example.com or /ndn/user-name`" v-model="inviteInput"
31-
:disabled="!canManageMembers" @keydown.enter.prevent="addInvitees(inviteInput)" @paste="addInviteesOnPaste" autofocus />
31+
:disabled="!canManageMembers" @keydown.enter.prevent="addInvitees(inviteInput)" @paste="addInviteesOnPaste"
32+
autofocus />
3233
</div>
3334

3435
<div class="invitee-management">
@@ -56,12 +57,12 @@
5657

5758
<div class="email" v-if="item.email">{{ item.email }}</div>
5859
</div>
59-
<button class="button invitee-list-action" :disabled="!canManageMembers"
60-
@click="acceptRequest(item)" title="Accept">
60+
<button class="button invitee-list-action" :disabled="!canManageMembers" @click="acceptRequest(item)"
61+
title="Accept">
6162
<FontAwesomeIcon :icon="faCheck" />
6263
</button>
63-
<button class="button invitee-list-action" :disabled="!canManageMembers"
64-
@click="denyRequest(item)" title="Deny">
64+
<button class="button invitee-list-action" :disabled="!canManageMembers" @click="denyRequest(item)"
65+
title="Deny">
6566
<FontAwesomeIcon :icon="faXmark" />
6667
</button>
6768
</div>
@@ -113,17 +114,17 @@
113114
</div>
114115

115116
<button class="button invitee-list-action" v-if="canManageMembers && !item.owner"
116-
:disabled="resendingInvite === item.name"
117-
@click="resendInvite(item.name)" title="Generate a new fast-join link for this person">
117+
:disabled="resendingInvite === item.name" @click="resendInvite(item.name)"
118+
title="Generate a new fast-join link for this person">
118119
<FontAwesomeIcon :icon="faShare" />
119120
</button>
120-
<button class="button invitee-list-action" v-if="item.pending"
121-
@click="removeInvitee(item.name)" title="Remove this pending invitee">
121+
<button class="button invitee-list-action" v-if="item.pending" @click="removeInvitee(item.name)"
122+
title="Remove this pending invitee">
122123
<FontAwesomeIcon :icon="faXmark" />
123124
</button>
124125
<button class="button invitee-list-action" v-else-if="canManageMembers && !item.owner"
125-
:disabled="removingMember === item.name"
126-
@click="removeExistingMember(item.name)" title="Remove access to this workspace">
126+
:disabled="removingMember === item.name" @click="removeExistingMember(item.name)"
127+
title="Remove access to this workspace">
127128
<FontAwesomeIcon :icon="faUserMinus" />
128129
</button>
129130
</div>
@@ -363,7 +364,7 @@ function addInvitee(invitee: string) {
363364
}
364365
365366
// Convert email to NDN name
366-
const ndnName = utils.convertEmailToNameLegacy(entry);
367+
const ndnName = utils.convertEmailToName(entry);
367368
368369
// Form profile
369370
new_profile = { name: ndnName, email: entry };

‎src/components/landing/LandingLogin.vue‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,7 @@ function emailSubmit() {
430430
// fail outright or produce a testbed key that doesn't chain to the
431431
// bundle's ephemeral cert.
432432
if (fastJoinBundle.value) {
433-
const predicted = utils.convertEmailToNameLegacy(emailAddress.value);
433+
const predicted = utils.convertEmailToName(emailAddress.value);
434434
if (predicted !== fastJoinBundle.value.inviteeIdentity) {
435435
emailError.value = `This email produces identity "${predicted}" but the fast-join link designates "${fastJoinBundle.value.inviteeIdentity}". Use a different email or contact the inviter.`;
436436
return;

‎src/utils/email.ts‎

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,7 @@ export function convertEmailToName(email: string): string {
1515
if (!validateEmail(email)) {
1616
throw new Error('Invalid email address');
1717
}
18-
19-
const parts = email.toLowerCase().split('@');
20-
const user = parts[0];
21-
const domain = parts[1];
22-
23-
// Technically @ is not allowed in URI, but NDNd can handle this
24-
return `/${domain}/@${user}`;
18+
return encodeURIComponent(email.toLowerCase())
2519
}
2620

2721
export function convertEmailToNameLegacy(email: string): string {

0 commit comments

Comments
 (0)