From 183de623b39bb144dca4036868aaadbd54712d29 Mon Sep 17 00:00:00 2001 From: Staf Smith Date: Tue, 9 Apr 2024 12:17:22 +0800 Subject: [PATCH 1/6] Implement a useful title for user feedback tickets. --- lib/controllers/feedback.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/controllers/feedback.js b/lib/controllers/feedback.js index dae3f042..4ae71e02 100644 --- a/lib/controllers/feedback.js +++ b/lib/controllers/feedback.js @@ -24,7 +24,7 @@ module.exports = function(options) { 'Authorization': `token ${options.accessToken}` }, body: JSON.stringify({ - title: parameters.title ? parameters.title : 'User Feedback', + title: parameters.title || `User Feedback: ${parameters.comment || parameters.name || 'no description'}`, body: formatBody(req, parameters, options.additionalParameters) }) }, function(error, response, body) { From 0b08e8ac100eebe2cb1f57bf5ab6363a44a2316c Mon Sep 17 00:00:00 2001 From: Staf Smith Date: Tue, 9 Apr 2024 12:20:21 +0800 Subject: [PATCH 2/6] Limit the title to 256 characters to please Github --- lib/controllers/feedback.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/controllers/feedback.js b/lib/controllers/feedback.js index 4ae71e02..6287ef10 100644 --- a/lib/controllers/feedback.js +++ b/lib/controllers/feedback.js @@ -24,7 +24,7 @@ module.exports = function(options) { 'Authorization': `token ${options.accessToken}` }, body: JSON.stringify({ - title: parameters.title || `User Feedback: ${parameters.comment || parameters.name || 'no description'}`, + title: (parameters.title || `User Feedback: ${parameters.comment || parameters.name || 'no description'}`).slice(0, 256), // limit the title to 256 characters body: formatBody(req, parameters, options.additionalParameters) }) }, function(error, response, body) { From 258f8be72c1a2b8efa75049e0e5dfa7f010662e9 Mon Sep 17 00:00:00 2001 From: Staf Smith Date: Fri, 12 Apr 2024 07:11:14 +0800 Subject: [PATCH 3/6] Modify to include referrer as fallback --- lib/controllers/feedback.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/controllers/feedback.js b/lib/controllers/feedback.js index 6287ef10..67438c7d 100644 --- a/lib/controllers/feedback.js +++ b/lib/controllers/feedback.js @@ -24,7 +24,7 @@ module.exports = function(options) { 'Authorization': `token ${options.accessToken}` }, body: JSON.stringify({ - title: (parameters.title || `User Feedback: ${parameters.comment || parameters.name || 'no description'}`).slice(0, 256), // limit the title to 256 characters + title: (parameters.title || `User Feedback: ${parameters.comment || request.header('Referrer')}`).slice(0, 256), // limit the title to 256 characters body: formatBody(req, parameters, options.additionalParameters) }) }, function(error, response, body) { From 41d554123d1441e77998f134da44f3a716f821f2 Mon Sep 17 00:00:00 2001 From: Staf Smith Date: Fri, 12 Apr 2024 07:59:05 +0800 Subject: [PATCH 4/6] Update readme and example config to clarify some issues I had getting running quickly --- README.md | 3 +++ serverconfig.json.example | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 800ae136..a00a139c 100644 --- a/README.md +++ b/README.md @@ -73,6 +73,9 @@ To run the server in the foreground, you can do this: `node . [arguments as above]` +NB: You may need to change the `issuesUrl` in serverconfig.json if the issues repo has been moved. +You may need to comment out the `https` block in serverconfig.json to prevent the application looking for keys if you are just testing locally and not transferring sensitive data. + #### Tests 1. Run `npm test` diff --git a/serverconfig.json.example b/serverconfig.json.example index 8576a148..5f174f6b 100644 --- a/serverconfig.json.example +++ b/serverconfig.json.example @@ -88,7 +88,7 @@ // And creates a GitHub issue based on the feedback. feedback: { userAgent: "TerriaBot (TerriaJS Feedback)", - issuesUrl: "https://api.github.com/repos/TerriaJS/NationalMap-Feedback/issues", + issuesUrl: "https://api.github.com/repos/TerriaJS/saas-feedback/issues", accessToken: "provide your GitHub access token here", // Add additional suported feedback parameters if required on a custom feedback form. // name gives the key that the parameter uses and descriptiveLabel is used as the title for the parameter in the GitHub issue description. From 14d01d725a79e297e598b88cc30189f863e49bd6 Mon Sep 17 00:00:00 2001 From: Staf Smith Date: Fri, 12 Apr 2024 08:11:10 +0800 Subject: [PATCH 5/6] Correctly refer to req object, limit to 128 chars --- lib/controllers/feedback.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/controllers/feedback.js b/lib/controllers/feedback.js index 67438c7d..53d68163 100644 --- a/lib/controllers/feedback.js +++ b/lib/controllers/feedback.js @@ -24,7 +24,7 @@ module.exports = function(options) { 'Authorization': `token ${options.accessToken}` }, body: JSON.stringify({ - title: (parameters.title || `User Feedback: ${parameters.comment || request.header('Referrer')}`).slice(0, 256), // limit the title to 256 characters + title: (parameters.title || `User Feedback: ${parameters.comment || req.header('Referrer')}`).slice(0, 128), // limit the title to 128 characters body: formatBody(req, parameters, options.additionalParameters) }) }, function(error, response, body) { From 4cb8bf1111d8a846e34ea5b79d7c0f636938a7dd Mon Sep 17 00:00:00 2001 From: Staf Smith Date: Mon, 15 Apr 2024 12:32:05 +0800 Subject: [PATCH 6/6] Add changelog --- CHANGES.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index 88af57b4..1c1da063 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,9 @@ ### Next version +### 4.0.1 + +* Use more descriptive title for Github issues generated from User Feedback. + ### 4.0.0 * Removed conversion service (no longer used in TerriaJS 8+).