feat(search): fuzzy/typo tolerance (pg_trgm) (#16)
CI / backend (push) Successful in 48s
CI / frontend (push) Successful in 13s
Deploy Staging / deploy (push) Successful in 25s
Security / secrets (push) Successful in 3s
Security / dependencies (push) Successful in 55s
CI / backend (pull_request) Successful in 49s
CI / frontend (pull_request) Successful in 12s
Security / secrets (pull_request) Successful in 3s
Security / dependencies (pull_request) Successful in 53s
CI / backend (push) Successful in 48s
CI / frontend (push) Successful in 13s
Deploy Staging / deploy (push) Successful in 25s
Security / secrets (push) Successful in 3s
Security / dependencies (push) Successful in 55s
CI / backend (pull_request) Successful in 49s
CI / frontend (pull_request) Successful in 12s
Security / secrets (pull_request) Successful in 3s
Security / dependencies (pull_request) Successful in 53s
This commit was merged in pull request #16.
This commit is contained in:
@@ -2,6 +2,13 @@ using InboxIntel.Domain.Enums;
|
||||
|
||||
namespace InboxIntel.Application.DTOs;
|
||||
|
||||
/// <summary>
|
||||
/// Row summary for search/list results. <c>MatchHighlight</c> is a "why this matched" body
|
||||
/// fragment (ts_headline) with matched terms wrapped in U+E000/U+E001 sentinels — NOT HTML;
|
||||
/// the client renders them as escaped <mark> elements, so untrusted email content can
|
||||
/// never inject markup. Null unless the search had a free-text query; optional/last so other
|
||||
/// DTO constructors are unaffected.
|
||||
/// </summary>
|
||||
public record EmailSummaryDto(
|
||||
Guid Id,
|
||||
string GmailMessageId,
|
||||
@@ -17,10 +24,6 @@ public record EmailSummaryDto(
|
||||
EmailCategory Category,
|
||||
bool HasListUnsubscribe,
|
||||
bool SupportsOneClick,
|
||||
// "Why this matched": a ts_headline fragment of the body with matched terms wrapped in
|
||||
// U+E000/U+E001 sentinels (NOT HTML — the client renders them as escaped <mark> elements,
|
||||
// so untrusted email content can never inject markup). Null unless the search had a
|
||||
// free-text query. Optional/last so other DTO constructors are unaffected.
|
||||
string? MatchHighlight = null);
|
||||
|
||||
/// <summary>Full single-email view, including body text, for the detail pane.</summary>
|
||||
|
||||
Reference in New Issue
Block a user