Closed
Bug 1463079
Opened 8 years ago
Closed 8 years ago
Update to AngularJS 1.7
Categories
(Tree Management :: Treeherder: Frontend, enhancement, P2)
Tree Management
Treeherder: Frontend
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: emorley, Assigned: emorley)
Details
Attachments
(2 files)
The AngularJS 1.7 release is the last breaking change release of AngularJS (they treat minor versions as breaking):
https://github.com/angular/angular.js/blob/master/CHANGELOG.md#170-nonexistent-physiology-2018-05-11
In it they have removed the `$compileProvider.preAssignBindingsEnabled()` flag, which allowed reverting to the pre-AngularJS 1.6 behaviour:
https://github.com/angular/angular.js/blob/master/CHANGELOG.md#compile-due-to
https://github.com/angular/angular.js/commit/38f8c97af74649ce224b6dd45f433cc665acfbfb
https://github.com/angular/angular.js/pull/15782
In order to update to 1.7 we'll need to fix the issue preAssignBindingsEnabled worked around.
The Renovate PR is here:
https://github.com/mozilla/treeherder/pull/3542
Comment 1•8 years ago
|
||
| Assignee | ||
Updated•8 years ago
|
Attachment #8979207 -
Flags: review?(igoldan)
Attachment #8979207 -
Flags: feedback?(wlachance)
| Assignee | ||
Updated•8 years ago
|
Assignee: nobody → emorley
Status: NEW → ASSIGNED
Updated•8 years ago
|
Attachment #8979207 -
Flags: review?(igoldan) → review+
Updated•8 years ago
|
Attachment #8979207 -
Flags: feedback?(wlachance) → feedback+
Comment 2•8 years ago
|
||
Commit pushed to master at https://github.com/mozilla/treeherder
https://github.com/mozilla/treeherder/commit/607b447820e432c2560770219e35a72bb8c54aeb
Bug 1463079 - Remove the preAssignBindingsEnabled workaround (#3567)
AngularJS 1.6 changed the way controller bindings were initialised,
but allowed users to revert to the previous behaviour by setting
`preAssignBindingsEnabled(true)`.
As part of our upgrade from AngularJS 1.5 to 1.6, we set that pref
in Perfherder, to fix the bug 1428958 regression.
However AngularJS 1.7 has now removed the pref, so we need to actually
fix the root cause - by moving any controller logic that is dependant
on the bindings into the `.$onInit()` method, which is only called
after all of the bindings are guaranteed to exist.
See:
https://docs.angularjs.org/guide/migration#migrate1.5to1.6-ng-services-$compile
Testing this locally shows the regression in bug 1428958 no longer
occurs, and as far as I can tell all other functionality in Perfherder
works fine (and there are no new exceptions seen in the console).
Comment 3•8 years ago
|
||
| Assignee | ||
Updated•8 years ago
|
Attachment #8979692 -
Flags: review?(cdawson)
Updated•8 years ago
|
Attachment #8979692 -
Flags: review?(cdawson) → review+
Comment 4•8 years ago
|
||
Commit pushed to master at https://github.com/mozilla/treeherder
https://github.com/mozilla/treeherder/commit/c89fa8cfcb9dff5da056e5930d8b9d8087994728
Bug 1463079 - Update to AngularJS 1.7 (#3570)
Changelog:
https://github.com/angular/angular.js/blob/master/CHANGELOG.md#170-nonexistent-physiology-2018-05-11
`PluginCtrl` has been updated to correctly cancel the `$http` requests
made by `selectJob`, since previously they were silently failing to be
cancelled, whereas under AngularJS 1.7 an exception is raised if
`$timeout` is used incorrectly:
https://code.angularjs.org/snapshot/docs/guide/migration#-timeout-
The usage of `$timeout` has been removed in favour of this pattern:
https://odetocode.com/blogs/scott/archive/2014/04/24/canceling-http-requests-in-angularjs.aspx
Closes #3542.
| Assignee | ||
Updated•8 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•