From 76b04afca3591460b9f066339bb441a4f018aeca Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Mon, 7 Dec 2020 18:57:18 -0500 Subject: [PATCH] FIX: Local dates showed incorrect timezones with extra whitespace (#11408) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit You might wonder why this matters. It turns out in some locales like French, we replace quotation marks with « and » -- this should likely not happen before BBCode is parsed but that is not the case for this plugin. The plugin has code to handle this situation, but it means extra spaces are inserted around the time zone which breaks it. This fix allows us to supply extra whitespace and will show the correct time zone. --- .../lib/discourse-markdown/discourse-local-dates.js.es6 | 2 +- .../javascripts/acceptance/local-dates-composer-test.js.es6 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/discourse-local-dates/assets/javascripts/lib/discourse-markdown/discourse-local-dates.js.es6 b/plugins/discourse-local-dates/assets/javascripts/lib/discourse-markdown/discourse-local-dates.js.es6 index 8ea3c13a4a1..09eba6c2535 100644 --- a/plugins/discourse-local-dates/assets/javascripts/lib/discourse-markdown/discourse-local-dates.js.es6 +++ b/plugins/discourse-local-dates/assets/javascripts/lib/discourse-markdown/discourse-local-dates.js.es6 @@ -25,7 +25,7 @@ function addLocalDate(buffer, matches, state) { config.format = parsed.attrs.format; config.calendar = parsed.attrs.calendar; config.time = parsed.attrs.time; - config.timezone = parsed.attrs.timezone; + config.timezone = (parsed.attrs.timezone || "").trim(); config.recurring = parsed.attrs.recurring; config.timezones = parsed.attrs.timezones; config.displayedTimezone = parsed.attrs.displayedTimezone; diff --git a/plugins/discourse-local-dates/test/javascripts/acceptance/local-dates-composer-test.js.es6 b/plugins/discourse-local-dates/test/javascripts/acceptance/local-dates-composer-test.js.es6 index 8e2e9820561..bd0b79426ce 100644 --- a/plugins/discourse-local-dates/test/javascripts/acceptance/local-dates-composer-test.js.es6 +++ b/plugins/discourse-local-dates/test/javascripts/acceptance/local-dates-composer-test.js.es6 @@ -16,7 +16,7 @@ acceptance("Local Dates - composer", function (needs) { await fillIn( ".d-editor-input", - '[date=2017-10-23 time=01:30:00 displayedTimezone="America/Chicago" format="LLLL" calendar="off" recurring="1.weeks" timezone="Asia/Calcutta" timezones="Europe/Paris|America/Los_Angeles"]' + '[date=2017-10-23 time=01:30:00 displayedTimezone="America/Chicago" format="LLLL" calendar="off" recurring="1.weeks" timezone=" Asia/Calcutta" timezones="Europe/Paris|America/Los_Angeles"]' ); assert.equal(getAttr("date"), "2017-10-23", "it has the correct date");