Fixes infinite loop when rendering Ipynb Diffs
Why
Upgrades ipynbdiff gem to 0.4.5, fixing edge cases introduced in version 0.4.4 (gitlab-org/incubation-engineering/mlops/rb-ipynbdiff#9 (closed))
Diff for the update: gitlab-org/incubation-engineering/mlops/rb-ipynbdiff@0f6d2fe8.diff (note we can't use gitlab UI to display this diff because of the bug this MR fixes)
Debug file: array-png.ipynb
How to test
-
Create a repository and add the offending file:
mkdir outage_notebook cd outage_notebook curl incubation-engineering/mlops/rb-ipynbdiff/uploads/9c1f006ed70185d2029bc3d00b03574f/iterate.ipynb -o iterate.ipynb git init -b main git add -A git commit -am "Adding offending notebook" git remote add origin <your local repository> git push --upstream origin main
-
Enable the feature flags
Feature.enable(:ipynb_semantic_diff) Feature.enable(:rendered_diffs_viewer)
-
Restart GDK and open the commit
-
Without the changes, opening the commit will cause gitlab to 500
Edited by Eduardo Bonet