Reader View displays only about half of the article on the New Yorker (broken up by horizontal banner ads)
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 30/100
- Issue type
- Bug
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- javascript
- Domain
- content
Research direction
Reproduce the New Yorker URL in Reader View, then start with the candidate-scoring loop shown in the issue, especially the link-density calculation and top-candidate selection. Done means the complete article is retained instead of stopping around the quoted passage, including content separated by horizontal banner ads.
Written by the indexing model from the issue text.
Description
I'm feeding this link in to the url https://www.newyorker.com/magazine/2018/12/10/the-friendship-that-made-google-huge and the reader view stops at mid point at ~ "What is the performance of this code going to be?’ He’ll think about all the corner cases almost semi-automatically" and doesn't finish.
I've confirmed that this is also happening in Firefox browser's reader view as well.
Preliminary look suggests that the other half of the text is dropped because it scored lower on the below filtering and doesn't have an overlapping parent that has a higher point than two text children. Has anyone tried to solve this? If so, please guide me to the right place to get started. I will see what I can do!
var topCandidates = [];
for (var c = 0, cl = candidates.length; c < cl; c += 1) {
var candidate = candidates[c];
// Scale the final candidates score based on link density. Good content
// should have a relatively small link density (5% or less) and be mostly
// unaffected by this operation.
var candidateScore = candidate.readability.contentScore * (1 - this._getLinkDensity(candidate));
candidate.readability.contentScore = candidateScore;
this.log("Candidate:", candidate, "with score " + candidateScore);
for (var t = 0; t < this._nbTopCandidates; t++) {
var aTopCandidate = topCandidates[t];
if (!aTopCandidate || candidateScore > aTopCandidate.readability.contentScore) {
topCandidates.splice(t, 0, candidate);
if (topCandidates.length > this._nbTopCandidates)
topCandidates.pop();
break;
}
}
}
var topCandidate = topCandidates[0] || null;
- Dominant language
- JavaScript
- Stars
- 11.5k
- Forks
- 732
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from mozilla/readability
-
Difficulty 1/5 Under an hour Newbie friendliness 76/100
mozilla/readability#1026 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
mozilla/readability#997 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 58/100
mozilla/readability#1031 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 42/100
mozilla/readability#1029 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 58/100
mozilla/readability#1024 ·
All issues in mozilla/readability
Similar issues
-
code-quality refactoring
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
github/gh-aw-firewall#8816 ·
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
optimization optimization:agents-md-curator
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
githubnext/gh-aw-cao#13143 ·
-
status: needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100