Реал-тайм через SSE (push-to-invalidate): живые приглашения/партии, авто-обновление без перезагрузки

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-17 22:52:41 +03:00
co-authored by Claude Opus 4.8
parent 16452f7bbe
commit 2500ca575b
15 changed files with 357 additions and 9 deletions
+3
View File
@@ -14,6 +14,7 @@ from app.services import (
group_service,
invitation_service,
membership_service,
notify,
stats_service,
)
@@ -153,6 +154,7 @@ def invite_member(
user_agent=request.headers.get("user-agent"),
)
session.commit()
notify.invitations_changed(invited.id) # type: ignore[arg-type] # живое появление у получателя
return s.InvitationRead(
id=inv.id, # type: ignore[arg-type]
group_id=group_id,
@@ -174,6 +176,7 @@ def remove_member(
group_service.assert_member(session, group_id, user.id) # type: ignore[arg-type]
group = group_service.get_group(session, group_id)
membership_service.remove_member(session, group, user_id)
notify.group_changed(session, group_id, extra_user_ids=[user_id]) # + удалённому
return s.OkResponse()