Skip to content

feat: Add external chat/discussion URL field to groups and events #544

Description

@tompscanlan

Summary

Generalize the current Matrix-specific chat integration to a generic "discussion URL" field on groups and events. Organizers can paste a link to any chat platform (Roomy, Matrix, Discord, Telegram, etc.).

What to build

API (this repo)

  • Add chatUrl (nullable string, validated URL) to group and event entities
  • Add to create/update DTOs and validation
  • Migration to add the column

Platform (openmeet-platform)

  • Admin/organizer: text input for discussion URL in group/event settings
  • Members: "Join Discussion" button that opens the URL in a new tab
  • Detect known platforms (roomy.chat, discord.gg, t.me, etc.) to show appropriate icon/label

Design decisions

  • Coexists with existing Matrix integration (matrixRoomId) — if chatUrl is set, show it; if not, fall back to embedded Matrix chat
  • OpenMeet doesn't manage the room, membership, or provisioning — it's just a link
  • For Roomy links, a badge could signal "seamless login" since both apps share ATProto identity (nice-to-have)

Acceptance criteria

  • Groups and events have an optional chatUrl field
  • Organizers can set/clear the URL from settings
  • Members see a "Join Discussion" button when URL is set
  • URL is validated (must be a valid URL)
  • Existing Matrix chat integration continues to work when chatUrl is not set

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions