diff --git a/data/core.yaml b/data/core.yaml
index 9f9d8b8e5..f7e7e49d8 100644
--- a/data/core.yaml
+++ b/data/core.yaml
@@ -891,11 +891,11 @@ en:
title: 'Website issue'
description: 'There is an unspecified issue with a contact website or URL.'
411:
- description: 'The URL {var1} cannot be opened (HTTP status code {var2}).'
+ description: '{var1} may have an outdated URL: {var2} returned HTTP status code {var3}.'
412:
- description: 'Possible domain squatting: The URL has suspicious text: "{var1}".'
+ description: '{var1} may have an outdated URL: {var2} contained suspicious text "{var3}".'
413:
- description: 'Possible non-match. Content of the URL did not contain these keywords: ({var1}).'
+ description: '{var1} may have an outdated URL: {var2} did not contain keywords "{var3}".'
streetside:
tooltip: "Streetside photos from Microsoft"
title: "Photo Overlay (Bing Streetside)"
diff --git a/data/keepRight.json b/data/keepRight.json
index 519a2f24d..52967eb7a 100644
--- a/data/keepRight.json
+++ b/data/keepRight.json
@@ -475,20 +475,23 @@
"411": {
"title": "http error",
"severity": "error",
- "description": "The URL ($1) cannot be opened (HTTP status code $2)",
- "regex": "href=(.+)>\\1\\) cannot be opened \\(HTTP status code (\\d+)\\)"
+ "description": "The URL ($1) cannot be opened (HTTP status code $2)",
+ "IDs": ["this", "url", ""],
+ "regex": "(this feature)~.+ href=([^>]+)>.+ code (\\d+)\\)"
},
"412": {
"title": "domain hijacking",
"severity": "error",
- "description": "Possible domain squatting: $1. Suspicious text is: \"$2\"",
- "regex": "Possible domain squatting: \\1\\. Suspicious text is: "(.+)""
+ "description": "Possible domain squatting: $1. Suspicious text is: \"$2\"",
+ "IDs": ["this", "url", ""],
+ "regex": "(this feature)~.+ href=([^>]+)>.+ is: "(.+)""
},
"413": {
"title": "non-match",
"severity": "error",
- "description": "Content of the URL ($1) did not contain these keywords: ($2)",
- "regex": "Content of the URL (\\1) did not contain these keywords: \\((.+)\\)"
+ "description": "Content of the URL ($1) did not contain these keywords: ($2)",
+ "IDs": ["this", "url", ""],
+ "regex": "(this feature)~.+ href=([^>]+)>.+ keywords: \\((.+)\\)"
}
}
}
diff --git a/dist/locales/en.json b/dist/locales/en.json
index 846ba412d..0973332bd 100644
--- a/dist/locales/en.json
+++ b/dist/locales/en.json
@@ -1097,13 +1097,13 @@
"description": "There is an unspecified issue with a contact website or URL."
},
"411": {
- "description": "The URL {var1} cannot be opened (HTTP status code {var2})."
+ "description": "{var1} may have an outdated URL: {var2} returned HTTP status code {var3}."
},
"412": {
- "description": "Possible domain squatting: The URL has suspicious text: \"{var1}\"."
+ "description": "{var1} may have an outdated URL: {var2} contained suspicious text \"{var3}\"."
},
"413": {
- "description": "Possible non-match. Content of the URL did not contain these keywords: ({var1})."
+ "description": "{var1} may have an outdated URL: {var2} did not contain keywords \"{var3}\"."
}
}
}
diff --git a/modules/services/keepRight.js b/modules/services/keepRight.js
index 4b5036c5f..d0b3c3304 100644
--- a/modules/services/keepRight.js
+++ b/modules/services/keepRight.js
@@ -135,6 +135,10 @@ function parseError(capture, idType) {
capture = linkErrorObject(capture);
break;
+ case 'url':
+ capture = linkURL(capture);
+ break;
+
// link an entity ID
case 'n':
case 'w':
@@ -171,6 +175,10 @@ function parseError(capture, idType) {
return '' + d + '';
}
+ function linkURL(d) {
+ return '' + d + '';
+ }
+
// arbitrary node list of form: #ID, #ID, #ID...
function parse211(capture) {
var newList = [];
@@ -341,6 +349,11 @@ export default {
case '300':
props.description = 'This highway is missing a maxspeed tag';
break;
+ case '411':
+ case '412':
+ case '413':
+ props.description = 'This feature~' + props.description;
+ break;
}
// - move markers slightly so it doesn't obscure the geometry,