Repository navigation
ROB: Do not crash on an outline node that is not a dictionary - #4018
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4018 +/- ##
=======================================
Coverage 98.00% 98.01%
=======================================
Files 57 57
Lines 11154 11157 +3
Branches 2095 2096 +1
=======================================
+ Hits 10932 10935 +3
Misses 124 124
Partials 98 98 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
b173651 to
dbdc5be
Compare
stefan6419846
left a comment
There was a problem hiding this comment.
I have added an inline comment.
Please note that we generally appreciate robustness fixes like these. However, we should avoid having a large number of such similar PRs being worked on in parallel. Given the current number of such PRs, a significant amount of my time is currently going into reviewing them, which makes it harder for me to look into other reported issues and important blockers.
I hope you understand, and that you are able to keep the number of parallel changes at a manageable level. I would prefer not to introduce a strict limit on the number of parallel PRs per contributor, thus I appreciate your help in keeping this manageable.
Additionally, given the relatively large number of previously unreported issues and multiple PRs appearing in close succession, please make sure to follow our contribution guidelines regarding AI usage. I am not trying to imply that you have ignored these guidelines, but some aspects of the current changes raised the question for me, so I would like to make sure we are aligned on this point as well.
dbdc5be to
6dde16d
Compare
|
Added the IDs. |
|
6dde16d to
523b75d
Compare
The outline walk casts /First to a DictionaryObject and subscripts it, so a file where that entry holds a number, a string or an array raised 'TypeError: NumberObject object is not subscriptable' from reader.outline. The same loop already warns and stops on a cycle, so an unusable node is reported the same way and the outline read returns what it has.
0e60414 to
fd113dd
Compare
The outline walk casts
/Firstto aDictionaryObjectand subscripts it, so a file where that entry holds a number, a string or an array brings down the whole read:The same loop already warns and stops on a cycle, so a node it cannot walk is reported the same way and the read returns what it has. Valid outlines are untouched.
Reverting the change fails the three new tests