* Fix browser back button by removing angular-router
* Remove dependency of the unused Angular httpProvider
* Remove usage of angular1-ui-bootstrap from treeherder
Perfherder is still using it, so not removing from package.json
* Remove unused Angular sanitize
* Switch from using job.result_set_id to job.push_id
* Switch to using template strings for aggregateIds
* Fix notification where selected job not in push range
* Fix push status notifications(watching) to use safe React lifecycle method
* Fix some lodash _ imports to specific file imports
* Remove last usage of globalFilterChanged event
* Rename usage internal to PushJobs from "platforms" to "filteredPlatforms"
This takes what ThResultSetStore used to do and moves it to a React Context
called "Pushes.jsx" and into the "Push.jsx" component to manage
its own jobs.
* Use Match.matcher_name instead of Matcher object endpoint
* remove Matcher database table
* Replace Matchers data with TextLogErrorMatch.matcher_name
This pre-emptively fixes the issues found by the newer ESLint and
ESLint plugins that come with Neutrino 9 - in order to reduce the
size of the Neutrino 9 PR.
This will allow us to use the SelectedJob context coming in the next commit.
These changes are tangled with that next commit, but I hoped this would
make it easier to review by removing this noise.
Some more cleanup that's possible now ESR52 is EOL.
As a result `TaskclusterModel.load()` can no longer return `null`
(it will throw instead), so the null-checks have been removed.
Removed several vestigial Angular services and $injector from some classes
Added a missing event unlistener to JobView
Removed a few unnecessary usages of JQuery
...rather than just to users with the `is_staff` Django permission
(which mostly maps to sheriffs). This prevents the confusing UX of
UI elements being unknowingly hidden to users who are missing the
`is_staff` permission.
The check existed since these features used to use pulse_actions via
Treeherder's API (which had coarser permissions controls), whereas
now they use Taskcluster's API client side - so this check is purely
aesthetic, since people could just use Taskcluster's API/UIs directly.
If certain groups of users should be prevented from accidentally
scheduling too many jobs, access should instead be controlled via
Taskcluster scopes at the task configuration level.
* Convert pinboard actions to use hook-based actions
* Convert action bar actions to use hook-based actions
* Make create interactive task use hook-based actions
* Convert a second cancel-all to use hook-based actions
* Use hook-based actions for creating interactive tasks
* Remove angular $timeout, $apply
* Abstract away retrigger & cancel functions
* Remove thBuildApi entirely
* Remove PushModel.cancelAll and use actions json instead
* Remove usage of actions.yml
ESR52 still uses actions.yml but it is being treated as EOL
(Treeherder's buildbot ingestion has just been switched off).