Skip to content

Show all search results with dates, fix transliteration substring false-positive - #178

Merged
brianglass merged 1 commit into
mainfrom
saint-search-mockup
Aug 15, 2026
Merged

Show all search results with dates, fix transliteration substring false-positive#178
brianglass merged 1 commit into
mainfrom
saint-search-mockup

Conversation

@brianglass

Copy link
Copy Markdown
Owner

Summary

Follow-up to #175/#176/#177.

Search results page redesign (reversing part of #176's story-filter):

  • Every matching saint now shows, not just ones with a story. Story-less results render grayed out and unlinked (nothing useful lives on their detail page), instead of being silently hidden.
  • Each result now shows its commemoration date(s) in a right-aligned table column -- lets you see why a result has no link, and disambiguates same-named saints without clicking through.
  • Single-result auto-redirect now only fires when that one result actually has somewhere to go.

Fixed a real transliteration search bug: normalize_transliteration("Mary") produces "mari" (the y->i rule), and matching that as a plain substring against the normalized field made "Mary" match any name starting with those letters -- Marinus, Marina, Mariamne, Samaria, Photini, etc. Switched to a word-boundary regex match, since the normalized field only exists to compare whole transliterated names against each other, not serve as another partial-substring search field.

Also fixed 3 "martyr"/"hieromartyr" misspellings ("marytyr", "maryr") in the data, found via their accidental false-positive matches in a "Mary" search.

Test plan

  • Full test suite passes (152 tests) against a from-scratch image build
  • Manually verified in-browser: story-less results display correctly, date column layout (including wrapping behavior for long date lists), "Mary" search no longer matches unrelated names

🤖 Generated with Claude Code

https://claude.ai/code/session_01Hf6j2xXQXywHVh3HAVRxB3

…teration substring false-positive

Search results page:
- Show every matching saint, not just ones with a story -- story-less
  results render unlinked (nothing useful on the detail page for them)
  and grayed out instead of being hidden entirely.
- Show each result's commemoration date(s) in a right-aligned table
  column, so the reason for a story-less result (and disambiguation
  between same-named saints) is visible without clicking through.
- Single-result auto-redirect now only fires when that result actually
  has a page to go to.

Fix a real search bug found via this: normalize_transliteration("Mary")
produces "mari" (the y->i rule), and a plain substring match against the
normalized field made that match any name starting with "mari" --
Marinus, Marina, Mariamne, Samaria, Photini, etc. Switched the
normalized-field match to a word-boundary regex instead of icontains,
since that field only exists to compare whole transliterated names, not
serve as another partial-substring field (name/full_name/title still use
icontains, unaffected).

Also fixed 3 "martyr"/"hieromartyr" misspellings ("marytyr", "maryr")
found via their accidental false-positive matches in a "Mary" search.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Hf6j2xXQXywHVh3HAVRxB3
@brianglass
brianglass merged commit a385d9c into main Aug 15, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant