Skip to content

Handle parse errors gracefully on timeline items#5196

Merged
syeopite merged 11 commits intoiv-org:masterfrom
syeopite:graceful-parse-errors
May 18, 2025
Merged

Handle parse errors gracefully on timeline items#5196
syeopite merged 11 commits intoiv-org:masterfrom
syeopite:graceful-parse-errors

Conversation

@syeopite
Copy link
Copy Markdown
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

@syeopite syeopite requested review from a team and SamantazFox as code owners March 1, 2025 04:54
@syeopite syeopite force-pushed the graceful-parse-errors branch 2 times, most recently from cd7ae72 to c66a28e Compare March 6, 2025 02:38
syeopite added 10 commits March 19, 2025 22:52
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 force-pushed the graceful-parse-errors branch from c66a28e to 7b27585 Compare March 20, 2025 06:52
Remove explicit `self.` from #process of parsers

Remove explicit return tuple in get_issue_template

Fix formatting

Move inline issue template style to stylesheet

Use @id in ProblematicTimelineItem xml repr

Fix naming
@syeopite syeopite added the need-testing This feature needs to be deployed and tested to see if it's working, and doesn't break something label Apr 14, 2025
@Fijxu
Copy link
Copy Markdown
Member

Fijxu commented May 4, 2025

Works fine. I'll push it into my instance:

image

@syeopite syeopite added in-testing This feature has been deployed and is being tested and removed need-testing This feature needs to be deployed and tested to see if it's working, and doesn't break something labels May 4, 2025
@syeopite syeopite added ready and removed in-testing This feature has been deployed and is being tested labels May 16, 2025
R0gu3h3h3h3 pushed a commit to R0gu3h3h3h3/oiia that referenced this pull request May 16, 2025
@syeopite syeopite merged commit d5cb653 into iv-org:master May 18, 2025
8 checks passed
@syeopite syeopite deleted the graceful-parse-errors branch May 18, 2025 06:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants