WordPress.org

Make WordPress Core

Opened 2 years ago

Last modified 6 weeks ago

#42760 accepted defect (bug)

Trying to access an attachment directly by URL not working

Reported by: ppetrov2c Owned by: adamsilverstein
Milestone: Future Release Priority: normal
Severity: normal Version: 4.9.1
Component: Media Keywords: has-patch reporter-feedback needs-testing
Focuses: javascript Cc:

Description

For example the URL https://example.com/wp-admin/upload.php?item=14
If there are more than 40 attachments, trying to access any attachment page after that 40th entry, will result in a JS error:

Uncaught TypeError: Cannot read property 'set' of undefined

Trying to open any attachment page via URL before and including 40, will work as expected.

A quick look, and it appears that, the problem comes from media-grid JS.

item = library.findWhere( { id: parseInt( query, 10 ) } );

The line above will return undefined, resulting in the attachment page not showing.

I'm attaching a screenshot with a log of the library variable from the media-grid JS file (line 521).

https://i.imgur.com/euFKa0p.png

Attachments (1)

42760.diff (762 bytes) - added by adamsilverstein 3 months ago.

Download all attachments as: .zip

Change History (7)

#1 follow-up: @adamsilverstein
2 years ago

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

@ppetrov2c Thanks for the bug report and welcome to WordPress trac!

Testing locally I was not able to reproduce this issue. Can you please try disabling all plugins and also switching to one of the default themes (twentyseventeen for example) to see if the problem persists?

#2 @adamsilverstein
2 years ago

  • Focuses javascript added

#3 in reply to: ↑ 1 @ppetrov2c
2 years ago

Replying to adamsilverstein:

@ppetrov2c Thanks for the bug report and welcome to WordPress trac!

Testing locally I was not able to reproduce this issue. Can you please try disabling all plugins and also switching to one of the default themes (twentyseventeen for example) to see if the problem persists?

Forgot to mention, sorry about that - I did the tests on vanilla WordPress 4.9.1, without plugins and the twentyseventeen theme.

#4 @adamsilverstein
3 months ago

  • Keywords has-patch reporter-feedback added
  • Milestone changed from Awaiting Review to 5.4
  • Status changed from reviewing to accepted

In 42760.diff :

Media: ensure item is available before setting skipHistory on load.

@ppetrov2c Thanks for your bug report! I finally was able to work on looking into the issue. Can you please test the attached patch to verify this resolves the issue for you?

Anyone else who wants to test, its important that you:

  1. Have more than 40 items in your media library.
  2. Click on the 41st or greater item in the media library.
  3. Reload the browser window.

Before patch: Media item does not load, library shows instead, JavaScript console error
After patch: Item loads, no errors.

#5 @adamsilverstein
3 months ago

  • Keywords needs-testing added

#6 @audrasjb
6 weeks 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.

Note: See TracTickets for help on using tickets.