atagen

macltok

public
Star0
Watch0

Commit 258c08ec2168

tarball

atagen <boss@atagen.co>2026-10-25 09:15 UTC

3 files changed+12-9
mentions: follow the required context event

EventContext.event is no longer optional, so a saved window whose target event is gone yields no context at all rather than one without its event. Only compiles together with the change that makes EventContext.event a TimelineItem.
Modified file: src/mentions/service.rs+1 additions−1 deletions
@@ -1405,7 +1405,7 @@ impl Service {
14051405 .into_iter()
14061406 .filter_map(&mut insert)
14071407 .collect();
1408- let target = context.event.and_then(&mut insert);
1408+ let target = insert(context.event);
14091409 let mut after: Vec<_> = context
14101410 .events_after
14111411 .into_iter()
Modified file: src/mentions/service_tests.rs+2 additions−2 deletions
@@ -532,7 +532,7 @@ async fn live_context_survives_capture_then_edit_and_redaction() {
532532 Ok((
533533 crate::EventContext {
534534 events_before: Vec::new(),
535- event: Some(target),
535+ event: target,
536536 events_after: Vec::new(),
537537 start_token: None,
538538 end_token: None,
@@ -611,7 +611,7 @@ async fn live_context_survives_capture_then_edit_and_redaction() {
611611 panic!("retry should return saved context");
612612 };
613613 assert_eq!(context.state, MentionCaptureState::Pending);
614- assert!(context.context.unwrap().event.is_some());
614+ assert!(context.context.is_some());
615615 }
616616
617617 #[tokio::test]
Modified file: src/mentions/state.rs+9 additions−6 deletions
@@ -285,12 +285,15 @@ impl Data {
285285 event.item.clone()
286286 })
287287 };
288- let context = self.windows.get(&id(key)).map(|window| EventContext {
289- events_before: window.before.iter().filter_map(&mut item).collect(),
290- event: window.target.as_ref().and_then(&mut item),
291- events_after: window.after.iter().filter_map(&mut item).collect(),
292- start_token: window.start.clone(),
293- end_token: window.end.clone(),
288+ let context = self.windows.get(&id(key)).and_then(|window| {
289+ let event = window.target.as_ref().and_then(&mut item)?;
290+ Some(EventContext {
291+ events_before: window.before.iter().filter_map(&mut item).collect(),
292+ event,
293+ events_after: window.after.iter().filter_map(&mut item).collect(),
294+ start_token: window.start.clone(),
295+ end_token: window.end.clone(),
296+ })
294297 });
295298 Ok((
296299 SavedMentionContext {