events: Communications URL / Teamspeak Link / Discord Join Button #5
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
I'd like to have a communications link per Event which will be displayed insider the Event header, on the right side below the badges.
Since Events can use a bunch of idderent ways of communication I think we should implement this as a simple URL field which ist stored per event.
Based on that fields conrtent I'd like to display one out of the following:
Status update: I am implementing a per-event communication field end-to-end. The work covers persistence in the event model, create/update/import/duplicate flows, and header rendering with specialized Discord/TeamSpeak buttons plus copy-to-clipboard handling for generic values.
Status update: the event communication field is now implemented locally. It is persisted on the event, included in create/update/duplicate/import/export flows, and rendered in the event header below the badges. Empty values show a fallback message, Discord invites render as a Discord button, TeamSpeak links render as a TeamSpeak button, generic URLs render as a link plus copy button, and non-URL values render as copyable text. Local checks are green: prisma validate, prisma generate, prisma migrate deploy, lint, and build.
Update: the TeamSpeak detection has been broadened based on follow-up research. The header now treats the following as TeamSpeak communication targets: ts3server:// links, teamspeak:// links, tsserver:// links, and HTTPS invite links on tmspk.gg. Plain http:// links are intentionally not treated as TeamSpeak targets.
Status update: I reviewed the new communication field with a security focus and hardened the link handling before merge. Discord is now only recognized on HTTPS, TeamSpeak is limited to the intended TeamSpeak schemes plus HTTPS tmspk.gg invites, generic clickable links are limited to HTTP/HTTPS, and other schemes fall back to plain copyable text instead of being rendered as links. Local checks are green.
Resolved in
800998e. Events now support a dedicated communication value that is persisted across create/update/duplicate/import/export flows and rendered in the header with tailored Discord and TeamSpeak actions, copy support for generic values, example hints in the forms, and restricted link handling for safer rendering.Communikation URL / Teamspeak Link / Discord Join Buttonto events: Communications URL / Teamspeak Link / Discord Join Button