Improve relay access checks, content loading

This commit is contained in:
Jon Staab
2024-10-10 17:09:01 -07:00
parent 83d892afc3
commit 597ebddf82
14 changed files with 127 additions and 104 deletions
+10 -16
View File
@@ -209,6 +209,16 @@ export const deriveEvent = (idOrAddress: string, hints: string[] = []) => {
)
}
export const deriveEventsForUrl = (url: string, kinds: number[]) =>
derived(trackerStore, $tracker =>
sortBy(
e => -e.created_at,
Array.from($tracker.getIds(url))
.map(id => repository.eventsById.get(id)!)
.filter(e => kinds.includes(e?.kind)),
)
)
// Membership
export const getMembershipUrls = (list?: List) => sort(getRelayTagValues(getListTags(list)))
@@ -375,22 +385,6 @@ export const chatSearch = derived(chats, $chats =>
}),
)
// Calendar events
export const events = deriveEvents(repository, {filters: [{kinds: [EVENT_DATE, EVENT_TIME]}]})
export const eventsByUrl = derived([trackerStore, events], ([$tracker, $events]) => {
const eventsByUrl = new Map<string, TrustedEvent[]>()
for (const event of $events) {
for (const url of $tracker.getRelays(event.id)) {
pushToMapKey(eventsByUrl, url, event)
}
}
return eventsByUrl
})
// Rooms
export const roomsByUrl = derived(channels, $channels => {