Skip to content

angee.parties.signals

Parties-owned signal receivers that keep the derived contact counters honest.

Handle.party (the resolved owner) and Party.handle_count are derived facts the managers/mixin maintain on every supported save path (link / confirm / dismiss / resolve). These receivers cover only the delete-path gap: a raw or cascaded PartyHandle delete and a removed Handle. They do not fire on bulk_create or QuerySet.update() — that class of drift is repaired by the idempotent PartyHandleManager.recount / resolve being callable as a repair pass.

Receivers run under system_context because the derived writes are server-owned bookkeeping that must land even when the triggering write ran under a bare actor.

connect

python
def connect() -> None

Wire counter-integrity receivers onto every concrete Handle/PartyHandle model.

Released under the AGPL-3.0 License.