Openlibrary: Author view renders without editions

Created on 5 Jun 2019  ·  12Comments  ·  Source: internetarchive/openlibrary

Description

I'm running into a blank list of editions on author pages. I tried testing as a logged in user and incognito, and this is what I see:

Evidence / Screenshot

http://recordit.co/iuzpFAYPk2

It looks like the markup is missing and the rendering is just white space 🤷🏻‍♂️

Screen Shot 2019-06-05 at 8 55 11 AM

Relevant url?

https://openlibrary.org/authors/OL31353A/Ursula_K._Le_Guin#editions

Expectation

I want to see a list of editions, please?

Details

  • Logged in Y and Incognito tested
  • Chrome 74.0.3729.169
  • macOS 10.14.5
UI Review 0 Work In Progress Bug

Most helpful comment

Ah, I think I know what the issue is. The "ebook" toggle is enabled by default, and it looks like there are no ebooks for this author so it displays empty :/

As we've discussed a number of times, having this filter enabled by default creates a really bad user experience.

I think this is a UX problem. Showing a message when no results are visible and a filter is enabled might be a good way to fix this.

Better reporting of "everything has been filtered" would be good, but the main problem is the default filter setting.

All 12 comments

(Recordit is like the coolest thing I've ever seen. Thank you for taking the time to do that!)

Ah, I think I know what the issue is. The "ebook" toggle is enabled by default, and it looks like there are no ebooks for this author so it displays empty :/

image

I think this is a UX problem. Showing a message when no results are visible and a filter is enabled might be a good way to fix this.

Or maybe it could always be displayed; maybe something at the top like:

Showing 0 of 330 works (filter: ebooks). Show all works.

Yeah, a case of the empty state. How to best communicate "no ebooks"

This is a known issue and I have a branch which completely refactors availability. It's going to take a few weeks for all my PRs to land. This fix is started on poorly named branch hotfix/print-disability-cta.

The issue is, the current design uses js to filter out unavailable books after page load. This logic is all being moved onto the backend and the messaging will be improved if 0 ebooks available.

I'm positive this is a duplicate issue (@JeffKaplan has brought it up repeatedly) but leaving open and assigning to myself with Priority 1 until someone finds the dupe.

Awesome! Thanks @mekarpeles!

Ah, I think I know what the issue is. The "ebook" toggle is enabled by default, and it looks like there are no ebooks for this author so it displays empty :/

As we've discussed a number of times, having this filter enabled by default creates a really bad user experience.

I think this is a UX problem. Showing a message when no results are visible and a filter is enabled might be a good way to fix this.

Better reporting of "everything has been filtered" would be good, but the main problem is the default filter setting.

I think the Bug label is the most applicable for this issue but let me know if y'all disagree.

I agree with @seabelis. @mekarpeles I propose closing #2251 as a duplicate.

When I visit https://openlibrary.org/authors/OL35524A/R._L._Stine
I see an XHR request for https://openlibrary.org/authors/OL35524A/R._L._Stine
with the following response:

{"OL15095091W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095112W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095098W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095107W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095076W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095132W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095131W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095129W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095138W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095140W?edition=best": {"status": "error", "error_message": "not found"}, "OL15094856W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095115W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095136W?edition=best": {"status": "error", "error_message": "not found"}, "OL274485W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095089W?edition=best": {"status": "error", "error_message": "not found"}, "OL274497W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095080W?edition=best": {"status": "error", "error_message": "not found"}, "OL274495W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095118W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095079W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095114W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095146W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095064W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095144W?edition=best": {"status": "error", "error_message": "not found"}, "OL274491W?edition=best": {"status": "error", "error_message": "not found"}, "OL274490W?edition=best": {"status": "error", "error_message": "not found"}, "OL15094648W?edition=best": {"status": "error", "error_message": "not found"}, "OL274496W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095069W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095078W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095072W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095071W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095110W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095099W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095130W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095121W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095085W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095109W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095142W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095141W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095013W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095119W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095066W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095083W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095101W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095057W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095070W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095082W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095084W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095139W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095096W?edition=best": {"status": "error", "error_message": "not found"}, "OL274500W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095133W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095077W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095074W?edition=best": {"status": "error", "error_message": "not found"}, "OL274492W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095063W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095100W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095128W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095073W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095103W?edition=best": {"status": "error", "error_message": "not found"}, "OL275993W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095127W?edition=best": {"status": "error", "error_message": "not found"}, "OL15094955W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095065W?edition=best": {"status": "error", "error_message": "not found"}, "OL274493W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095093W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095102W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095113W?edition=best": {"status": "error", "error_message": "not found"}, "OL275990W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095097W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095104W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095143W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095094W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095039W?edition=best": {"status": "error", "error_message": "not found"}, "OL15988941W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095137W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095134W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095105W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095075W?edition=best": {"status": "error", "error_message": "not found"}, "OL274501W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095108W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095081W?edition=best": {"status": "error", "error_message": "not found"}, "OL16460800W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095126W?edition=best": {"status": "error", "error_message": "not found"}, "OL274499W?edition=best": {"status": "error", "error_message": "not found"}, "OL15094961W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095061W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095062W?edition=best": {"status": "error", "error_message": "not found"}, "OL274494W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095116W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095086W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095145W?edition=best": {"status": "error", "error_message": "not found"}, "OL274498W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095124W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095135W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095068W?edition=best": {"status": "error", "error_message": "not found"}, "OL15094813W?edition=best": {"status": "error", "error_message": "not found"}, "OL15095122W?edition=best": {"status": "error", "error_message": "not found"}, "OL275992W?edition=best": {"status": "error", "error_message": "not found"}}

The headers gives the issue:

{ids: ["OL15095146W?edition=best", "OL15095145W?edition=best", "OL15095144W?edition=best",…]}
ids: ["OL15095146W?edition=best", "OL15095145W?edition=best", "OL15095144W?edition=best",…]

I see two issues here

  • the client JavaScript needs to handle errors better
  • it should send the correct ids. e.g. {ids: ["OL15095146W?", .. not "?edition=best"

Per this comment on #623, it seems the availability API maxes at 1000 works. I know @cdrini screenshot shows 330 works, but maybe this API limitation is related?

I think this is a combo of 2 issues: @cdrini and @jdlrobson both have it right. Escalating this to priority 0. Will review @jdlrobson's PR asap.

The right solution likely entails also fixing #623. @cdrini I may ask for your help on this one.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

cdrini picture cdrini  ·  4Comments

nonom picture nonom  ·  3Comments

BrittanyBunk picture BrittanyBunk  ·  5Comments

BrittanyBunk picture BrittanyBunk  ·  4Comments

jdlrobson picture jdlrobson  ·  5Comments