A new #mining section invites visitors to mine on p2pool.eom.dev and shows
live node/sidechain/network hashrate, connected miners and shares from the
same-origin /p2pool/stats.json summary published by ansible-role-monero.
The stats load progressively: static placeholders and join instructions
remain when the endpoint is unavailable (including in the local preview
and on the onion mirror).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018STDcc5BaYxPMNA9S8Wycs
Adds the eom.dev theme (Strudel) as a 16-bar Web Audio loop (Opus, AAC
fallback) with a Theme on/off button. Playback starts on the first
interaction unless the visitor turned it off. While it plays, links
between the homepage and membership pages are fetched and swapped in
place, so the music doesn't restart; sign-in, checkout, billing and
forms remain real navigations.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
slapd refuses to remove an RDN value, and every legacy account is
cn=<name>,ou=People, so a name edit there always failed. Those accounts
now see their name read-only (the view rejects the profile action and
update_profile refuses as a backstop); uid-named accounts from website
registration can still edit it. README documents the cn/mail self-write
ACL and mail uniqueness overlay now applied in production.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The Dex LDAP connector publishes uid, cn and mail as claims, so the
profile page now offers just Name (cn), the verified email change and
the password. The photo endpoint, SSH keys, addresses, phones and
other extended attributes are no longer read or written; existing LDAP
values are left untouched. Apache's profile upload limit drops back to
the 256 KiB used by other member routes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>