jQuery 3.5.0 breaks at least AngularJS interfaces
Bug #1873286 reported by
Galen Charlton
This bug affects 5 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Fix Released
|
Critical
|
Unassigned | ||
3.3 |
Fix Released
|
Critical
|
Unassigned | ||
3.4 |
Fix Released
|
Critical
|
Unassigned |
Bug Description
Testing today reveals that Evergreen 3.2 and later built with the most recent jQuery (3.5.0) breaks the AngularJS report template interface in at least two ways:
- when creating a new template, only the template name, URL, and description form fields are displayed; nothing else
- when cloning a template, only the template name, URL, and description form fields are displayed, and the console includes an error message about dgrid.refresh() not existing.
I'm reasonable sure that the new jQuery version is the culprit because reverting /openils/
Evergreen 3.2+
summary: |
- jQuery 3.5.0 breaks AngularJS reporter template interface + jQuery 3.5.0 breaks at least AngularJS interfaces |
Changed in evergreen: | |
assignee: | nobody → Jason Stephenson (jstephenson) |
Changed in evergreen: | |
status: | New → Confirmed |
assignee: | Jason Stephenson (jstephenson) → nobody |
Changed in evergreen: | |
assignee: | nobody → Jason Stephenson (jstephenson) |
Changed in evergreen: | |
assignee: | nobody → Bill Erickson (berick) |
Changed in evergreen: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
Further research suggests that the specific culprit may be the security fix in 3.5.0 that changes how jquery. htmlPreFilter works. [1] In particular, it no longer converts closing tags to make them XHTML complaint.
The following appears to make the report template editor work with jQuery 3.5.0.
diff --git a/Open- ILS/src/ templates/ staff/reporter/ t_edit_ template. tt2 b/Open- ILS/src/ templates/ staff/reporter/ t_edit_ template. tt2 .e85e526c99 100644 ILS/src/ templates/ staff/reporter/ t_edit_ template. tt2 ILS/src/ templates/ staff/reporter/ t_edit_ template. tt2 form-control" ng-model= "templateDescri ption" required/></div> form-control" ng-model= "templateDescri ption" required> </textarea> </div>
index 97b71c02f3.
--- a/Open-
+++ b/Open-
@@ -21,7 +21,7 @@
[% l('Template Description') %]
</div>
<div class="col-md-10">
- <div><textarea class="
+ <div><textarea class="
</div>
</div>
[1] https:/ /blog.jquery. com/2020/ 04/10/jquery- 3-5-0-released/