Include people with only a display_name in search

This commit is contained in:
Jonathan Staab 2023-04-20 10:19:22 -05:00
parent b46fde360b
commit 282c036fa5
6 changed files with 21 additions and 23 deletions

View File

@ -58,7 +58,7 @@ Maintenance release - bugfixes, style fixes, and refactoring. High points are AU
- [x] Re-write pool to remove dependency on nostr-tools.relay
- [x] Add support for AUTH
- [x] Use COUNT for counting follows
- [x] Re-write nost composition input
- [x] Re-write note composition input
- [x] Add since to feeds to improve time relevance
- [x] Fix a few styling things

View File

@ -9,7 +9,7 @@ If you like Coracle and want to support its development, you can donate sats via
# Features
- [x] Threads/social
- [x] Profile search
- [x] Profile search using NIP-50
- [x] Login via extension
- [x] Profile sharing via QR codes
- [x] NIP 05 verification
@ -17,25 +17,23 @@ If you like Coracle and want to support its development, you can donate sats via
- [x] Notifications
- [x] Chat and direct messages
- [x] Note composition with mentions and topics
- [x] Follow and follower lists
- [x] Profile pages, follow/unfollow, mute
- [x] Persistent color-coded relay list
- [x] Profile pages, follow/unfollow
- [x] Thread and person muting, collapse thread
- [x] Smart relay selection and display
- [x] Connection quality information
- [x] Invoice, bech32 entity, mention, link, image, and video rendering
- [x] Invoice, quote, mention, link, image, and video rendering
- [x] Installable as a progressive web app
- [x] Media uploads
- [x] Integrated media uploads
- [x] Lightning zaps
- [ ] Feeds customizable by person, relay, and topic
- [ ] Keyword mutes
- [x] Feeds customizable by person, relay, and topic using NIP-51
- [x] AUTH (NIP-42) support for paid relays
- [x] Multiplextr support for reducing bandwidth
- [x] Profile and note metadata
- [ ] Exportable copy of all user events
- [ ] Reporting and basic distributed moderation
- [ ] Content and person recommendations
- [ ] Profile and content search
You can find a more complete changelog [here](./ROADMAP.md).
# Run Coracle locally:
- Clone the project repository: `git clone https://github.com/coracle-social/coracle.git`

View File

@ -1,6 +1,9 @@
# Current
- [ ] Remember message/chat status
- [ ] Add purplepag.es to sign in flow
- [ ] Add way to turn off likes/zaps
- [ ] Improve AUTH status display
- [ ] Image classification
- https://github.com/bhky/opennsfw2
- [ ] Claim relays bounty

View File

@ -231,11 +231,13 @@ export const onReady = cb => {
})
}
export const searchPeople = watch("people", t =>
fuzzy(t.all({"kind0.name": {$type: "string"}}), {
keys: ["kind0.name", "kind0.about", "pubkey"],
export const searchPeople = watch("people", t => {
const people = t.all({
$or: [{"kind0.name": {$type: "string"}}, {"kind0.display_name": {$type: "string"}}],
})
)
return fuzzy(people, {keys: ["kind0.name", "kind0.display_name", "kind0.about", "pubkey"]})
})
export const searchTopics = watch("topics", t => fuzzy(t.all(), {keys: ["name"]}))

View File

@ -33,7 +33,7 @@
</script>
<div class="relative flex flex-col gap-4 py-2 px-3">
<div class="flex gap-4">
<div class="flex justify-between gap-2">
<Anchor type="unstyled" href={routes.person($person.pubkey)} class="flex gap-4">
<PersonCircle size={14} person={$person} />
<div class="flex flex-grow flex-col gap-2">

View File

@ -1,12 +1,11 @@
<script lang="ts">
import {nip19} from "nostr-tools"
import {last, pluck, propEq} from "ramda"
import {fuzzy} from "src/util/misc"
import {displayPerson} from "src/util/nostr"
import PersonBadge from "src/app/shared/PersonBadge.svelte"
import ContentEditable from "src/partials/ContentEditable.svelte"
import Suggestions from "src/partials/Suggestions.svelte"
import {watch} from "src/agent/db"
import {searchPeople} from "src/agent/db"
import {getPubkeyWriteRelays} from "src/agent/relays"
export let onSubmit
@ -26,10 +25,6 @@
},
}
const searchPeople = watch("people", t => {
return fuzzy(t.all({"kind0.name": {$type: "string"}}), {keys: ["kind0.name", "pubkey"]})
})
const applySearch = word => {
suggestions.setData(word.startsWith("@") ? $searchPeople(word.slice(1)).slice(0, 5) : [])
}