| Index: appengine/swarming/elements/res/imp/common/common-behavior.html
|
| diff --git a/appengine/swarming/elements/res/imp/common/common-behavior.html b/appengine/swarming/elements/res/imp/common/common-behavior.html
|
| index e3be6b539fd213a57a6b87192bd2e37cfaafa761..60ad8b773a54cd4cfee025614c4d326b3e367bf0 100644
|
| --- a/appengine/swarming/elements/res/imp/common/common-behavior.html
|
| +++ b/appengine/swarming/elements/res/imp/common/common-behavior.html
|
| @@ -108,11 +108,19 @@
|
| return result;
|
| },
|
|
|
| - _taskLink: function(task_id) {
|
| - if (!task_id) {
|
| + _taskLink: function(taskId, disableCanonicalID) {
|
| + if (!taskId) {
|
| return undefined;
|
| }
|
| - return "/newui/task?id=" + task_id;
|
| + if (!disableCanonicalID) {
|
| + // task abcefgh0 is the "canonical" task id. The first try has the id
|
| + // abcefgh1. If there is a second (transparent retry), it will be
|
| + // abcefgh2. We almost always want to link to the canonical one,
|
| + // because the milo output (if any) will only be generated for
|
| + // abcefgh0, not abcefgh1 or abcefgh2.
|
| + taskId = taskId.substring(0, taskId.length - 1) + "0";
|
| + }
|
| + return "/newui/task?id=" + taskId;
|
| },
|
|
|
| // _timeDiffApprox returns the approximate difference between now and
|
|
|