* origin/main: (22 commits)
feat(relay): add admin HTTP routes for member restriction management (#7302)
fix(relay): fire kick live side effects at convergence; persist target; fence re-add race with held lock (#7298)
feat(relay): add atomic complete read-state snapshots (#7572)
fix(desktop): register macOS badges for new and existing installs (#7783)
fix(mobile): avoid opening empty threads on message tap (#7756)
fix(workflows): make deletion persistent and retryable (#7735)
fix(mobile): preserve thread replies through refresh failures (#7757)
fix(mobile): keep iOS message menu actions responsive after rebuilds (#7758)
fix(relay): exclude ephemeral activity from message quota (#7736)
release: push gateway chart 0.3.1 (#7749)
fix(push): label plaintext push gateway service as HTTP (#7717)
Replace personal and internal data in desktop test fixtures (#7748)
Add mobile VISION (#7710)
fix(mobile): keep relay sessions stable during push lease updates (#7745)
fix(desktop): keep managed agent avatars usable across communities (#7732)
fix(mobile): fail open when age checks are unavailable (#7714)
fix(ci): don't run desktop tests for purely mobile client changes (#7709)
fix(mobile): temporarily disable age gating (#7708)
feat(db): expose connection setup metrics (#7286)
Isolate S3 storage metrics from the relay (#7543)
...
Signed-off-by: Alex Rosenzweig <arosenzweig@squareup.com>