Skip to content

Board: Send to picker for announcements - #104

Merged
getvindicated2day merged 2 commits into
mainfrom
board-send-to
Oct 14, 2026
Merged

getvindicated2day merged 2 commits into
mainfrom
board-send-to

Conversation

@getvindicated2day

@getvindicated2day getvindicated2day commented Oct 13, 2026 •

Copy link
Copy Markdown
Collaborator

What this does

The announcement form's "Board admins only" checkbox is now a Send to picker, on both chapters:

  • Everyone (default): every member with an email.
  • Leads only: everyone marked Lead on the Board tab, plus the top two rows of the chart.
  • Hub admins: members ticked Hub admin.
  • A team: one or more teams (including Executive). Someone who also leads a team counts as on it.
  • Pick people: a checklist of members with a search box.

Before sending, the form shows the live count and names ("Sending to 9 people: …") and lists anyone in the group with no email, then asks "Send to 9 people?" as before. The server checks the choice too; an empty team or people pick is refused.

Emails go to exactly that group, one email per person. Each send records what it was addressed to, and admins see "Sent to: Leads only, 9 people, on Oct 12." under the post. Each post that isn't for Everyone shows "For: Leads only" (or the team, or the names).

Who sees the post on the hub. This is filtered on the server:

  • Admins see everything.
  • Members always see Everyone posts. They also see Leads, team and picked-people posts that include the name they chose on My page ("Viewing as"). That choice is now kept in a cookie so the server can filter; a choice already saved in the browser moves over on its own. Members who haven't chosen a name see a line on Home pointing them to My page.
  • Hub admins posts only reach admin sign-ins, as admins-only posts did before.

The member password is shared, so the name a member picks is self-reported, and anyone with that password could pick someone else. Leads, team and people posts are about who it's relevant to, not secrecy. Anything private should stay Hub admins, which only admin sign-ins can see (documented in BOARD_SETUP.md).

Existing admins-only announcements become Hub admins. Setup converts them on startup, and reading also treats an old admins-only row as Hub admins, so restored old versions behave the same.

Tested (local production build, Brevo stub, UCLA's 17-person list)

  • Each option emailed exactly the expected people, worked out independently from the member table, with one To and no Cc or Bcc on each email:
    • Everyone: 16
    • Leads only: 9
    • Hub admins: 2
    • Data and App Dev teams: 6 (includes Rizwaan, who also leads App Dev)
    • Three picked people: 2
    • Ray, who has no email, was listed and skipped wherever he was included.
  • Visibility:
    • Admin: all posts.
    • Member with no name picked: Everyone posts only.
    • Member as Nhi (Data): Everyone, the Data/App Dev post and the post that picked her.
    • Member as Fiona: Everyone and Leads, but not Hub admins posts.
    • Member as Brisa: Everyone, Leads and the post that picked her.
    • Events editor as Nikhil: Everyone and the App Dev post.
  • Old "Finances" and "Budget for admins" posts now show as Hub admins.
  • In the browser at phone and desktop width: the picker, the live names, the team and people pickers, the confirm step, "For:" and "Sent to:" on the post, and picking a name on My page showing the right posts on Home. No sideways scrolling.
  • Typecheck, lint and build pass.

Generated by Claude Code

- The announcement form's "admins only" box is now a "Send to" picker:
  Everyone, Leads only (Lead plus the top two chart rows), Hub admins,
  one or more teams, or picked people (searchable checklist). It shows
  the live count and names, and who has no email, before sending.
- Emails go to exactly that group, one email per person. Each send
  records what it was addressed to: "Sent to: Leads only, 9 people".
- On the hub, admins see everything. Members see Everyone posts, plus
  posts for a group that includes the name they picked on My page (now
  kept in a cookie so the server filters). Hub admins posts only reach
  admin sign-ins.
- Old admins-only announcements become Hub admins.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QzNDQSmhjgKE63rwUnwcMq
# Conflicts:
#	scripts/board-schema.sql
@getvindicated2day
getvindicated2day merged commit ad17228 into main Oct 14, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants