Browse Source

fix: repo event tag rendering

- get event pubkey in using correct parameter name
- get r tag value for unique_commit
- extract t tags

a typeguard is require like in ngit to ensure the r tag is
formatted as unique_commit
master
DanConwayDev 2 years ago
parent
commit
c32479de20
No known key found for this signature in database
GPG Key ID: 68E15486D73F75E1
  1. 10
      src/lib/stores/repo.ts

10
src/lib/stores/repo.ts

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
import { NDKRelaySet, NDKSubscription } from '@nostr-dev-kit/ndk'
import { NDKEvent, NDKRelaySet, NDKSubscription } from '@nostr-dev-kit/ndk'
import { writable, type Unsubscriber, type Writable } from 'svelte/store'
import { base_relays, ndk } from './ndk'
import type { Repo } from '$lib/components/repo/type'
@ -42,12 +42,12 @@ export const ensureSelectedRepo = async (repo_id: string): Promise<Repo> => { @@ -42,12 +42,12 @@ export const ensureSelectedRepo = async (repo_id: string): Promise<Repo> => {
)
return new Promise((r) => {
sub.on('event', (event) => {
sub.on('event', (event: NDKEvent) => {
try {
if (event.kind == repo_kind && event.tagValue('d') == repo_id) {
const maintainers = [
{
hexpubkey: event.pub_key,
hexpubkey: event.pubkey,
loading: true,
npub: '',
} as User,
@ -66,11 +66,11 @@ export const ensureSelectedRepo = async (repo_id: string): Promise<Repo> => { @@ -66,11 +66,11 @@ export const ensureSelectedRepo = async (repo_id: string): Promise<Repo> => {
selected_repo.set({
loading: false,
repo_id: event.replaceableDTag(),
unique_commit: event.getMatchingTags('r'),
unique_commit: event.tagValue('r') || undefined,
name: event.tagValue('name') || '',
description: event.tagValue('description') || '',
clone: event.tagValue('clone') || '',
tags: event.getMatchingTags('t') || [],
tags: event.getMatchingTags('t').map((t) => t[1]) || [],
maintainers,
relays: event.getMatchingTags('relay').map((t: string[]) => t[1]),
})

Loading…
Cancel
Save