Skip to content

Conversation

@bokelley
Copy link
Contributor

@bokelley bokelley commented Jan 3, 2026

Summary

Enable user location tracking and event groups for member engagement:

  • Add user location tracking (city, country) with migration 105
  • Add event groups (committee_type: 'event') linked to industry events with migration 106
  • Implement Slack channel auto-sync: joining a channel auto-adds users to working groups
  • Add admin UI sections for event groups in Events admin page
  • Add 'event' committee type filter to Working Groups admin page
  • Create Addie tools for member-driven chapter creation
  • Add UUID validation and member count to event group API endpoints
  • Fix SQL injection in findChaptersNearLocation with proper LIKE escaping

This enables temporary "chapter-like" groups for industry events like CES and Cannes Lions, where Slack channel membership automatically syncs to working group membership.

Key Changes

New Migrations

  • 105_user_location.sql - Adds city, country, location_source to users table; seeds location and chapter interest insight goals
  • 106_event_groups.sql - Adds 'event' committee type, event linkage columns, interest tracking on memberships

Backend

  • working-group-db.ts - Event group CRUD, chapter lookup, Slack channel lookup
  • events.ts routes - Event group GET/POST endpoints with UUID validation
  • slack/events.ts - Auto-add users to working groups when they join linked Slack channels
  • slack/client.ts - createChannel() and setChannelPurpose() functions
  • addie/mcp/admin-tools.ts - create_chapter tool for Addie

Frontend

  • admin-events.html - Attendee Group section with create/view functionality
  • admin-working-groups.html - 'event' type filter and badge

Test plan

  • TypeScript builds without errors
  • All 144 unit tests pass
  • Admin Events page loads and displays event group section
  • Admin Working Groups page shows 'event' filter option
  • SQL injection prevented in chapter lookup (LIKE patterns escaped)
  • UUID validation on event group endpoints

🤖 Generated with Claude Code

bokelley and others added 3 commits January 3, 2026 14:59
Enable user location tracking and event groups for member engagement:

- Add user location tracking (city, country) with migration 105
- Add event groups (committee_type: 'event') linked to industry events with migration 106
- Implement Slack channel auto-sync: joining a channel auto-adds users to working groups
- Add admin UI sections for event groups in Events admin page
- Add 'event' committee type filter to Working Groups admin page
- Create Addie tools for member-driven chapter creation
- Add UUID validation and member count to event group API endpoints
- Fix SQL injection in findChaptersNearLocation with proper LIKE escaping

This enables temporary "chapter-like" groups for industry events like CES and Cannes Lions,
where Slack channel membership automatically syncs to working group membership.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
…pters

# Conflicts:
#	server/src/addie/mcp/admin-tools.ts
Renumber migrations to avoid conflict with 106_system_settings.sql:
- 106_user_location.sql → 107_user_location.sql
- 107_event_groups.sql → 108_event_groups.sql

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@bokelley bokelley merged commit d449534 into main Jan 3, 2026
6 checks 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