V126: Allow standalone notifications.
Until now every phoenix_kit_notifications row had to point at an
activity_uuid (NOT NULL) — a notification was strictly a per-user
projection of an activity. This relaxes that so a notification can
exist on its own:
- Drops NOT NULL on
activity_uuid. The unique(activity_uuid, recipient_uuid)index keeps working — Postgres treats NULLs as distinct by default, so a recipient can hold many standalone notifications. - Adds
metadata JSONB NOT NULL DEFAULT '{}'so a standalone notification carries its own display content.Renderreads the samenotification_text/notification_icon/notification_linkkeys it already honors on activity metadata.
Idempotent: DROP NOT NULL is a no-op when already nullable and the
column add is IF NOT EXISTS.