feat: complete person identity matching system with fuzzy detection, revert, and manual link
Implements the full identity matching engine: email matching (HIGH confidence), fuzzy name matching with Levenshtein distance (MEDIUM confidence, upgradable to HIGH with DOB tiebreaker), manual link/unlink, revert confirmed matches, and automatic detection via PersonObserver. Includes 33 comprehensive tests, frontend integration with confirm/dismiss/unlink UI, and match indicators in the persons list. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -294,6 +294,29 @@ const crowdTypeOptions = computed(() => [
|
||||
<span class="text-caption">{{ getInitials(item.full_name) }}</span>
|
||||
</VAvatar>
|
||||
<span>{{ item.full_name }}</span>
|
||||
<VTooltip
|
||||
v-if="item.pending_identity_match"
|
||||
location="top"
|
||||
>
|
||||
<template #activator="{ props: tooltipProps }">
|
||||
<VIcon
|
||||
v-bind="tooltipProps"
|
||||
size="16"
|
||||
color="warning"
|
||||
>
|
||||
tabler-link
|
||||
</VIcon>
|
||||
</template>
|
||||
Mogelijke match: {{ item.pending_identity_match.matched_user.full_name }}
|
||||
({{ item.pending_identity_match.confidence_label }})
|
||||
</VTooltip>
|
||||
<VIcon
|
||||
v-else-if="item.has_user_account"
|
||||
size="16"
|
||||
color="success"
|
||||
>
|
||||
tabler-user-check
|
||||
</VIcon>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user