Replace server-side PostHog middleware with client-side posthog-js
Server-side tracking only captured $pageview events. Switching to
posthog-js enables $pageleave, autocapture (clicks, form submissions),
session recordings, and web vitals — all from the client.
- Add posthog-js, initialize from meta tags injected by Edge template
- Expose PostHog API key as Edge global via PostHogProvider
- Identify authenticated users by DID with handle property
- Update CSP: allow script-src/connect-src for ph.btao.org, add worker-src
- Remove PostHog middleware from router stack and delete the file
- Keep posthog-node for server-side engagement events in EngagementController
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>