Serialize enable with zone row FOR UPDATE, load public key fields only
for status/DS, skip corrupt public material without raising, and tighten
key-tag and API private-key leak tests.
Generate ECDSA P-256 KSK/ZSK material for zones, store private keys
encrypted at rest, and expose DS records via API and settings UI without
changing the authoritative query path.
Allow near-viewport media lightboxes, drop topic spam keyword bans,
harden upload scanning against false positives, fix draft saves, and
surface real failure reasons via Elektrine.UserError across social and
chat flows.
panel-card used a 1px primary color-mix ring in the box-shadow stack
plus a primary-mixed border, which read as a weird outer glow on
remote profile and other social panels. Use a neutral border and a
simple drop shadow instead.
Use the same panel-card, gradient banner, circular avatar, stats row,
and btn-secondary patterns as remote communities and the rest of the
social UI. Drop the one-off hero/mesh styling that looked foreign.
Replace the Mastodon-clone header with a federation-forward identity
hero (mesh banner, domain stamps, rounded avatar, stat chips), a
clearer posts feed chrome, and a always-on Origin rail with optional
media. Keep existing follow/post interactions intact.
GunPool.checkout now returns {:error, :pool_unavailable} instead of
raising on noproc, HomeBlog.fetch_posts rescues unexpected exits, and
PageLive.Home treats blog load as best-effort so a down HTTP pool or
broken feed cannot terminate the home LiveView.
content-visibility:auto used a 34rem size estimate, then hover set
content-visibility:visible and re-laid out dense cards shorter — the
marker jumped up. Use a realistic intrinsic size, never toggle
content-visibility on hover, and give the marker a stable box.