Switch to kind 309 for threads

This commit is contained in:
Jon Staab
2024-10-24 13:48:44 -07:00
parent 78213373c1
commit cce5761235
4 changed files with 15 additions and 10 deletions

View File

@@ -3,13 +3,14 @@
import type {Readable} from "svelte/store" import type {Readable} from "svelte/store"
import {writable} from "svelte/store" import {writable} from "svelte/store"
import {createEditor, type Editor, EditorContent} from "svelte-tiptap" import {createEditor, type Editor, EditorContent} from "svelte-tiptap"
import {createEvent, NOTE} from "@welshman/util" import {createEvent} from "@welshman/util"
import {publishThunk} from "@welshman/app" import {publishThunk} from "@welshman/app"
import Icon from "@lib/components/Icon.svelte" import Icon from "@lib/components/Icon.svelte"
import Button from "@lib/components/Button.svelte" import Button from "@lib/components/Button.svelte"
import ModalHeader from "@lib/components/ModalHeader.svelte" import ModalHeader from "@lib/components/ModalHeader.svelte"
import ModalFooter from "@lib/components/ModalFooter.svelte" import ModalFooter from "@lib/components/ModalFooter.svelte"
import {pushToast} from '@app/toast' import {pushToast} from '@app/toast'
import {THREAD} from "@app/state"
import {getPubkeyHints} from "@app/commands" import {getPubkeyHints} from "@app/commands"
import {getEditorOptions, addFile, uploadFiles, getEditorTags} from "@lib/editor" import {getEditorOptions, addFile, uploadFiles, getEditorTags} from "@lib/editor"
@@ -33,7 +34,7 @@
} }
publishThunk({ publishThunk({
event: createEvent(NOTE, {content, tags}), event: createEvent(THREAD, {content, tags}),
relays: [url], relays: [url],
}) })

View File

@@ -66,6 +66,8 @@ export const GENERAL = "general"
export const MESSAGE = 209 export const MESSAGE = 209
export const THREAD = 309
export const COMMENT = 1111 export const COMMENT = 1111
export const MEMBERSHIPS = 10209 export const MEMBERSHIPS = 10209

View File

@@ -2,19 +2,19 @@
import {onMount} from "svelte" import {onMount} from "svelte"
import {page} from "$app/stores" import {page} from "$app/stores"
import {subscribe} from "@welshman/app" import {subscribe} from "@welshman/app"
import {DELETE, NOTE} from "@welshman/util" import {DELETE} from "@welshman/util"
import Page from "@lib/components/Page.svelte" import Page from "@lib/components/Page.svelte"
import Delay from "@lib/components/Delay.svelte" import Delay from "@lib/components/Delay.svelte"
import SecondaryNav from "@lib/components/SecondaryNav.svelte" import SecondaryNav from "@lib/components/SecondaryNav.svelte"
import MenuSpace from "@app/components/MenuSpace.svelte" import MenuSpace from "@app/components/MenuSpace.svelte"
import {decodeRelay, MEMBERSHIPS, MESSAGE, COMMENT} from "@app/state" import {decodeRelay, MEMBERSHIPS, THREAD, MESSAGE, COMMENT} from "@app/state"
$: url = decodeRelay($page.params.relay) $: url = decodeRelay($page.params.relay)
onMount(() => { onMount(() => {
const sub = subscribe({ const sub = subscribe({
filters: [ filters: [
{kinds: [DELETE], "#k": [NOTE, COMMENT, MESSAGE].map(String)}, {kinds: [DELETE], "#k": [THREAD, COMMENT, MESSAGE].map(String)},
{kinds: [MEMBERSHIPS], "#r": [url]}, {kinds: [MEMBERSHIPS], "#r": [url]},
], ],
relays: [url], relays: [url],

View File

@@ -1,8 +1,9 @@
<script lang="ts"> <script lang="ts">
import {onMount} from "svelte" import {onMount} from "svelte"
import {page} from "$app/stores" import {page} from "$app/stores"
import {NOTE, getListTags, getPubkeyTagValues} from "@welshman/util" import {getListTags, getPubkeyTagValues} from "@welshman/util"
import {feedFromFilter, makeIntersectionFeed, makeRelayFeed} from "@welshman/feeds" import type {Filter} from "@welshman/util"
import {feedsFromFilters, makeIntersectionFeed, makeRelayFeed} from "@welshman/feeds"
import {nthEq} from "@welshman/lib" import {nthEq} from "@welshman/lib"
import {feedLoader, userMutes} from "@welshman/app" import {feedLoader, userMutes} from "@welshman/app"
import {createScroller} from "@lib/html" import {createScroller} from "@lib/html"
@@ -13,13 +14,14 @@
import MenuSpace from "@app/components/MenuSpace.svelte" import MenuSpace from "@app/components/MenuSpace.svelte"
import ThreadItem from "@app/components/ThreadItem.svelte" import ThreadItem from "@app/components/ThreadItem.svelte"
import ThreadCreate from "@app/components/ThreadCreate.svelte" import ThreadCreate from "@app/components/ThreadCreate.svelte"
import {COMMENT, deriveEventsForUrl, decodeRelay} from "@app/state" import {THREAD, COMMENT, deriveEventsForUrl, decodeRelay} from "@app/state"
import {pushModal, pushDrawer} from "@app/modal" import {pushModal, pushDrawer} from "@app/modal"
const url = decodeRelay($page.params.relay) const url = decodeRelay($page.params.relay)
const events = deriveEventsForUrl(url, [NOTE]) const events = deriveEventsForUrl(url, [THREAD])
const mutedPubkeys = getPubkeyTagValues(getListTags($userMutes)) const mutedPubkeys = getPubkeyTagValues(getListTags($userMutes))
const feed = makeIntersectionFeed(makeRelayFeed(url), feedFromFilter({kinds: [NOTE, COMMENT]})) const filters: Filter[] = [{kinds: [THREAD]}, {kinds: [COMMENT], '#k': [String(THREAD)]}]
const feed = makeIntersectionFeed(makeRelayFeed(url), feedsFromFilters(filters))
const loader = feedLoader.getLoader(feed, { const loader = feedLoader.getLoader(feed, {
onExhausted: () => { onExhausted: () => {
loading = false loading = false