diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/events/ChannelMessageEvent.kt b/quartz/src/main/java/com/vitorpamplona/quartz/events/ChannelMessageEvent.kt index 239b8c5f22..f8ffdf599f 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/events/ChannelMessageEvent.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/events/ChannelMessageEvent.kt @@ -62,7 +62,7 @@ class ChannelMessageEvent( tags.add(listOf("zapraiser", "$it")) } geohash?.let { - tags.add(listOf("g", it)) + tags.addAll(geohashMipMap(it)) } signer.sign(createdAt, kind, tags, content, onReady) diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/events/ChatMessageEvent.kt b/quartz/src/main/java/com/vitorpamplona/quartz/events/ChatMessageEvent.kt index 59e83f8950..55d7ddfd67 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/events/ChatMessageEvent.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/events/ChatMessageEvent.kt @@ -84,7 +84,7 @@ class ChatMessageEvent( tags.add(listOf("zapraiser", "$it")) } geohash?.let { - tags.add(listOf("g", it)) + tags.addAll(geohashMipMap(it)) } subject?.let { tags.add(listOf("subject", it)) diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/events/LiveActivitiesChatMessageEvent.kt b/quartz/src/main/java/com/vitorpamplona/quartz/events/LiveActivitiesChatMessageEvent.kt index 2a8fa8733a..e43644211f 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/events/LiveActivitiesChatMessageEvent.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/events/LiveActivitiesChatMessageEvent.kt @@ -78,7 +78,7 @@ class LiveActivitiesChatMessageEvent( tags.add(listOf("zapraiser", "$it")) } geohash?.let { - tags.add(listOf("g", it)) + tags.addAll(geohashMipMap(it)) } signer.sign(createdAt, kind, tags, content, onReady) diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/events/PollNoteEvent.kt b/quartz/src/main/java/com/vitorpamplona/quartz/events/PollNoteEvent.kt index 963498349e..b8bccf6feb 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/events/PollNoteEvent.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/events/PollNoteEvent.kt @@ -97,7 +97,7 @@ class PollNoteEvent( tags.add(listOf("zapraiser", "$it")) } geohash?.let { - tags.add(listOf("g", it)) + tags.addAll(geohashMipMap(it)) } signer.sign(createdAt, kind, tags, msg, onReady) diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/events/PrivateDmEvent.kt b/quartz/src/main/java/com/vitorpamplona/quartz/events/PrivateDmEvent.kt index 46802bf0cf..b4dda2c420 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/events/PrivateDmEvent.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/events/PrivateDmEvent.kt @@ -129,7 +129,7 @@ class PrivateDmEvent( tags.add(listOf("zapraiser", "$it")) } geohash?.let { - tags.add(listOf("g", it)) + tags.addAll(geohashMipMap(it)) } signer.nip04Encrypt(message, recipientPubKey) { content -> @@ -138,3 +138,9 @@ class PrivateDmEvent( } } } + +fun geohashMipMap(geohash: String): List> { + return geohash.indices.asSequence().map { + listOf("g", geohash.substring(0, it+1)) + }.toList().reversed() +} \ No newline at end of file diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/events/TextNoteEvent.kt b/quartz/src/main/java/com/vitorpamplona/quartz/events/TextNoteEvent.kt index c8fb02d38a..7014d555d9 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/events/TextNoteEvent.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/events/TextNoteEvent.kt @@ -94,7 +94,7 @@ class TextNoteEvent( tags.add(listOf("zapraiser", "$it")) } geohash?.let { - tags.add(listOf("g", it)) + tags.addAll(geohashMipMap(it)) } signer.sign(createdAt, kind, tags, msg, onReady)