Removes the use of DM relays to find events due to private inbox settings

pull/835/head
Vitor Pamplona 2024-04-11 18:04:02 -04:00
rodzic f04631b0dd
commit a538b66db3
4 zmienionych plików z 19 dodań i 14 usunięć

Wyświetl plik

@ -23,7 +23,7 @@ package com.vitorpamplona.amethyst.service
import com.vitorpamplona.amethyst.model.Channel import com.vitorpamplona.amethyst.model.Channel
import com.vitorpamplona.amethyst.model.LiveActivitiesChannel import com.vitorpamplona.amethyst.model.LiveActivitiesChannel
import com.vitorpamplona.amethyst.model.PublicChatChannel import com.vitorpamplona.amethyst.model.PublicChatChannel
import com.vitorpamplona.amethyst.service.relays.COMMON_FEED_TYPES import com.vitorpamplona.amethyst.service.relays.EVENT_FINDER_TYPES
import com.vitorpamplona.amethyst.service.relays.FeedType import com.vitorpamplona.amethyst.service.relays.FeedType
import com.vitorpamplona.amethyst.service.relays.JsonFilter import com.vitorpamplona.amethyst.service.relays.JsonFilter
import com.vitorpamplona.amethyst.service.relays.TypedFilter import com.vitorpamplona.amethyst.service.relays.TypedFilter
@ -63,7 +63,7 @@ object NostrSingleChannelDataSource : NostrDataSource("SingleChannelFeed") {
// downloads linked events to this event. // downloads linked events to this event.
return TypedFilter( return TypedFilter(
types = COMMON_FEED_TYPES, types = EVENT_FINDER_TYPES,
filter = filter =
JsonFilter( JsonFilter(
kinds = listOf(ChannelCreateEvent.KIND), kinds = listOf(ChannelCreateEvent.KIND),
@ -86,7 +86,7 @@ object NostrSingleChannelDataSource : NostrDataSource("SingleChannelFeed") {
return directEventsToLoad.map { return directEventsToLoad.map {
it.address().let { aTag -> it.address().let { aTag ->
TypedFilter( TypedFilter(
types = COMMON_FEED_TYPES, types = EVENT_FINDER_TYPES,
filter = filter =
JsonFilter( JsonFilter(
kinds = listOf(aTag.kind), kinds = listOf(aTag.kind),

Wyświetl plik

@ -23,8 +23,8 @@ package com.vitorpamplona.amethyst.service
import com.vitorpamplona.amethyst.model.AddressableNote import com.vitorpamplona.amethyst.model.AddressableNote
import com.vitorpamplona.amethyst.model.Note import com.vitorpamplona.amethyst.model.Note
import com.vitorpamplona.amethyst.model.User import com.vitorpamplona.amethyst.model.User
import com.vitorpamplona.amethyst.service.relays.COMMON_FEED_TYPES
import com.vitorpamplona.amethyst.service.relays.EOSETime import com.vitorpamplona.amethyst.service.relays.EOSETime
import com.vitorpamplona.amethyst.service.relays.EVENT_FINDER_TYPES
import com.vitorpamplona.amethyst.service.relays.JsonFilter import com.vitorpamplona.amethyst.service.relays.JsonFilter
import com.vitorpamplona.amethyst.service.relays.TypedFilter import com.vitorpamplona.amethyst.service.relays.TypedFilter
import com.vitorpamplona.quartz.events.CommunityPostApprovalEvent import com.vitorpamplona.quartz.events.CommunityPostApprovalEvent
@ -60,7 +60,7 @@ object NostrSingleEventDataSource : NostrDataSource("SingleEventFeed") {
return groupByEOSEPresence(addressesToWatch).map { return groupByEOSEPresence(addressesToWatch).map {
listOf( listOf(
TypedFilter( TypedFilter(
types = COMMON_FEED_TYPES, types = EVENT_FINDER_TYPES,
filter = filter =
JsonFilter( JsonFilter(
kinds = kinds =
@ -82,7 +82,7 @@ object NostrSingleEventDataSource : NostrDataSource("SingleEventFeed") {
), ),
), ),
TypedFilter( TypedFilter(
types = COMMON_FEED_TYPES, types = EVENT_FINDER_TYPES,
filter = filter =
JsonFilter( JsonFilter(
kinds = kinds =
@ -110,7 +110,7 @@ object NostrSingleEventDataSource : NostrDataSource("SingleEventFeed") {
it.address()?.let { aTag -> it.address()?.let { aTag ->
if (aTag.kind < 25000 && aTag.dTag.isBlank()) { if (aTag.kind < 25000 && aTag.dTag.isBlank()) {
TypedFilter( TypedFilter(
types = COMMON_FEED_TYPES, types = EVENT_FINDER_TYPES,
filter = filter =
JsonFilter( JsonFilter(
kinds = listOf(aTag.kind), kinds = listOf(aTag.kind),
@ -120,7 +120,7 @@ object NostrSingleEventDataSource : NostrDataSource("SingleEventFeed") {
) )
} else { } else {
TypedFilter( TypedFilter(
types = COMMON_FEED_TYPES, types = EVENT_FINDER_TYPES,
filter = filter =
JsonFilter( JsonFilter(
kinds = listOf(aTag.kind), kinds = listOf(aTag.kind),
@ -142,7 +142,7 @@ object NostrSingleEventDataSource : NostrDataSource("SingleEventFeed") {
return groupByEOSEPresence(eventsToWatch).map { return groupByEOSEPresence(eventsToWatch).map {
listOf( listOf(
TypedFilter( TypedFilter(
types = COMMON_FEED_TYPES, types = EVENT_FINDER_TYPES,
filter = filter =
JsonFilter( JsonFilter(
kinds = kinds =
@ -165,7 +165,7 @@ object NostrSingleEventDataSource : NostrDataSource("SingleEventFeed") {
), ),
), ),
TypedFilter( TypedFilter(
types = COMMON_FEED_TYPES, types = EVENT_FINDER_TYPES,
filter = filter =
JsonFilter( JsonFilter(
kinds = kinds =
@ -190,9 +190,10 @@ object NostrSingleEventDataSource : NostrDataSource("SingleEventFeed") {
return groupByEOSEPresence(eventsToWatch).map { return groupByEOSEPresence(eventsToWatch).map {
listOf( listOf(
TypedFilter( TypedFilter(
types = COMMON_FEED_TYPES, types = EVENT_FINDER_TYPES,
filter = filter =
JsonFilter( JsonFilter(
kinds = listOf(TextNoteEvent.KIND),
tags = mapOf("q" to it.map { it.idHex }), tags = mapOf("q" to it.map { it.idHex }),
since = findMinimumEOSEs(it), since = findMinimumEOSEs(it),
// Max amount of "replies" to download on a specific event. // Max amount of "replies" to download on a specific event.
@ -221,7 +222,7 @@ object NostrSingleEventDataSource : NostrDataSource("SingleEventFeed") {
// downloads linked events to this event. // downloads linked events to this event.
return listOf( return listOf(
TypedFilter( TypedFilter(
types = COMMON_FEED_TYPES, types = EVENT_FINDER_TYPES,
filter = filter =
JsonFilter( JsonFilter(
ids = interestedEvents.toList(), ids = interestedEvents.toList(),

Wyświetl plik

@ -23,6 +23,7 @@ package com.vitorpamplona.amethyst.service
import com.vitorpamplona.amethyst.model.User import com.vitorpamplona.amethyst.model.User
import com.vitorpamplona.amethyst.service.relays.COMMON_FEED_TYPES import com.vitorpamplona.amethyst.service.relays.COMMON_FEED_TYPES
import com.vitorpamplona.amethyst.service.relays.EOSETime import com.vitorpamplona.amethyst.service.relays.EOSETime
import com.vitorpamplona.amethyst.service.relays.EVENT_FINDER_TYPES
import com.vitorpamplona.amethyst.service.relays.JsonFilter import com.vitorpamplona.amethyst.service.relays.JsonFilter
import com.vitorpamplona.amethyst.service.relays.TypedFilter import com.vitorpamplona.amethyst.service.relays.TypedFilter
import com.vitorpamplona.quartz.events.MetadataEvent import com.vitorpamplona.quartz.events.MetadataEvent
@ -64,7 +65,7 @@ object NostrSingleUserDataSource : NostrDataSource("SingleUserFeed") {
val minEOSEs = findMinimumEOSEsForUsers(group) val minEOSEs = findMinimumEOSEsForUsers(group)
listOf( listOf(
TypedFilter( TypedFilter(
types = COMMON_FEED_TYPES, types = EVENT_FINDER_TYPES,
filter = filter =
JsonFilter( JsonFilter(
kinds = listOf(MetadataEvent.KIND, StatusEvent.KIND), kinds = listOf(MetadataEvent.KIND, StatusEvent.KIND),
@ -73,7 +74,7 @@ object NostrSingleUserDataSource : NostrDataSource("SingleUserFeed") {
), ),
), ),
TypedFilter( TypedFilter(
types = COMMON_FEED_TYPES, types = EVENT_FINDER_TYPES,
filter = filter =
JsonFilter( JsonFilter(
kinds = listOf(ReportEvent.KIND), kinds = listOf(ReportEvent.KIND),

Wyświetl plik

@ -50,6 +50,9 @@ enum class FeedType {
val COMMON_FEED_TYPES = val COMMON_FEED_TYPES =
setOf(FeedType.FOLLOWS, FeedType.PUBLIC_CHATS, FeedType.PRIVATE_DMS, FeedType.GLOBAL) setOf(FeedType.FOLLOWS, FeedType.PUBLIC_CHATS, FeedType.PRIVATE_DMS, FeedType.GLOBAL)
val EVENT_FINDER_TYPES =
setOf(FeedType.FOLLOWS, FeedType.PUBLIC_CHATS, FeedType.GLOBAL)
class Relay( class Relay(
val url: String, val url: String,
val read: Boolean = true, val read: Boolean = true,