7 Commits
Author SHA1 Message Date
claudeandClaude Opus 5.5 d73f7d1b80 Profile: only edit fields Dex reads back
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>
2026-11-06 21:42:57 -05:00
claudeandClaude Opus 5.5 98e09627ed Membership: newsletter opt-in at signup and on the profile
An unticked checkbox on registration subscribes the verified address to
the listmonk list (preconfirmed) once the account exists. The profile
page gets a subscribe/unsubscribe toggle, and verified email changes
follow through to listmonk. Newsletter outages never block accounts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 20:27:40 -05:00
claudeandClaude Opus 5.5 5954ec1061 Members page: show a live total member count
Count every membership account (free and paid together) on each page
load and show it under the headline; no per-tier numbers. Hidden when
there are no members.

Also correct the reference tiers.eom.json and service-groups.eom.json
to the real LDAP DNs (ou=Memberships; ou=<Service>,ou=Services), which
now match the ansible-role-www defaults.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 19:49:18 -05:00
eric 0e342734a6 Members 2026-10-30 14:48:57 -04:00
eric 0bffd7d993 Profile 2026-10-29 13:28:11 -04:00
eric faf6c5f2b3 SHKeeper 2026-10-23 12:19:40 -04:00
eric 6cf0f0525f Memberships 2026-10-23 12:02:50 -04:00