From 446bbf74b4b761f5180c6e75cc89dbe23df37efe Mon Sep 17 00:00:00 2001 From: giles Date: Sun, 22 Feb 2026 07:55:52 +0000 Subject: [PATCH] Inline federation publication for calendar entries Replace emit_event("calendar_entry.created") with direct try_publish(). Update shared submodule. Co-Authored-By: Claude Opus 4.6 --- bp/calendar_entries/services/entries.py | 23 ++++++++++++----------- shared | 2 +- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/bp/calendar_entries/services/entries.py b/bp/calendar_entries/services/entries.py index 487ab88..c51345e 100644 --- a/bp/calendar_entries/services/entries.py +++ b/bp/calendar_entries/services/entries.py @@ -95,20 +95,21 @@ async def add_entry( sess.add(entry) await sess.flush() - # Emit federation event + # Publish to federation inline if entry.user_id: - from shared.events import emit_event - await emit_event( + from shared.services.federation_publish import try_publish + await try_publish( sess, - event_type="calendar_entry.created", - aggregate_type="CalendarEntry", - aggregate_id=entry.id, - payload={ - "user_id": entry.user_id, - "title": entry.name or "", - "start_time": entry.start_at.isoformat() if entry.start_at else "", - "end_time": entry.end_at.isoformat() if entry.end_at else "", + user_id=entry.user_id, + activity_type="Create", + object_type="Event", + object_data={ + "name": entry.name or "", + "startTime": entry.start_at.isoformat() if entry.start_at else "", + "endTime": entry.end_at.isoformat() if entry.end_at else "", }, + source_type="CalendarEntry", + source_id=entry.id, ) return entry diff --git a/shared b/shared index 18410c4..3bde451 160000 --- a/shared +++ b/shared @@ -1 +1 @@ -Subproject commit 18410c4b16bee0ded450d5db00df2766c711e18d +Subproject commit 3bde451ce9a2e5126187489cc37ab0305d908e0d