mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-10-06 11:48:24 +00:00
Routing the name searches through the leftover terms was half right and I said so too confidently last time: `#bitcoin` does not reach the channel finder as "#bitcoin" any more, but nor does it reach it as "bitcoin" — the tokenizer lifts the tag out, nothing is left over, and the finders return early on a blank string. So the fix that was meant to make a channel called "Bitcoin" findable made it unfindable, along with every user. `SearchQuery.nameSearchTerms()` gives these finders the word the reader actually typed: the leftovers when there are any, and otherwise the value inside the token. Somebody typing `#bitcoin` into a search box means "bitcoin" by it, and `from:vitor` means "vitor"; neither means "search for nothing". One term, never a join — these match a single name, so `"bitcoin lightning"` would match nothing at all. Desktop had the same hole through a different door: its people subscription fell back to serializing the whole query, so the relay's people index was asked for the literal "#bitcoin". Same function, same answer. Checked the other surfaces rather than assuming: the hashtag suggestion row, the NIP-05 resolver, the bech32 auto-navigate and the relay-URL row all read the raw box on purpose — an npub or a `wss://` url is the whole input, not a word inside it — and none of them were touched. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017yKjw2WqwZpSzsqcYZMnkV