Граф коммитов

2897 Коммитов

Автор SHA1 Сообщение Дата
Óscar Nájera be3c6e8bc9 Bug 1413156 - Convert from lodash findIndex to native ES6 (#3537) 2018-05-10 23:43:26 +01:00
Ed Morley 55654a1195
Bug 1363722 - Allow login to work in all development workflows (#3534)
Previously it was not possible to test features that required an
authenticated user when:
* using `yarn start` with Vagrant (bug 1363722), which meant slower
  watch builds
* pointing the UI at the prod/stage API (bug 1317752), which was
  extremely limiting

Now login works in all environments, since the frontend no longer uses a
URL prefix, but instead webpack-dev-server proxies non-webpack URLs to
the chosen `BACKEND_DOMAIN` - avoiding cross-domain issues. Cookies are
rewritten to remove any `secure` directive (which is set on production),
so that they can still be read from HTTP localhost. The `Referer` has to
also be changed to stop Django's CSRF checks from rejecting request.

The slower "build into `dist` and watch" mode is therefore no longer
necessary, so `yarn start:local` instead invokes webpack-dev-server just
like `yarn start` - and the `local-watch.js` workaround has been
removed.

Support for the "publish to GitHub with hardcoded `SERVICE_DOMAIN`"
workflow has been dropped, since it was already rarely used and there is
no way to make it support login.

The API domain environment variable was renamed to `BACKEND_DOMAIN` to
avoid potential confusion given it no longer behaves the same as
`SERVICE_DOMAIN` used to.

NB: For full stack Vagrant workflows users must now connect to port
*5000* on localhost, not 8000.
2018-05-10 17:58:04 +01:00
Hassan Ali 85766e2787
Bug 1415868 - Use hooks for actions (#3502)
* Add hooks for actions

* Remove task from context for kind == hook

Also display hookGroupId/hookId for kind=hook
in the modal.

* Move taskcluster-lib-scopes to the vendor chunk
2018-05-09 15:03:23 -04:00
Sarah Clements dd3c2d4f62 Bug 1449513 and bug 1452940 - Add more repos to IFV (#3501) 2018-05-09 19:39:04 +01:00
ionutgoldan 9a47ad307c Bug 1451661 - Highlight significant alerts from alert summary (#3469) 2018-05-09 15:42:01 +01:00
Kartikaya Gupta (kats) 42670c2b3a Add display name mapping for macOS QuantumRender platform (#3523) 2018-05-04 16:36:29 +01:00
Cameron Dawson 2d8d3eb4e3 Bug 1440209 - Fix clear job when no more unclassified failures 2018-05-03 13:38:51 -07:00
Cameron Dawson 6728a7931a Bug 1454182 - Fix preserving filters when setting 'set as bottom of range' 2018-05-03 13:18:24 -07:00
Cameron Dawson 609e52d539 Bug 1458922 - Fix tier 2 tasks not displaying group symbols 2018-05-03 10:41:02 -07:00
Cameron Dawson 50d5538926 Bug 1458633 - Fix bug wrongly added to list of bugs to use for classification 2018-05-03 10:00:31 -07:00
Tom Prince d9b4f1f2aa Bug 1456234 - Add display name mappings for new release task platforms (#3508) 2018-05-02 18:38:31 +01:00
Ed Morley ab6dcfbe18 Bug 1457917 - Fix the display of logs in the log viewer
Reverts the accidental change to the raw log URL from here:
5d23735359 (diff-4f14c25b423d5c12f4983b7229fedeb1L165)

And updates the reftest URL handling to take into account:
5d23735359 (diff-189002a90173e09fe81da88161e6e80dL63)
2018-04-30 16:32:40 +01:00
Cameron Dawson 46763562e5
Bug 1457205 - Convert Job Details tab to ReactJS (#3491) 2018-04-26 11:54:24 -07:00
Cameron Dawson 5da45e7313 Fix small href error in logviewer.html 2018-04-26 09:22:45 -07:00
Cameron Dawson 7663ae2b67 Bug 1450020 - Convert Perf Details tab to ReactJS 2018-04-26 09:22:45 -07:00
Cameron Dawson e09775179b
Bug 1450018 - Convert Similar jobs tab to ReactJS (#3455) 2018-04-25 13:29:51 -07:00
Ed Morley 47ac771a84 Bug 1456894 - Import jQuery explicitly
The last remaining `ProvidePlugin` definition cannot be removed since
AngularJS and Flot both expect `window.jQuery` to be defined (and
whilst AngularJS falls back to jqLite, it's buggy). It's not possible
to set `window.jQuery` manually in the entrypoints, since ES6 imports
are hoisted, thereby giving no opportunity to modify window first.
2018-04-25 19:48:41 +01:00
Ed Morley f522727087 Bug 1456894 - Import React explicitly
Rather than relying on `ProvidePlugin`.
2018-04-25 19:48:41 +01:00
Ed Morley cc64c07802 Bug 1456894 - Import lodash explicitly
Rather than relying on `ProvidePlugin`.
2018-04-25 19:48:41 +01:00
Cameron Dawson 5d23735359
Bug 1446427 - Convert Autoclassify panel to ReactJS (#3414) 2018-04-24 12:39:06 -07:00
Sarah Clements 0b9f2efa92 Bug 1453468 - IFV table sorting (#3461)
add client-side sorting as an override to react-table's manual/server-side sorting
2018-04-18 17:44:46 +01:00
Cameron Dawson 4f2ee0c88b
Bug 1408791 - Move to using react2angular (#3462)
* Also fixes Bug 1451492 - Wording of Treeherder view for brand-new Try push is still sometimes the unfriendly version
2018-04-17 15:47:56 -07:00
Dottori 53fb77ee8d Bug 1413156 - lodash to ES6: replace _.map in components/perf/compare.… (#3391) 2018-04-17 09:05:54 -07:00
Sarah Clements 2a17adc113 Bug 1453757 - Add table size option to Intermittent Failures View (#3446) 2018-04-16 16:35:24 -07:00
Jonathan French 081dbe63b1 Bug 1405666 - Enable mousetrap shortcuts inside checkboxes (#3448) 2018-04-16 16:06:02 -07:00
Rob Wood db7d0e9de7 Bug 1425303 - Add perf-html.io link for talos gecko profiles (#3389) 2018-04-16 15:39:30 +01:00
Jonathan French e8c2ac2e63 Bug 1454075 - Clean up login button and remove dead class (#3445) 2018-04-13 15:15:48 -07:00
Cameron Dawson 6fc039e58b
Bug 1352862 - Restore the 'i' keyboard shortcut to toggle in-progress jobs (#3430)
* Alphabetize keyboard shortcuts to help avoid introducing conflicts
* Also make a few autoclassify shortcuts use ctrl to reduce confusion
* Enable multi-select on a mac in the autoclassify panel
2018-04-10 15:35:43 -07:00
Eli Perelman 17df068b46 Update links to Taskcluster Tools interactions (#3421) 2018-04-09 19:32:22 +01:00
Sarah Clements e64be6b0fa Bug 1448768 - fix graph data (#3408)
* Change data calculation and temp label fix to support decimals
* Add link to metric-graphics decimal bug
2018-04-06 15:20:05 -07:00
SimonFje 501179c450 Remove lodash forEach usage for objects (#3406) 2018-04-06 09:10:41 -07:00
Ed Morley e694ba0533
Bug 1451457 - Removed unused partials (#3398)
The `login.html` partial is a leftover from the switch to Auth0 in
bug 1395356, and `errorActions.html` appears to have never been used
since it landed in 8e56de8 (bug 1321798).
2018-04-05 18:32:25 +01:00
Cameron Dawson b946edf7a2
Bug 1450972 - Fix pin wrong job from failure summary tab (#3399) 2018-04-04 15:51:55 -07:00
Ed Morley 163a94a2f6
Bug 1451428 - Remove unused settings panel (#3395)
Since it's hidden and has never been used.

The `thSettingsPanel.html` partial is a leftover from when this
feature was first added in 3e625f3 / 6b0c56e.
2018-04-04 20:34:26 +01:00
Cameron Dawson c7b050942d
Bug 1443129 - Add prop types to all JSX components (#3379)
* enable react/prop-types eslint rule
While enabling this, I set all the PropTypes as ``isRequired`` then ran the app
and wherever I hit issues where the value was undefined, then I removed ``isRequired``.

* Enable react/require-default-props eslint rule
In some cases "null" was the best default.  I think this is OK.  But having empty arrays
for others meant less checking in the actual code, so bonus!  :)
2018-04-04 10:23:48 -07:00
Cameron Dawson 0b5fec254a
Bug 1449240 - Convert Angular values.js to import-able constants (#3378)
After looking at these, I think I want to go back to using "th" prefix and "ph" prefix.
It is a nice way to see right off the bat that these are constants that are established
by our code and not some external library.  So converting ``platformMap`` back to
``thPlatformMap``.  It also makes for less code/blame churn as we move to imported
constants.

* Move thOptionOrder to constants.js
* Move thFailureResults to constants.js
* Move thRepoGroupOrder to constants.js
* Move thFavIcons to constants.js
* Move phCompareDefaultOriginalRepo to constants.js
* Move phCompareDefaultNewRepo to constants.js
* Move thDefaultRepo to constants.js
* Move thTitleSuffixLimit to constants.js
* Move phTimeRanges to constants.js
* Move thDateFormat to constants.js
* Move phDefaultTimeRangeValue to constants.js
* Move phTimeRangeValues to constants.js
* Move phBlockers to constants.js
* Move phDefaultFramework to constants.js
* Move phAlertSummaryStatusMap to constants.js
* Move phAlertSummaryIssueTrackersMap to constants.js
* Move phAlertStatusMap to constants.js
* Move thJobNavSelectors to constants.js
* Move thPerformanceBranches to constants.js
* Move phDashboardValues to dashboard.js
* Move phCompareBaseLineDefaultTimeRange to constants.js
* Move thPinboardCountError to constants.js
* Remove now-unused values.js
* Move thResultStatusFilters to constants.js
* Move thEvents to constants.js
* Move thAggregateIds to a aggregateIdHelper.js
* Move thReftestStatus to jobHelper.js
* Remove now-unused provider.js
2018-04-04 10:01:17 -07:00
Ed Morley 062317c8ee
Bug 1451342 - Unvendor ng-text-truncate-2 (#3393)
Since we've moving away from vendored packages.

The only differences between the vendored file and that in the NPM
package were the changes to `require('angular')` and export the
created AngularJS module. However Angular is already imported prior
to this package being imported, and we can just pass the module name
as a string instead of relying on the export.
2018-04-04 16:08:11 +01:00
William Lachance fa8cff0d7f
Bug 1451053 - Add information on whether higher or lower is better to graph tooltip (#3388) 2018-04-04 08:28:03 -04:00
ionutgoldan aa40c6a7e4 Bug 1376829 - Add notes to alert summaries (#3345) 2018-04-03 09:15:27 -04:00
Philipp Kewisch 7cf1013f09 Bug 1123814 - Get desktop notifications when pushes or jobs complete (#3373) 2018-03-29 09:55:31 -07:00
Dottori 9c017283c7 Bug 1413156 - lodash to ES6: replace _.some, _.keys in PerfHerder (#3374) 2018-03-27 08:04:36 -07:00
Dottori cc7411e352 Bug1413156 - lodash to ES6: replace _.reduce, _.assign, _.flatten, _.isArray (#3357) 2018-03-22 13:52:18 -07:00
Sebastian Hengst 833fe06abc Bug 1447771 - disable Testing::web-platform-tests suggestion in bugfiler (#3362) 2018-03-22 08:57:20 -07:00
Cameron Dawson 3c16ec71a6
Bug 1447787 - Re-add jobLogsAllParsed for Autoclassify panel (#3363) 2018-03-21 15:05:21 -07:00
Sarah Clements ac5a4b1525 Bug 1445295 - Specify selectedJob in intermittent failures links (#3356)
* change jobsUrl to include job_id for revision link in Bug Details View table
* remove domain from jobsUrl
2018-03-21 13:39:09 -07:00
William Lachance dfd259e0ed Simplify bug column in intermittents table a bit (#3352)
* Bug ID -> Bug
* Left align column
* Make the bug number itself a link to the bug, instead of an additional link
* Use CSS instead of javascript to show/hide details link
2018-03-19 09:05:46 -07:00
Dottori 5f68792a58 Bug1413156 - lodash to ES6: replace _.without _.values _.last usage (#3338) 2018-03-16 15:46:05 -07:00
Cameron Dawson 50034a713b
Bug 1444207 - Consolidate failure_summary_panel to /details-panel (#3341)
* Rename the component to a *Tab and move to /details-panel folder
* cleanup indentation
* cleanup props and panel elements
* Use deconstruction for props object
* simplify onclick event calls with anonymous functions
* Move filerInAddress logic to FailureSummaryTab
* Move the data-fetching into the main controller like the other
  tabs so we can do away with the special controller for the
  failure summary tab.
* Move functions to helpers instead of filters and take less
  values as params
* Eliminate failure_summary/controller
* Moved logic to either the parent controller or into helpers and
  the FailureSummaryTab
* Use helper function for bugzilla url
2018-03-16 08:55:04 -07:00
Dottori 31dc8dec99 Bug 1413156 - lodash to ES6: _.size to .length (#3332) 2018-03-15 13:25:11 -07:00
Sebastian Hengst 76e8741f2f Bug 1444931 - Fix escaped characters in commit message tooltips (#3334) 2018-03-13 15:44:59 +00:00
Sarah Clements 30df0aae6c Bug 1367362 - Add an intermittent failures view (#3296)
Adds a new view to display intermittent test failure occurrences,
to replace the functionality currently provided by the legacy
OrangeFactor tool.

Includes the new API endpoints originally reviewed in #3271.
2018-03-13 13:52:17 +00:00
Ed Morley d5e3436e45
Bug 1444644 - Update Bootstrap from v4.0.0-beta.2 to v4.0.0 (#3327)
Notably:
* the `popper.js` `DefinePlugin` entry is no longer required
* the JS/CSS imports have been adjusted to match the install docs:
  https://getbootstrap.com/docs/4.0/getting-started/webpack/
  ...which shaves 23KB off the bundle size of most pages.

Release announcements:
https://blog.getbootstrap.com/2017/12/28/bootstrap-4-beta-3/
https://blog.getbootstrap.com/2018/01/18/bootstrap-4/

Release notes:
https://github.com/twbs/bootstrap/releases/tag/v4.0.0-beta.3
https://github.com/twbs/bootstrap/releases/tag/v4.0.0

Changelog:
https://github.com/twbs/bootstrap/compare/v4.0.0-beta.3...v4.0.0
2018-03-12 17:52:01 +00:00
Ed Morley 4dfffb38cc
Bug 1353753 - Update legacy Treestatus URLs (#3323)
TreeStatus has long since moved to:
https://mozilla-releng.net/treestatus
2018-03-10 01:58:05 +00:00
William Lachance 218a52dde6 Fix spacing in details panel when log not yet parsed (#3325) 2018-03-09 17:14:47 +00:00
Cameron Dawson cca48d14df
Bug 1444134 - Consolidate references to SERVICE_DOMAIN (#3319)
* Don't use SERVICE_DOMAIN for references to the front-end code
* Change getRootUrl to getApiUrl to better represent what it is for
* Convert other usages of SERVICE_DOMAIN to getApiUrl
* Convert usages of SERVICE_DOMAIN to getProjectUrl
* Convert uses of SERVICE_DOMAIN to getServiceUrl
* Convert tests to use ``urlHelper``
2018-03-08 15:48:31 -08:00
Cameron Dawson b221b8ca1e Bug 1437818 - Enable ESLint rule react/no-array-index-key 2018-03-08 14:14:43 -08:00
Cameron Dawson 08e1d30877 Bug 1443667 - Dead code removal: grpMap
This object is no longer used since we stopped usign clonejobs.js
2018-03-08 08:26:25 -08:00
Cameron Dawson 6e2242b2c5 Bug 1443667 - Fix 'tier' not yet assigned when getJobGroupInfo() creates map 2018-03-08 08:26:25 -08:00
Ed Morley 101724445a Bug 1443698 - Fix/enable eslint 'no-var' and related
https://eslint.org/docs/rules/no-var
https://eslint.org/docs/rules/one-var-declaration-per-line
https://eslint.org/docs/rules/one-var
https://eslint.org/docs/rules/vars-on-top
https://eslint.org/docs/rules/block-scoped-var

Bulk of the changes performed by `--fix`, with rest by hand.
2018-03-07 19:26:18 +00:00
Ed Morley b152fc04f8 Bug 1443698 - Fix/enable eslint 'no-use-before-define'
https://eslint.org/docs/rules/no-use-before-define

Three files have been excluded from this rule entirely, since they
would require significant changes that might as well wait until they
are rewritten in React. It's likely these files may also need to be
excluded from future `var` to `let`/`const` conversions as a result.

From the AirBnb style guide GitHub issue comments:
> Some enjoy using hoisting to define helper methods at the bottom of
> the file. This guide discourages relying on hoisting; instead
> suggesting importing the helpers from another file when possible.
2018-03-07 19:26:18 +00:00
Ed Morley c26056dc23 Bug 1443698 - Fix/enable eslint 'prefer-const'
https://eslint.org/docs/rules/prefer-const

Changes performed by `--fix`.
2018-03-07 19:26:18 +00:00
Ed Morley 9b55b0cfd7 Bug 1443698 - Fix/enable eslint 'no-redeclare'
https://eslint.org/docs/rules/no-redeclare
2018-03-07 19:26:18 +00:00
Ed Morley 5f9abbf340 Bug 1443698 - Fix/enable eslint 'no-multi-assign'
https://eslint.org/docs/rules/no-multi-assign
2018-03-07 19:26:18 +00:00
Ed Morley 8ebaa1f499
Bug 1443832 - Disable compilation of class and comment directives (#3313)
Since we don't use them, and disabling improves compile performance:
https://docs.angularjs.org/guide/production#disable-comment-and-css-class-directives
2018-03-07 19:25:58 +00:00
Tom Ritter 3a9ecff51b Add a checkbox to hide result lines without one run for each side (#3303) 2018-03-07 13:28:11 -05:00
Cameron Dawson d9026820c5
Bug 1443087 - Remove requirement of try or sheriff to cancel all jobs (#3308) 2018-03-07 10:06:30 -08:00
Cameron Dawson cffdb1b0f2
Bug 1442556 - Fix slowness on filtering (#3309)
I believe this was the main bug causing the slowdown.  It was setting state
in ``filterPlatform`` which is called once per platform when a filter change is
made.  But that ``setState`` was updating ALL the platforms for that push.

* Remove unnecessary clonejobs artifact
* Fix the regression with expand/collapse counts
* Very minor optimizations and cleanup
* Add some unit tests for groups
2018-03-07 08:38:44 -08:00
Ed Morley b189c0e4f5
Annotate third-party module usage in the treeherder.app module (#3312)
So we remember to remove them once unused.
2018-03-07 15:46:29 +00:00
Cameron Dawson c403895caf
Bug 1442556 - Improve rendering speed in treeherder by removing refs (#3307)
These refs were not actually used, so can be removed.  It does appear to
improve rendering speed, especially when changin filtering.  I had noticed
that the JobGroup was re-rendering more times than it should, and this
change stops that.  I believe more work is to be done here, but this is one
step.

This also includes a couple other small tweaks that may help speed.
2018-03-06 10:31:05 -08:00
Ed Morley 0ac1b711ff
Bug 1443023 - Pass missing $timeout prop to BugListItem (#3302)
The failure classification pin button was broken for bug suggestions
that fell under the "all others" category, since the `BugListItem`
for them weren't passed the `$timeout` prop, unlike for the
"open recent" `BugListItem` instance.
2018-03-05 16:44:48 +00:00
Sebastian Hengst 39a1cc3224 Bug 1443119 - Disable "Failure Classification" (autoclassify) tab by default (#3301) 2018-03-05 13:00:54 +00:00
Cameron Dawson b8076190d3
Bug 1441700 - Consolidate job details pane (#3291)
* Move JobDetailsPane to details-panel folder
* Convert to 2 space indent
* Cleanup props with deconstruction
* Subsume some filters into jobdetailspane
* Subsume logic for job signature filtering
* Subsume logic for visibleFields and visibleTimeFields
* Only need latest classification, not whole array
* Ensure all helper functions are named
2018-03-03 10:04:19 -08:00
Ed Morley 1053a8d5ee Bug 1442485 - Fix/enable eslint 'object-property-newline'
https://eslint.org/docs/rules/object-property-newline

Not a React-specific rule, but the react-codemod rulesets were
constantly trying to alter it when making changes in other files,
so would rather fix it now.
2018-03-02 21:28:44 +00:00
Ed Morley e1e8199785 Bug 1442485 - Fix/enable eslint 'react/jsx-max-props-per-line'
https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-max-props-per-line.md

Changes made via eslint's `--fix` feature.
2018-03-02 21:28:44 +00:00
Ed Morley 3964dac1b6 Bug 1442485 - Fix/enable eslint 'react/jsx-first-prop-new-line'
https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-first-prop-new-line.md

Changes made via eslint's `--fix` feature.
2018-03-02 21:28:44 +00:00
Ed Morley f268d9e721 Bug 1442485 - Fix/enable eslint 'react/jsx-indent{,-props}'
https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-indent.md
https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-indent-props.md

Changes made via eslint's `--fix` feature. I also included fixes to
the JS content within JSX files (by enabling the generic `indent`
rule locally when running `--fix`), to reduce the churn that will be
seen in these files when we fix JS indentation for the whole codebase.
2018-03-02 21:28:44 +00:00
Ed Morley d0fd089073 Bug 1442485 - Fix/enable eslint 'react/prefer-stateless-function'
https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/prefer-stateless-function.md
2018-03-02 21:28:44 +00:00
Ed Morley aca725e534 Bug 1442485 - Don't use arrow functions for stateless components
Since otherwise it's an anonymous function where the name has to be
inferred, which doesn't work in all cases:
https://github.com/airbnb/javascript/blob/master/react/README.md#class-vs-reactcreateclass-vs-stateless

Unfortunately there is not yet an ESLint rule to enforce this:
https://github.com/yannickcr/eslint-plugin-react/issues/690
2018-03-02 21:28:44 +00:00
Cameron Dawson a5cee318f6 Bug 1442690 - Fix compare chooser for repos other than m-i (#3294) 2018-03-02 21:24:46 +00:00
Cameron Dawson 2240fbd3a9
Bug 1441912 - Replace thUrl angular provider with urlHelper lib (#3285)
* Move getBugUrl, getSlaveHealthUrl, getInspectTaskUrl, getWorkerExplorerUrl,
  getLogViewerUrl, getRootUrl, getProjectUrl and getProjectJobUrl to urlHelper
* Move getJobsUrl to only place its used
* Replace thServiceDomain with SERVICE_DOMAIN
* remove thUrl provider
2018-03-01 16:00:28 -08:00
Cameron Dawson 17b3722aa9
Bug 1442210 - Fix Trigger missing jobs (#3289) 2018-03-01 09:43:37 -08:00
Ed Morley 038e60a833
Bug 1441614 - Use imports for templates instead of cache-template.js (#3286)
Previously all templates were being included on every page, regardless
of whether they were being used, bloating the bundles. In addition,
`templateUrl` has a number of issues compared to `template`:
https://medium.com/@frosty/angularjs-template-vs-templateurl-cdde055b7907

There are now no more instances of non-global `require()`s (or any
require()s for that matter), so we can enable that eslint rule:
https://eslint.org/docs/rules/global-require

Improves the bundle sizes as follows:
* index: -60KB
* logviewer: -138KB
* perf: -84KB
2018-03-01 17:05:35 +00:00
Ed Morley 893baca118
Bug 1441851 - Fix thNotify calls using old-style sticky argument (#3288)
The third argument was changed from a bool to an options object in
bug 1402062 - so these instances would fail with:
`Error: Must pass an object as last argument to thNotify.send!`
2018-03-01 17:03:20 +00:00
Ed Morley b3d02f3874 Bug 1441617 - Convert CJS imports to ES6
This converts virtually all of the CJS imports, apart from:
* the partials/plugin template loading in cache-loader - since that
  is being handled in bug 1441614
* `.eslintrc.js` / `neutrino-custom/*` - since they are used by node
  directly (which doesn't yet support ES6 modules) rather than via
  webpack.

File extensions have been omitted for JS/JSX, otherwise eslint reports:
`Unexpected use of file extension "js" for "..." (import/extensions)`
2018-03-01 01:42:49 +00:00
Ed Morley a7df5cd6a0 Bug 1441617 - Remove duplicate require() from perf entrypoint
The filters file is already `require()`ed higher up in the file.
This avoids an eslint error once these are switched to ES6 imports.
2018-03-01 01:42:49 +00:00
Ed Morley ebe97fa18e Bug 1441617 - Always import mousetrap explicitly
...rather than relying on `window.Mousetrap`.

And also switch to ES6 imports.
2018-03-01 01:42:49 +00:00
Ed Morley 36b930f6fb Bug 1441617 - Move absolute imports above relative ones
Since otherwise once converted to ES6 imports, eslint will report:
`Absolute imports should come before relative imports (import/first)`

See:
https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/first.md

I've split this out of the commit switching to ES6 imports to make
the diff easier to follow.

Note: This changes the order of the CSS imports in userguide and perf,
however I can't see anything that's broken as a result locally.
2018-03-01 01:42:49 +00:00
Ed Morley 800b31b719 Bug 1441617 - Always import angular explicitly
...rather than relying on `window.angular`.

And also switch to ES6 imports.
2018-03-01 01:42:49 +00:00
Ed Morley a8e09c5786 Bug 1441617 - Use ES6 imports for angular module dependencies
An AngularJS module declares a dependency on another module like so:
```
const fooModule = angular.module('foo', ['name_of_dep_module']);
```

This is suboptimal, since:
a) the dependency is only validated at runtime not during the build
b) the module name often doesn't match the NPM package name, making
   it hard to know whether imports are unused.

As such, many AngularJS packages now export a string containing the
module name, which allows for an ES6-like approach (it still uses
globals underneath, but better than nothing):
```
import nameOfDepModule from 'dep-module';

const fooModule = angular.module('foo', [nameOfDepModule]);
```

Just to complicate things, some modules don't export the module name,
but the actual module object itself. This can't be passed to
`angular.module()` directly, so for these modules we have to use the
`name` property on the module instead:
https://docs.angularjs.org/api/ng/type/angular.Module#name

eg:
```
import depModuleObject from 'awkward-dep-module';

const fooModule = angular.module('foo', [depModuleObject.name]);
```

In fact, the treeherder modules do just that - however its not worth
fixing, since otherwise we'd have to change every file that registers
directives/filters/values/... to fetch the module first, using
`angular.module('name-of-existing-module')`.
2018-03-01 01:42:49 +00:00
Ed Morley 3e2e22e132 Bug 1441617 - Switch the treeherder module to ES6 exports
This is the shared module that is a dependency of the `treeherder.app`,
`perf` and `logviewer` modules.
2018-03-01 01:42:49 +00:00
Ed Morley 7bab404d40 Bug 1441617 - Switch the perf module to ES6 exports 2018-03-01 01:42:49 +00:00
Ed Morley 5cbad18162 Bug 1441617 - Remove unused export in perfapp.js
This export is not used, since this file just configures the existing
module (compared to `perf.js` which creates/exports the module).
2018-03-01 01:42:49 +00:00
Ed Morley 588947856a Bug 1441617 - Switch the treeherder.app module to ES6 exports
This module is for use by the `index` entrypoint, and inherits from
the shared `treeherder` module.
2018-03-01 01:42:49 +00:00
Ed Morley 6053d8110a Bug 1441617 - Switch the logviewer module to ES6 exports 2018-03-01 01:42:49 +00:00
Ed Morley ce7ad5cc0e Bug 1441617 - Switch the userguide module to ES6 exports
And whilst we're there, use explicit imports instead of relying on
the webpack `ProvidePlugin` to import it for us - which lets us also
remove the eslint global exemption plus unit test workaround.
2018-03-01 01:42:49 +00:00
Cameron Dawson cc8d6ca184
Bug 1441644 - Consolidate annotations tab (#3276)
* Move annotations tab to details-panel folder
* Convert to 2 space indent
* Cleanup props with deconstruction
* Subsume old annotations controller into component
2018-02-28 08:55:11 -08:00
Cameron Dawson 706de914ee Bug 1440698 - Fix push complete calculation 2018-02-27 11:40:00 -08:00
Ed Morley bd870cf8ce
Bug 1441493 - Use rel="noopener" for all target != null links (#3275)
This helps prevent:
https://www.owasp.org/index.php/Reverse_Tabnabbing

We're not also using `noreferrer`, since most browsers now support
`noopener` (https://caniuse.com/#search=noopener) and the link targets
are all Mozilla properties where the referrer may be useful.

The auth.js `window.open()` has not been changed, since the login
callback makes use of `window.opener`.
2018-02-27 19:17:42 +00:00
Cameron Dawson ac12ac0d77 Bug 1438410 - Fix filing with bugfiler from Failure Summary tab
This was using an angular $timeout in the thPinboard service addBug
function.  That caused the value to not be persisted.  Moved the $timeout
to the ReactJS failure_summary_panel since that's where it's needed.
2018-02-26 17:27:27 -08:00
Cameron Dawson 9e56a3525b Bug 1441215 - Fix unwanted reload of detail panel 2018-02-26 14:15:14 -08:00
Cameron Dawson 5983968392 Bug 1440862 - Fix wording waiting for new push 2018-02-26 13:53:39 -08:00
Cameron Dawson 597c79a224 Bug 1434677 - Cleanup a couple minor PushList code issues 2018-02-26 13:53:14 -08:00
Ed Morley 32f303199d
Bug 1441164 - Remove unused AngularJS code (#3267)
Found with the help of `list-angular-usages.sh`.
2018-02-26 21:10:11 +00:00
Cameron Dawson 6a6bb59660 Bug 1440473 - Fix push link filters live updating 2018-02-23 18:09:45 -08:00
Cameron Dawson c682a013d3 Bug 1440473 - Fix push "in progress" jobs counter live updating 2018-02-23 18:09:45 -08:00
Cameron Dawson ecbad6c4e7 Bug 1440057 - Remove unnecessary function 2018-02-23 17:18:56 -08:00
Cameron Dawson 18467a18d5 Bug 1440057 - Rename resultset wording to push wording 2018-02-23 17:18:56 -08:00
Cameron Dawson a7fdb89bb9 Bug 1440057 - Remove unused search param from resultset_store 2018-02-23 17:18:56 -08:00
Cameron Dawson dca293d7ec Bug 1440057 - Quiet a benign setState warning 2018-02-23 17:18:56 -08:00
Cameron Dawson 324a37bf10 Bug 1440057 - Remove reference to repoName in ThResultSetStore functions 2018-02-23 17:18:56 -08:00
Ed Morley e095944a37
Bug 1440774 - Convert AngularJS dependency factories to ES6 imports (#3262)
Since it's the cleaner way to declare dependencies and is another
small step towards migrating away from AngularJS.
2018-02-23 22:51:09 +00:00
Sebastian Hengst dec0e3caa1 Bug 1440759 - Preserve active filters in links from push timestamp. r?camd (#3261) 2018-02-23 12:54:57 -08:00
Hassan Ali b7c1d8bee7 Bug 1437824 - Remove debugging logging now that sessions seem to work (#3260) 2018-02-23 19:03:08 +00:00
Sebastian Hengst 382d123747 Bug 1440645 - Fix over-escaped bugherder links in push menu (#3256)
Prevents broken links like:
`https://bugherder.mozilla.org/?cset=c4fe0ca380a6309d37e9df5c0692e64a455e76ce&tree=mozilla-beta`
2018-02-23 14:25:09 +00:00
Cameron Dawson 15d21704b2
Bug 1440516 - Fix Push action menu links (#3255)
The links for set top and bottom of range weren't working
as links and the BuildAPI link was totally broken.
2018-02-22 18:11:42 -08:00
Cameron Dawson c422eb968d
Bug 1428508 - Remove the ThLog Angular service (#3251) 2018-02-21 16:47:19 -08:00
Cameron Dawson 1c9b2c0e24 Bug 1438555 -Fix n/p after classifying a failure
This also fixes Bug 1438315 - Pinned jobs take a long time
to show the annotation. These two bugs were related so it
made sense to fix them at the same time.
2018-02-21 16:05:11 -08:00
Cameron Dawson 1aad641fef
Bug 1438718 - Fix Ctrl+click doesn't unpin already selected jobs (#3248) 2018-02-21 14:17:41 -08:00
Cameron Dawson a11e49281b
Bug 1438492 - Fix tooltip for commit messages and authors (#3249) 2018-02-21 14:16:55 -08:00
ionutgoldan 0badc9ec5f Bug 1428032 - Allow linking Perfherder alerts to Servo GitHub PRs (#3211) 2018-02-21 15:03:20 +00:00
Cameron Dawson 2cdb3ec15f
Add new locationHelper for getting url params (#3247) 2018-02-20 16:47:53 -08:00
Hassan Ali 3d65f247f7
Redirect user to origin if user navigates to the login route directly (#3244)
* Redirect user to origin if login through URL
2018-02-20 15:46:42 -05:00
Cameron Dawson f984acf9a8
Bug 1434677 - Convert rendering list of pushes from angular to ReactJS (#3206)
This adds some new components and removes the AngularJS ng-repeat for
pushes.  In the course of this work, some of the AngularJS providers were
converted to helper functions.

In a couple cases, I had to add new code to the AngularJS areas so that it
would continue to interact well between Angular and React.

Also:
* Rename some functions and CSS classes from resultset to push
* Add unlistening for events during unmount of components
2018-02-20 10:31:11 -08:00
Tom Ritter 7295cf324a Bug 1439365 - Add Windows MinGW to platformMap (#3242) 2018-02-20 11:19:13 +00:00
Hassan Ali 95298e2bf3
Use taskcluster-credentials scope (#3227) 2018-02-17 16:31:46 -05:00
Hassan Ali 60178e809a
Logout user if there is a new scope required (#3233) 2018-02-16 11:02:29 -05:00
Ed Morley dc8db57b03
Bug 1438501 - Remove failureviewer.html (#3232)
Since it's not being used. This will save us having to convert it to
React for now, and also means one less thing slowing down our builds.
Should it be needed in the future, it can be resurrected using the
Git log.
2018-02-16 10:45:17 +00:00
Cameron Dawson 236612a34b Bug 1242905 - Fix honoring group_state url param on load
Fixes a bug found after deploy.
2018-02-14 16:24:52 -08:00
Hassan Ali 0cc341619f Bug 1437824 - Stop logging out users if renewal fails (#3228)
In case:
* multiple tabs are trying to renew at the same time, where one
   tab will throw an error hence logging users out
* the renewal fails for transient reasons (eg wifi not re-established
  after machine resumes from sleep)
2018-02-14 17:00:02 +00:00
Cameron Dawson f40f3faae7 Bug 1242905 - Replace rendering of pushes and jobs with ReactJS
This replaces the logic that was in clonejobs.js that formerly
handled rendering the pushes, platforms and jobs and converts it to
ReactJS.  The ReactJS code is hosted as a directive in AngularJS
using ngReact reactDirective.

This also removes the feature where you can hide revisions because
it was believed to not be used and added unnecessary complications
to the code.

Co-authored-by: Casey Williams cwillia5@gmail.com
2018-02-13 16:19:14 -08:00
Hassan Ali 7b79be8fcc
Bug 1437824 - Add logging to help debug session issue (#3220)
* Add auth logging to backend

* Use .warn instead of .info so that it shows in production

* Use notifications as an attempt to debug Bug 1437824
2018-02-13 17:34:31 -05:00
Cameron Dawson dedd1b5990 Bug 1432896 - Fix sluggish pinning of job bugs 2018-02-13 14:17:00 -08:00
Jonathan French 92a60fb6a4 Bug 1371843 - Expose Clear all when the pinboard is dirty 2018-02-12 09:27:20 -08:00
Jonathan French a8e7a12954 Bug 1434456 - Remove scrollbar from shortcut table in userguide 2018-02-12 09:11:31 -08:00
Ed Morley 0397e82f0e
Bug 1435998 - Fix/enable eslint 'strict' (#3198)
With ES6, the `'use strict'` directives are unnecessary:
https://eslint.org/docs/rules/strict

The directives have been left in the Neutrino configs, since they
are used by node directly, which doesn't yet support ES6 modules.
2018-02-12 16:51:36 +00:00
Hassan Ali e1b0168127
Bug 1395356 - Use auth0 instead of login.taskcluster.net for SSO (#3144)
## Rough summary of the changes

### Front end
The auth callback is written in React and lives under the /login.html endpoint. It communicates with Treeherder using the localStorage.

### Credential expiration
The Django user session expiration is set to expire when the client access token or the id token expires (whichever one expires first). These values are controlled by the IAM team. Presently, the access token expires after 1 day and the id token expires after a week. That being said, the session will therefore expire after 1 day. If you want this value change, we simply need to send a request to the IAM team.

### Credential renewal
Renewals are set to happen every 15 minutes or so. The renewal is skewed slightly so that different open tabs don't renew at the same time. Once renewal happens, both tokens are renewed and the Django session is updated.

### Migration
If the userSession localStorage key is not set, then the user will be logged out including logging out from the Django session. In other words, all users will be automatically logged out when the merge to production happens.
2018-02-07 12:59:30 -05:00
Ed Morley 8e4c7db6c5
Revert "Bug 1401518 - Make Add new jobs menu require a decision task" (#3186)
This reverts commit d41c318173.
2018-02-01 20:50:46 +00:00
Jonathan French d41c318173 Bug 1401518 - Make Add new jobs menu require a decision task 2018-01-30 14:30:08 -08:00
ionutgoldan 2eef134966 Bug 1428792 - Remove unused dashboards from Perfherder (#3167) 2018-01-30 09:54:12 -05:00
Ed Morley d0bfec4c9e
Bug 1413156 - Fix inverted conditional in renderGroupJobsAndCounts (#3175)
Prior to #3154 the conditional used:
`_.includes(failResults, resultStatus)`

...so should now be using `!== -1` rather than `=== 1`.
2018-01-30 14:29:32 +00:00
Ed Morley 3327985173 Bug 1432840 - Fix/enable eslint 'array-bracket-spacing'
https://eslint.org/docs/rules/array-bracket-spacing
2018-01-25 19:15:57 +00:00
Ed Morley 820c6cf47c Bug 1432840 - Fix/enable eslint 'no-extra-semi'
https://eslint.org/docs/rules/no-extra-semi
2018-01-25 19:15:57 +00:00
Ed Morley 0ebe066b17 Bug 1432840 - Fix/enable eslint 'prefer-spread'
https://eslint.org/docs/rules/prefer-spread
2018-01-25 19:15:57 +00:00
Ed Morley 2bd61a8da5 Bug 1432840 - Fix/enable eslint 'import/first'
https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/first.md
2018-01-25 19:15:57 +00:00
Ed Morley 710b08b53a Bug 1432840 - Fix/enable eslint 'import/prefer-default-export'
The rule has been disabled in `constants.js`, since there will soon
be other exports in that file, so we don't want a default export.

https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/prefer-default-export.md
2018-01-25 19:15:57 +00:00
Ed Morley 6318a89b91 Bug 1432840 - Fix/enable eslint 'import/no-named-as-default'
In `configureStore.js` the same object was being exported twice, once
as the default export and once as a named export. Since default exports
are preferred if there is only one export in a file, I've removed the
named import and left the default one.

In `Groups.jsx` the `Groups` class was exported but unused, so has
been adjusted to no longer be exported, so the `App.jsx` import
doesn't trigger the warning:
`import Groups from './Groups';`

See:
https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-named-as-default.md
2018-01-25 19:15:57 +00:00
Ed Morley 0cbdc69c08 Bug 1432840 - Fix/enable eslint 'no-restricted-properties'
https://eslint.org/docs/rules/no-restricted-properties

The AirBnB preset has configured `Math.pow` as restricted:
https://github.com/airbnb/javascript/blob/eslint-config-airbnb-v15.1.0/README.md#es2016-properties--exponentiation-operator

Also rewrites the `ui/services/perf/math.js` to use arrow notation.
2018-01-25 19:15:57 +00:00
Ed Morley c58710501e Bug 1432840 - Fix/enable eslint 'no-useless-constructor'
https://eslint.org/docs/rules/no-useless-constructor
2018-01-25 19:15:57 +00:00
Ed Morley bc3b957953 Bug 1432840 - Fix/enable eslint 'no-useless-return'
https://eslint.org/docs/rules/no-useless-return
2018-01-25 19:15:57 +00:00
Ed Morley 6f8d1bcf3f Bug 1432840 - Fix/enable eslint 'react/jsx-closing-bracket-location'
https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-closing-bracket-location.md
2018-01-25 19:15:57 +00:00
Ed Morley 1ad475fdc8 Bug 1432840 - Fix/enable eslint 'react/jsx-tag-spacing'
https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-tag-spacing.md
2018-01-25 19:15:57 +00:00
Ed Morley 50bca843a9 Bug 1432840 - Fix/enable eslint 'react/self-closing-comp'
https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/self-closing-comp.md
2018-01-25 19:15:57 +00:00
Ed Morley d85f504839 Bug 1432840 - Fix/enable eslint 'react/jsx-wrap-multilines'
https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-wrap-multilines.md
2018-01-25 19:15:57 +00:00
Ed Morley 35ae7d6017 Bug 1432840 - Fix/enable eslint 'react/jsx-curly-spacing'
https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-curly-spacing.md
2018-01-25 19:15:57 +00:00
Ed Morley c6fd3a6aa6 Bug 1432840 - Fix/enable eslint 'react/sort-comp'
https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/sort-comp.md
2018-01-25 19:15:57 +00:00
Ed Morley 40c4ff5b29 Bug 1432840 - Fix/enable eslint 'react/jsx-boolean-value'
https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-boolean-value.md
2018-01-25 19:15:57 +00:00
Ed Morley 704a84655f Bug 1432840 - Fix/enable eslint 'jsx-a11y/alt-text'
https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/alt-text.md
2018-01-25 19:15:57 +00:00
Ed Morley 87a7f7373f Bug 1432840 - Fix/enable eslint 'jsx-quotes'
https://eslint.org/docs/rules/jsx-quotes
2018-01-25 19:15:57 +00:00
Ed Morley 3ad9264308 Bug 1432840 - Fix/enable eslint 'react/jsx-filename-extension'
https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-filename-extension.md
2018-01-25 19:15:57 +00:00
Jonathan French 7c20363e48 Switch to ES6 arrow functions in more places (#3169) 2018-01-25 18:21:52 +00:00
Jonathan French 247e1b980c Bug 1053203 - Remove builds and tests tables from user guide (#3164) 2018-01-25 11:54:59 +00:00
Ed Morley dd3de28f4d Bug 1364894 - Ensure revision.txt exists in development too
Currently `revision.txt` only exists on Heroku, since it's generated
by the Heroku-only `post_compile` script, just prior to `yarn build`.

However this means:
* HTTP 404s of `revision.txt` are seen in the browser console when
  developing locally, which gives the appearance of something being
  broken, even though it's not.
* when we convert the wildcard `CopyPlugin` rule to an explicit list
  of files to copy (in a later commit), it will cause errors when
  building locally, since `CopyPlugin` expects all declared files
  to exist.

Adding a placeholder file prevents both of the above.
2018-01-24 23:43:58 +00:00
Ed Morley 9bc2752c96 Bug 1364894 - Use imports for images in thFavicons
This ensures that webpack knows they are a dependency, meaning:
* no need to manually copy them to `dist/img/` using `CopyPlugin`
  (the wildcard copy rules will be cleaned up in a later commit)
* they are inlined as a base64 encoded data URI by `url-loader`.

The changes to `thFaviconLink` are required to prevent:
```
Error: [$interpolate:interr] Can't interpolate: {{favicon}}
Error: [$sce:insecurl] Blocked loading resource from url not allowed
by $sceDelegate policy.  URL: data:image/png;base64,...
```

Which are due to AngularJS not trusting data URIs by default. See:
https://docs.angularjs.org/error/$sce/insecurl
2018-01-24 23:43:58 +00:00
Ed Morley 49339088f6 Bug 1364894 - Load HTML with html-loader not raw-loader
Neutrino 4 configures `file-loader` as the loader for HTML (rather than
the more usual `html-loader`), which means the HTML is not parsed to
look for further dependencies such as `<img src="...">` tags. Our
custom Neutrino config overrode that to `raw-loader` (presumably to
work around bugs caused by the use of `file-loader`), which doesn't
parse HTML either.

Instead, these assets were being manually copied to `dist/img/` by
`neutrino-custom/production.js`'s `CopyPlugin` rule, effectively
circumventing the webpack build process.

Newer Neutrino correctly uses `html-loader`, causing our HTML to be
parsed during the webpack build for the first time. However now that
the images are being resolved at build time rather than runtime, the
relative paths need to be updated to account for the directory layout
differences between `src/` and `dist/`, to prevent build errors.

A significant benefit of this change is that images referenced from
HTML will now be output with hashed filenames, meaning they get given
long-lived `Cache-Control` headers by WhiteNoise.

See:
https://webpack.js.org/loaders/file-loader/
https://webpack.js.org/loaders/raw-loader/
https://webpack.js.org/loaders/html-loader/
2018-01-24 23:43:58 +00:00
Ed Morley 1379746345 Bug 1364894 - Remove unused support for .tmpl partials
The last `.tmpl` file was removed in #2786. The `test` regex in
`neutrino-custom/base.js` has been removed entirely, since without
the `.tmpl` extension it would be no different from the default:
https://github.com/mozilla-neutrino/neutrino-dev/blob/v4.2.0/packages/neutrino-preset-web/src/index.js#L66
2018-01-24 23:43:58 +00:00
Cameron Dawson 4d906bbead Fix benign JS exception when filtering 2018-01-24 08:47:59 -08:00
Vincenzo Scalzi bcb4011bb9 1413156 - Transfer lodash functions to ES6: includes, indexOf & compact
- includes -> indexOf === -1
- indexOf -> indexOf
- compact -> filter(v => v)
2018-01-22 17:19:13 -08:00
Jonathan French 2b826994ea Bug 1429922 - Return tooltip to backfill menu 2018-01-22 13:25:23 -08:00
Hassan Ali 0acc243fc0 Link machine ID to worker explorer
Presently, when the build system of a job is buildbot, there is a hyper
link on the machine name that takes a user to the slave health
dashboard. When a job runs outside of buildbot, there is a worker
explorer. A worker explorer shows information like most recent task IDs
claimed. Also, a user can perform actions on the machine if they own the
required scopes (e.g., quarantine & terminate instance). This commit
provides a shortcut to the worker explorer when the build system is not
buildbot.
2018-01-22 12:13:39 -08:00
Kartikaya Gupta 6a10bdf674 Bug 1430171 - Allow scrolling the shortcut table when viewing on smaller screens 2018-01-16 17:07:26 -08:00
Ed Morley a3d002c6ef
Bug 1428958 - Enable pre-assigning bindings mode for Perfherder (#3117)
AngularJS 1.6 made bindings no longer be pre-assigned by default,
which breaks Perfherder's compare view, since the controller relies
on the bindings being present at initialisation. Until it is adjusted
to use the new `$onInit()` method, the legacy mode has been re-enabled:
https://docs.angularjs.org/guide/migration#commit-bcd0d4
2018-01-09 16:31:05 +00:00
Sebastian Hengst e6017f74c9 Bug 1428088 - Make 'fixed by commit' autofill of revision work on Chrome (#3102) 2018-01-07 21:58:58 +00:00
Ed Morley b1f897a6bb
Bug 1428051 - Remove unused Angular DI parameters (#3101)
Found by adjusting the eslint `no-unused-vars` rule, changing the
`args` preference from `after-used` to `all`:
https://eslint.org/docs/rules/no-unused-vars.html#options

That rule is too noisy to enable by default. Ideally we could use the
AngularJS eslint plugin/config (which has specific rules for this),
but it's not compatible with latest eslint:
https://github.com/Gillespie59/eslint-plugin-angular/issues/490

Unless these DI parameters can have side-effects I'm not aware of,
this change should be reasonably safe, since eslint's `no-undef` rule
will error if anything was removed that was being directly referenced.
2018-01-07 20:40:17 +00:00
Cameron Dawson cb8ae4fba0
Bug 1409679 - On-demand bug suggestion fetch in test-view (#3104) 2018-01-05 11:29:06 -08:00
Ed Morley 3ada44e019 Bug 1364888 - Upgrade to AngularJS 1.6
The previous commit switched us away from the deprecated `$http`
callback methods, meaning the only other breaking change that affects
us is the `hashPrefix` change, which we revert by manually setting
it back to the empty string, so that existing URLs still work:
https://docs.angularjs.org/guide/migration#commit-aa077e8

For more details, see:
https://docs.angularjs.org/guide/migration#migrating-from-1-5-to-1-6
https://github.com/angular/angular.js/blob/master/CHANGELOG.md#160-rainbow-tsunami-2016-12-08

Closes #3044.
2018-01-05 11:13:58 +00:00
Ed Morley 27e516ff4e Bug 1364888 - Stop using deprecated $http callback methods
Angular v1.4.4 deprecated `$http`'s `.success()` and `.error()`
callbacks in favour of `.then()` and `.catch()`. The deprecated forms
are finally removed in Angular 1.6, so we need to stop using them:
https://docs.angularjs.org/guide/migration#-http-
2018-01-05 11:13:58 +00:00
Jonathan French 0b31c14d30 No Bug - Remove unused dependencies thServiceDomain, thResultStatusObject 2018-01-03 16:39:26 -08:00
Ed Morley a83ee853c7
Bug 1427295 - Remove unused angular-cookies (#3076)
Since we don't use any of the functionality provided by it:
https://docs.angularjs.org/api/ngCookies#module-components
2018-01-04 00:25:32 +00:00
Sebastian Hengst 4a41d0adb1 Bug 1427752 - Bug filer: Don't auto-block the stylo-bustage metabug (#3097) 2018-01-03 15:52:22 +00:00
Ed Morley b615b12d7b
Bug 1427655 - Un-vendor flot and its plugins (#3095)
It wasn't unvendored at the time of the switch to Neutrino/webpack
due to the official `flot` NPM package being out of date. However
there are now unofficial up to date flot packages on NPM that we can
use instead - which avoids the clutter and grep false-positives of
vendoring.

I've diffed the vendored files with those in `jquery.flot` and they
are identical, so this change should be a no-op in terms of
functionality.
2018-01-03 15:40:02 +00:00
Ed Morley d38d2d475c
Bug 1427615 - Un-vendor angular-clipboard (#3092)
The issue seen with the old Grunt+babel build process no longer
occurs, so we don't need the modified vendored version. As an added
bonus, the upstream version supports the ES6 import style which we
want to start using soon:
https://github.com/omichelsen/angular-clipboard#use-with-a-module-loader
2018-01-03 15:18:40 +00:00
Tom Prince 186c93bb12 Bug 1409679 - Temporarily comment out link to test-based view (#3080)
Since the GraphQL API is disabled due to performance impact on other
web requests, which means the test based view isn't able to load.
2017-12-31 16:06:46 +00:00
Ed Morley 2c93921725
Revert "Update hawk from v6.0.2 to v7.0.5 (#3049)" (#3066)
This reverts commit b37ef957a2.

There appears to be a bug with the webpack module resolution, such that Treeherder's upgraded Hawk 7 is being used by taskcluster-client, even though that has a separate dependency on Hawk 6, and so should be using its own copy of Hawk.

For now, let's roll back to Hawk 7 for Treeherder's direct dependency (used by the login flow), to work around this.
2017-12-21 21:06:45 +00:00
Rob Wood 982ec2d99b Bug 1426197 - Have the compare result link open perfherder in a new tab (#3036) 2017-12-21 13:09:01 -05:00
William Lachance 0c81ed8e76 Bug 1328985 - Remove project_specific_id compatibility shim (#3030) 2017-12-21 00:37:07 +00:00
Sarah Clements 4b9cb14ad9 Bug 1424091 - convert annotations panel to a react component 2017-12-20 10:45:34 -08:00
Ed Morley b37ef957a2 Update hawk from v6.0.2 to v7.0.5 (#3049)
Has to adjust Hawk.client.header() usage for Hawk v8 API:
f72cdeafd1 (diff-04c6e90faac2675aa89e2176d2eec7d8L174)

And also now import the non-dist/minified build, to work around:
https://github.com/hueniverse/hawk/issues/223
2017-12-20 15:36:30 +00:00
Jonathan French 343c0295ae Bug 1422208 - Stop the watched repo dropdown clipping off screen 2017-12-19 11:27:22 -08:00
staktrace b729b3e427 Bug 1425477 - Clean up QuantumRender platform labels (#3034) 2017-12-15 11:23:55 -06:00
Cameron Dawson a7e4848aad
Bug 1366909 - Merge Test view app into Treeherder repository (#3001)
Modify the code to:
* share assets and global settings wherever possible
* update links going both directions
* other small UI tweaks for uniformity with Treeherder
* Fixed a few routing dead-ends on the react side
* Removed the dead TestDetail file we weren't using anyway
* fix production domain urls
2017-12-14 08:03:32 -08:00
Sarah Clements 22e45576f6 Bug 1419612 - convert failure summary panel to react components (#2999) 2017-12-07 17:33:54 -08:00
Jonathan French 2c3b9b7370 Bug 1421107 - Stop perf tab wrapping at narrower widths 2017-12-07 11:32:18 -08:00
Ed Morley 958cc079a7
Bug 1419957 - Remove old style backfill/add new job features (#2982)
Since everything but standard retrigger/cancellation is now handled
client-side by tcactions, making the backend parts that provided pulse
messages to pulse_actions redundant (since it was decommissioned in
bug 1379172).
2017-12-05 22:42:06 +00:00
William Lachance b1d8fd4e19
Bug 1421809 - Shorten perfherder graph urls when datapoint is selected (#3002)
This also fixes linking to specific datapoints on the graph from the job
detail view, which was broken. Note that the links are not backwards
compatible, but people linking to selected datapoints in graphs is pretty
rare (and the links are highly time-sensitive in any case).
2017-12-01 14:26:44 -05:00
Jonathan French ef83e3d41b Bug 1419994 - Fix failure Summary pin icon width 2017-11-28 13:53:05 -08:00
Ed Morley 658b99bcbd
Bug 1421111 - Use double digit hours in UI datetimes (#2994)
This changes the times shown in the UI to be padded with a leading
zero if the hour is only a single digit (ie between midnight and 10am).
This fixes the test failure in `test_open_single_result()`, since
that expects the hour to use padding.
2017-11-28 15:00:21 +00:00
Ed Morley f7f38ef4d0
Bug 1257602 - Remove support for revision_hash (#2983)
Now that no submissions are using revision_hash, it can be removed.
This removes everything but the model field, which will be handled
later.

I've removed revision_hash from the Pulse jobs schema without bumping
the version, which wouldn't normally be ok, but no one is still using
it, and I'd rather have explicit failures later than if we left the
schema unchanged.
2017-11-28 00:09:17 +00:00
William Lachance 539941c978
Bug 1416870 - Always use abbreviated mode for calculating performance test name (#2991)
This means we no longer display tests as being a "summary" in the
test chooser (you can generally figure that out by noticing that there
is no subtest specified).
2017-11-27 16:14:15 -05:00
Ed Morley 1eec0c81b8
Bug 1419965 - Remove the estimated job time remaining UI (#2977)
This just removes the UI of this mostly broken feature, to see what
response we get, before we remove the API/data ingestion/DB parts.
2017-11-27 16:50:20 +00:00
William Lachance 16b37a92fd
Bug 1419846 - Move tier menu to top (#2974) 2017-11-27 11:43:12 -05:00
Jonathan French 92a2d66778 Bug 1419966 - Angularize start/end query examples in the User Guide 2017-11-27 08:27:03 -08:00
Jonathan French 09b106fd1a Bug 1419923 - Pull unimplemented F1 key from shortcut table (#2975) 2017-11-22 21:14:39 +00:00
Cameron Dawson 4c2fdfeedb Bug 1418286 - Fix bolding of common terms in bug suggestions on Windows
Windows can show double-bolding with "font-weight: bolder".  But our
logic for highlighting common terms sometimes adds nested <strong>
elements due to substrings.  This makes them all just "bold" regardless
of how much they're nested.
2017-11-22 08:48:44 -08:00
Cameron Dawson 757b6cf0f1 Bug 1419514 - Fix odd scrolling over bug suggestions 2017-11-21 16:14:56 -08:00
Jonathan French 029c035c47 Bug 1417666 - Improve field filter clearing workflows 2017-11-21 16:11:26 -08:00
CatEars 4b442b427c Bug 1413156 - Remove lodash forEach usage for arrays (#2921) 2017-11-21 15:55:18 -08:00
Tom Prince 1e3b02bca1 Remove and update some broken infra menu links (#2965) 2017-11-20 19:34:28 +00:00
Cameron Dawson c583c5b127 Bug 1418505 - Make filtered unclassified count visible again
This was broken by the Bootstrap 4 upgrade and I missed it.
2017-11-17 14:23:35 -08:00
Joel Maher 983e9007e0 Revert "Bug 1416870 - Always use abbreviated mode for calculating performance test name" (#2960)
This reverts commit aa270ca5d9.
2017-11-17 14:08:31 +00:00
Jonathan French cc61d2acc7 Bug 1408671 - Display job field filter classification by name not id 2017-11-16 17:30:16 -08:00
Sarah Clements 81a7713571 Bug 1409892 - Create components to migrate job info left pane to React (#2913) 2017-11-16 15:00:37 -08:00
Justin Pumford 7fb5942053 Bug 1413156 - Fix eslint "array-callback-return" error (#2957)
Avoids an implicit return value of `undefined`, which would cause
one of the new eslint rules in bug 1364894 to fail.
2017-11-16 22:50:12 +00:00
Jonathan French ec10d3364d Revert "Bug 1408671 - Display job field filter classification by name not id (#2922)" (#2955)
This reverts commit 94739118f9.
2017-11-16 22:11:39 +00:00
Joel Maher 776d3329e8
Bug 1416347 - in compare view, add the ability to quickly determine the noise difference between both revisions (#2946) 2017-11-16 10:25:04 -05:00
Jonathan French 94739118f9 Bug 1408671 - Display job field filter classification by name not id (#2922) 2017-11-15 08:51:46 -08:00
William Lachance aa270ca5d9 Bug 1418670 - Always use abbreviated mode for calculating performance test name
This means we no longer display tests as being a "summary" in the
test chooser (you can generally figure that out by noticing that there
is no subtest specified).
2017-11-14 14:16:33 -05:00
William Lachance f957f49256 Bug 1416870 - Remove duplicate options when calculating test name in test data chooser
E.g. there is no need to show "asan asan"
2017-11-14 14:16:33 -05:00
William Lachance e54fcfcb30 Bug 1416870 - Use a smaller font size for the test chooser 2017-11-14 14:16:33 -05:00
Justin Pumford 797f4b55d3 Bug 1413156 - remove typographical error in migration to es6
When moving a _.filter() function to Array.filter(), an
"s" was left out throwing a type error. $scope.highlightedRevision
should have been $scope.highlightedRevisions
2017-11-14 10:53:51 -08:00
Justin Pumford a0b606933b Bug 1413156 - refactor _.filter to es6 array.filter
Remove existing lodash filter function and replace with
es6's array.filter(). Some whitespace changes were
made for clarity or because the linter got upset.
2017-11-14 10:53:51 -08:00
Cameron Dawson 97076b338d Bug 1364891 - Update from React 15.3 to 15.6
Also upgrade Enzyme from 2.7.1 to 3.1.1

Most notable change here is that React.PropTypes is now
moved to a separate package and referenced just by
PropTypes.  So this needed some import and linting changes.
2017-11-14 09:59:24 -08:00
Cameron Dawson 824ac72e96 Bug 1367446 - Make log accessible when zoomed to large fonts 2017-11-14 09:43:00 -08:00
William Lachance e513dd9a2e
Bug 1265709 - Reference perf signatures by id instead of hash where possible (#2926)
* Make the performance data api accept signature id as input
* Rewrite most of the frontend to use that API in preference to passing
  in signature hashes
* Correspondingly increase the chunks of comparison data we fetch
  at once
2017-11-13 10:47:27 -05:00
Cameron Dawson 51dc3cc938 Bug 1408100 - Upgrade to Bootstrap 4
This adds the upgrade to Bootstrap 4, and some basic changes and
some CSS tweaks we needed to keep out UI consistent.

The simpler changes are things like:

* Classes that were renamed
* Adding classes that are now needed (dropdown-item, etc)
* Change an item from a button to a span
* Changing order of items (modal header close button, etc)
* CSS class syntax changes

The other changes are lots of CSS padding, margin, font and
other spacing tweaks.
2017-11-09 11:12:09 -08:00
Cameron Dawson 008cf0ee51 Bug 1408100 - Add styling classes that won't exist in Bootstrap 4
These styling classes are still backward-compatible with BS-3
But remove some noise from the later commits.
2017-11-09 11:12:09 -08:00
Cameron Dawson f028ec1d08 Bug 1408100 - Switch from glyphicons to fontawesome
Bootstrap 4 no longer contains Glyphicons by default, so if we switch
to Font Awesome, then that's one less set of icons we need to download.
2017-11-09 11:12:09 -08:00
Cameron Dawson 2bfb4da40f Bug 1408100 - Some trivial syntax and typo fixes 2017-11-09 11:12:09 -08:00
Tom Prince 073d551e12 Get runnable jobs from current decision task on every project (#2912) 2017-11-07 12:46:08 +00:00
William Lachance 117bfd6201
Bug 1414312 - Fix perfherder textual alert summary copy function on recent Firefoxen (#2910)
It used toLocaleFormat, which was never standard and seems to no longer be defined
in recent Firefox versions. Use toUTCString instead, which seems to be available
everywhere.
2017-11-03 12:56:33 -04:00
Sarah Clements dfcb18f840 Bug 1152389 - Reconcile pinboard count error messages (#2848) 2017-11-01 16:51:34 -07:00
Amy YY Chan 32c549dc28 Bug 1328710 - Enable sandboxing for the logviewer iframe (#2867)
To improve security. 

See:
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-sandbox
https://www.html5rocks.com/en/tutorials/security/sandboxed-iframes/
2017-10-30 12:06:14 +00:00
Cameron Dawson 1c4ee76326 Bug 1412093 - Fix thNotify when selected job not in range of pushes 2017-10-26 15:28:37 -07:00
William Lachance 903bc52554 Very minor formatting cleanups in perfherder replicate comparison view (#2880) 2017-10-25 18:29:26 -04:00
Ed Morley 55e83c1124 Bug 1384255 - Improve the documentation of cache-template.js (#2862) 2017-10-21 16:27:08 +01:00
William Lachance 8797a17998 fix typo (#2859) 2017-10-20 22:41:38 +02:00
William Lachance d1195755e0 Bug 1408912 - For interval based comparison, use time from when new push was sent
It is less likely to produce weird results than if we use results from the
present, which rapidly change.
2017-10-20 16:31:53 -04:00
William Lachance e6d4f1a4aa Bug 1408912 - Clean up the perfherder compare code a bunch 2017-10-20 16:31:53 -04:00
Cameron Dawson f04aa9814e Bug 1409381 - Fix thNotify when last param is omitted
Now it is checking for ``undefined`` when the last param
was omitted and assigns it an empty object value.
2017-10-17 13:09:04 -07:00
Sarah Clements 6a7b7a3def Bug 1406465 - removed focus when quick-filter input is cleared 2017-10-17 12:50:13 -07:00
Jonathan French ab8e99a22a Bug 1407906 - Make the filter by job field icon a toggle 2017-10-17 10:45:27 -07:00
Kiki b4583e1dc1 Bug 1376506 - Make job row contents flush left like they used to be (#2834) 2017-10-17 10:41:30 -07:00
Jonathan French 2306bbe5e8 Bug 1408496 - Fix duplicate push Author filter bar values 2017-10-13 14:59:39 -07:00
Jonathan French df56f2c4c4 Bug 1407807 - Remove Tier as a choice from the job filter field dropdown 2017-10-13 10:43:16 -07:00
Kiki 55ad96672b Bug 1062463 - Correctly highlight/select jobs when adding to pinboard 2017-10-13 09:41:45 -07:00
Jonathan French 6c9348beb0 Bug 1407775 - Improve the layout and info in the job filters bar 2017-10-11 15:09:47 -07:00
Brian Stack 30f06d36bc Bug 1402062 - Switch thNotify api to have named options (#2783)
* Bug 1402062 - Switch thNotify api to have named options

* Bug 1402062 - Update all uses of sticky to new-style
2017-10-10 08:35:44 -07:00
Cameron Dawson e04a9afe65 Bug 1202003 - Make filter panel into a regular menu
Now that field filters are handled on the Active Filters bar,
we can make the filter panel into a menu.
2017-10-09 11:29:39 -07:00
AlinSelagea f0183ab939 Bug 1404303 - Fix UI definition for 'windows10-64-stylo-disabled' (#2811) 2017-10-06 11:16:49 +01:00
AlinSelagea 66e7a28b1b Bug 1404303 - Add support for stylo-disabled test jobs (#2808) 2017-10-05 16:30:20 +01:00
Ed Morley 7233dfd46f Bug 1364894 - eslint --fix for wrap-iife
https://eslint.org/docs/rules/wrap-iife
https://github.com/airbnb/javascript#functions--iife
2017-10-03 17:48:34 +01:00