WordPress.org

Make WordPress Core

Opened 17 months ago

Last modified 6 days ago

#47421 reviewing defect (bug)

Media with fragments duplicate in enclosures

Reported by: dshanske Owned by: SergeyBiryukov
Milestone: 5.6 Priority: normal
Severity: normal Version:
Component: Feeds Keywords: good-first-bug has-patch needs-testing
Focuses: Cc:

Description

I am using media fragment ids(https://www.w3.org/TR/media-frags/) to specify retrieval points in audio/video and the enclosure code picks this up as different enclosures, so I have the same media file multiple times. Suggest duplicate checking in do_enclose after stripping the fragments.

Attachments (2)

47421.diff (695 bytes) - added by archduck 15 months ago.
Strip fragments from url
47421-2.diff (644 bytes) - added by archduck 15 months ago.
Send all the urls through the fragslasher

Download all attachments as: .zip

Change History (19)

#1 @raaaahman
16 months ago

Working on it at #WCEU

Edit: Didn't manage to solve it. Feel free to try.

Last edited 16 months ago by raaaahman (previous) (diff)

@archduck
15 months ago

Strip fragments from url

#2 @archduck
15 months ago

  • Keywords has-patch added; needs-patch removed

It looks like do_enclose does some checking for duplicate urls already, when it runs the enclosure_links filter - but it doesn't take url fragments into account. This patch adds a check for fragments on new urls and strips them away if present. It only affects the enclosures, so the rest of the markup stays intact.

Last edited 15 months ago by archduck (previous) (diff)

#3 @archduck
15 months ago

  • Keywords needs-testing added

#4 follow-up: @dshanske
15 months ago

@archduck Why check for fragments when the strip fragment function strips regardless? Isn't in more efficient just to run everything through it?

#5 in reply to: ↑ 4 @archduck
15 months ago

Replying to dshanske:

@archduck Why check for fragments when the strip fragment function strips regardless? Isn't in more efficient just to run everything through it?

Good point. Checking for fragments with parse_url is an unnecessary step here.

Especially since strip_fragment_from_url itself runs parse_url - and so urls with fragments would undergo parse_url a second time.

Better to just send everything through it.

@archduck
15 months ago

Send all the urls through the fragslasher

This ticket was mentioned in Slack in #core by sergey. View the logs.


11 months ago

#7 @SergeyBiryukov
11 months ago

  • Milestone changed from Awaiting Review to 5.4

#8 @SergeyBiryukov
11 months ago

  • Owner set to SergeyBiryukov
  • Status changed from new to reviewing

#9 @audrasjb
8 months ago

  • Milestone changed from 5.4 to Future Release

Hi,

With 5.4 Beta 3 approaching and the Beta period reserved for bugs introduced during the cycle, this is being moved to Future Release. If any maintainer or committer feels this should be included or wishes to assume ownership during a specific cycle, feel free to update the milestone accordingly.

#10 @dshanske
2 months ago

  • Milestone changed from Future Release to 5.6

This ticket was mentioned in Slack in #core by sergey. View the logs.


7 days ago

#12 @Mista-Flo
7 days ago

Could you please give some steps to reproduce? How can I test to add media fragment to my dev website?

It would allow us to write a unit test for it.

#13 @dshanske
7 days ago

Add multiple urls to a post that are the same mp3 file, adding #t=130, #t=145, etc.

Last edited 6 days ago by dshanske (previous) (diff)

This ticket was mentioned in Slack in #core by hellofromtonya. View the logs.


7 days ago

#15 @helen
7 days ago

For those of us who are not RSS spec experts, could I get a brief overview of what multiple enclosures are meant to be used for and what issues it causes to have the same media item but with different fragments represented as multiple enclosures?

I deal with enclosures but only in the context of a podcasting plugin that doesn't currently have any workflow for something like timestamp indicators, I suppose it would not be good for the podcast RSS feed to have the same item multiple times?

#16 @dshanske
6 days ago

@helen Enclosures are used for podcasts.. usually multiple enclosures would reflect a video and an audio file..this is generating multiple versions of the same file... creates podcatcher issues

#17 @helen
6 days ago

@dshanske Thanks! I'll leave this in 5.6 for the moment then.

Note: See TracTickets for help on using tickets.