More small fixes

This commit is contained in:
Jon Staab 2024-03-13 19:29:36 -07:00
parent 780d923768
commit b10ffffe5f
4 changed files with 20 additions and 11 deletions

View File

@ -30,7 +30,10 @@
uniqBy(
prop("url"),
// Make sure our hardcoded urls are first, since they're more likely to find a match
$env.DEFAULT_RELAYS.map(objOf("url")).concat(shuffle($relays)),
[
...$env.PLATFORM_RELAYS,
...$env.DEFAULT_RELAYS,
].map(objOf("url")).concat(shuffle($relays)),
),
)

View File

@ -7,7 +7,7 @@ import {noteKinds, reactionKinds, repostKinds} from "src/util/nostr"
import type {DisplayEvent} from "src/engine/notes/model"
import type {Event} from "src/engine/events/model"
import {sortEventsDesc, unwrapRepost} from "src/engine/events/utils"
import {isEventMuted, isDeleted, isSeen} from "src/engine/events/derived"
import {isEventMuted, isDeleted} from "src/engine/events/derived"
import {writable} from "src/engine/core/utils"
import type {Filter} from "../model"
import {getIdFilters, guessFilterDelta} from "./filters"
@ -41,7 +41,6 @@ export class FeedLoader {
ready: Promise<void>
isEventMuted = isEventMuted.get()
isDeleted = isDeleted.get()
isSeen = isSeen.get()
constructor(readonly opts: FeedOpts) {
const urls = getUrls(opts.relays)
@ -97,10 +96,6 @@ export class FeedLoader {
const strict = this.opts.filters.some(f => f["#a"])
return events.filter(e => {
if (this.isSeen(e)) {
return false
}
if (this.isDeleted(e)) {
return false
}

View File

@ -1,7 +1,7 @@
import {whereEq, when, reject, uniqBy, prop, inc} from "ramda"
import {now, normalizeRelayUrl, createEvent, isShareableRelayUrl} from "paravel"
import {people} from "src/engine/people/state"
import {canSign, signer, stateKey} from "src/engine/session/derived"
import {session, canSign, signer, stateKey} from "src/engine/session/derived"
import {updateStore} from "src/engine/core/commands"
import {createAndPublish, getClientTags, Publisher} from "src/engine/network/utils"
import type {RelayPolicy} from "./model"
@ -60,8 +60,8 @@ export const publishRelays = ($relays: RelayPolicy[]) => {
export const joinRelay = async (url: string, claim?: string) => {
url = normalizeRelayUrl(url)
if (claim) {
Publisher.publish({
if (claim && canSign.get()) {
const pub = Publisher.publish({
relays: [url],
event: await signer.get().signAsUser(
createEvent(28934, {
@ -69,6 +69,13 @@ export const joinRelay = async (url: string, claim?: string) => {
}),
),
})
await pub.result
}
// Re-publish user meta to the new relay
if (canSign.get() && session.get().kind3) {
Publisher.publish({event: session.get().kind3, relays: [url]})
}
return publishRelays([

View File

@ -98,7 +98,11 @@ export const hints = new Router({
getGroupRelays: getGroupRelayUrls,
getCommunityRelays: getGroupRelayUrls,
getPubkeyRelays: getPubkeyRelayUrls,
getDefaultRelays: () => getUserRelayUrls().concat(env.get().DEFAULT_RELAYS),
getDefaultRelays: () => [
...getUserRelayUrls(),
...env.get().PLATFORM_RELAYS,
...env.get().DEFAULT_RELAYS,
],
getDefaultLimit: () => parseInt(getSetting("relay_limit")),
getRelayQuality: (url: string) => {
const connection = pool.get(url, {autoConnect: false})