Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-70906

Remove Prototype

    XMLWordPrintable

Details

    • Epic
    • Status: Open (View Workflow)
    • Major
    • Resolution: Unresolved
    • core
    • None
    • Remove Prototype

    Description

      Jenkins core currently uses Prototype 1.7, released on November 15, 2010. The latest version is Prototype 1.7.3, released on September 22, 2015. When an attempt was made to upgrade to 1.7.3 in 2018 in JENKINS-49319, the change had to be reverted. Since this library has been unmaintained for the past 8 years, we ought to eliminate our dependency on it in favor of modern JavaScript APIs. Once core no longer depends on this API, it should be investigated how this old library can be disabled/removed by default, enabled/present only for the (legacy) plugins that still require it.

      Attachments

        Issue Links

          Activity

            drulli Ulli Hafner added a comment -

            Should the usages of makeStaplerProxy in bind.js already work? I'm getting the following error in 2.404:

            calhost/:1 Uncaught (in promise) SyntaxError: "undefined" is not valid JSON
                at JSON.parse (<anonymous>)
                at redraw (trend-chart.js:96:44)
                at trend-chart.js:132:13
                at bind.js:52:33
            
            drulli Ulli Hafner added a comment - Should the usages of makeStaplerProxy in bind.js already work? I'm getting the following error in 2.404: calhost/:1 Uncaught (in promise) SyntaxError: "undefined" is not valid JSON at JSON.parse (<anonymous>) at redraw (trend-chart.js:96:44) at trend-chart.js:132:13 at bind.js:52:33
            drulli Ulli Hafner added a comment -

            Ah, seems that this is broken anyway in 2.404 when I load the trend charts.

            drulli Ulli Hafner added a comment - Ah, seems that this is broken anyway in 2.404 when I load the trend charts.
            basil Basil Crow added a comment -

            I have added a link to a tracking spreadsheet for plugins.

            basil Basil Crow added a comment - I have added a link to a tracking spreadsheet for plugins.
            drulli Ulli Hafner added a comment -

            Thanks for making this possible! I tried the new user property and all of my UI contributing plugins are still working without any problems!

            I also created a new PR https://github.com/jenkinsci/data-tables-api-plugin/pull/356 that enables the auto-save feature of the DataTables component and it looks like the removal of Prototype fixed that issue finally (DataTables serializes the state with JSON, this did not work before).

            drulli Ulli Hafner added a comment - Thanks for making this possible! I tried the new user property and all of my UI contributing plugins are still working without any problems! I also created a new PR https://github.com/jenkinsci/data-tables-api-plugin/pull/356 that enables the auto-save feature of the DataTables component and it looks like the removal of Prototype fixed that issue finally (DataTables serializes the state with JSON, this did not work before).
            drulli Ulli Hafner added a comment -

            And another issue that has been resolved by deactivating Prototype.js: https://github.com/apache/echarts/issues/18367

            drulli Ulli Hafner added a comment - And another issue that has been resolved by deactivating Prototype.js: https://github.com/apache/echarts/issues/18367

            People

              Unassigned Unassigned
              basil Basil Crow
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: