mirror of
https://github.com/mikedilger/chorus.git
synced 2026-08-01 07:21:39 +00:00
fix: Screen post-EOSE events
This commit is contained in:
parent
7f978618e4
commit
331933ccfc
@ -400,9 +400,14 @@ impl WebSocketService {
|
||||
.unwrap()
|
||||
.get_event_by_offset(new_event_offset)?
|
||||
{
|
||||
let event_flags = nostr::event_flags(&event, &self.user);
|
||||
let authorized_user = nostr::authorized_user(&self.user).await;
|
||||
|
||||
'subs: for (subid, filters) in self.subscriptions.iter() {
|
||||
for filter in filters.iter() {
|
||||
if filter.as_filter()?.event_matches(&event)? {
|
||||
if filter.as_filter()?.event_matches(&event)?
|
||||
&& nostr::screen_outgoing_event(&event, &event_flags, authorized_user)
|
||||
{
|
||||
let message = NostrReply::Event(subid, event.clone());
|
||||
self.websocket
|
||||
.send(Message::text(message.as_json()))
|
||||
|
||||
10
src/nostr.rs
10
src/nostr.rs
@ -109,7 +109,7 @@ impl WebSocketService {
|
||||
for filter in filters.iter() {
|
||||
let screen = |event: &Event| {
|
||||
let event_flags = event_flags(event, &user);
|
||||
screen_outgoing_event(event, event_flags, authorized_user)
|
||||
screen_outgoing_event(event, &event_flags, authorized_user)
|
||||
};
|
||||
let filter_events = GLOBALS
|
||||
.store
|
||||
@ -402,9 +402,9 @@ async fn screen_incoming_event(
|
||||
Ok(false)
|
||||
}
|
||||
|
||||
fn screen_outgoing_event(
|
||||
pub fn screen_outgoing_event(
|
||||
event: &Event<'_>,
|
||||
event_flags: EventFlags,
|
||||
event_flags: &EventFlags,
|
||||
authorized_user: bool,
|
||||
) -> bool {
|
||||
// Allow Relay Lists
|
||||
@ -437,7 +437,7 @@ fn screen_outgoing_event(
|
||||
false
|
||||
}
|
||||
|
||||
async fn authorized_user(user: &Option<Pubkey>) -> bool {
|
||||
pub async fn authorized_user(user: &Option<Pubkey>) -> bool {
|
||||
match user {
|
||||
None => false,
|
||||
Some(pk) => GLOBALS.config.get().unwrap().user_keys.contains(pk),
|
||||
@ -451,7 +451,7 @@ pub struct EventFlags {
|
||||
pub tags_current_user: bool,
|
||||
}
|
||||
|
||||
fn event_flags(event: &Event<'_>, user: &Option<Pubkey>) -> EventFlags {
|
||||
pub fn event_flags(event: &Event<'_>, user: &Option<Pubkey>) -> EventFlags {
|
||||
let author_is_an_authorized_user = GLOBALS
|
||||
.config
|
||||
.get()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user