Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle parse errors gracefully on timeline items #5196

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

syeopite
Copy link
Member

@syeopite syeopite commented Mar 1, 2025

This PR makes it so that if one item in the timeline fails to parse, the rest of the page will still be usable and the failed item will instead be represented with an error card.

This is done creating a new SearchItem known as a ProblematicTimelineItem which represents an item that has failed to parse. The frontend and API will render this as a single error card while the rest of the page renders normally.

graceful errors

Prior to this commit, if even a single item fails to parse Invidious
will throw out an error. This means that even if everything else
on a page can be parsed and rendered without issues, the single
problematic item will cause the entire page to be unusable.

This commit gracefully handles parse errors by catching and then
replacing the problematic item with a new "timeline error" object
that represents the parse error. This will allow the rest of the page
to be rendered and an error card that will replace the location of the
problematic item.
The CSS for the search filters details box was applied to every
detail element when search.css is loaded
Also makes it show the error backtrace
@syeopite syeopite requested review from SamantazFox and a team as code owners March 1, 2025 04:54
@syeopite syeopite force-pushed the graceful-parse-errors branch from f37d984 to c66a28e Compare March 1, 2025 05:07
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.

1 participant