Skip to content

Conversation

pory-gone
Copy link
Contributor

@pory-gone pory-gone commented Sep 14, 2025

Description

fix #2526

this implementation add native audio file embedding, allowing user to embed direct audio files links as playable HTML5 audio players within posts and comments.

Extended parseEmbedUrl() for audio file detection;
Added new "audio" provider to embed framework;
Extended useMediaHelper with audio detection cascade;
Integrated with existing MediaOrLink component;
Added CSS styling with theme compatibily.

Screenshots

2025-09-14-20-55-58.mp4
Screen Shot 2025-09-14 at 20 59 56

Additional Context

Audio detection is positioned early in parseEmbedUrl() to catch file links before other providers, uses both embed framework and media helper to garant a fallback if one fails,
supports query parameters in URLs (e.g., file.mp3?version=1), used !important CSS override to prevent margin inheritance from general embed rules,
implemented audio detection cascade in useMediaHelper to maintain existing video/image logic, added preload='metadata' for performance while avoiding automatic downloads

Checklist

Are your changes backward compatible? Please answer below:
Yes

On a scale of 1-10 how well and how have you QA'd this change and any features it might affect? Please answer below:
8/10

For frontend changes: Tested on mobile, light and dark mode? Please answer below: yes

Did you introduce any new environment variables? If so, call them out explicitly here:
NaN

Did you use AI for this? If so, how much did it assist you?
I used AI to understand the context and identify the files to be modified, I asked for some implementation advice but the changes were all carefully considered and applied manually

@pory-gone pory-gone marked this pull request as ready for review September 14, 2025 19:02
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.

Support audio embeds
1 participant