Skip to content

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

  1. 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
  2. Enable the feature flags

    Feature.enable(:ipynb_semantic_diff)
    Feature.enable(:rendered_diffs_viewer)
  3. Restart GDK and open the commit

  4. Without the changes, opening the commit will cause gitlab to 500

  5. With the changes, the transformed diff is shown image

Edited by Eduardo Bonet

Merge request reports

Loading