Commit Graph

328 Commits

Author SHA1 Message Date
Robin Ward 09764291b1 FIX: In test mode, initializers were modifying classes over and over
This adds a new property, `pluginId` which you can pass to `modifyClass`
which prevent the class from being modified over and over again.

This also includes a fix for polls which was leaking state between tests
which this new functionality exposed.
2021-09-02 11:22:01 -04:00
Discourse Translator Bot c995b20ca4
Update translations () 2021-08-24 15:25:44 +02:00
Joffrey JAFFEUX 4ca34940d3
DEV: ensures container is not destroyed before showing tooltip ()
In fast tests it could results in an error.
2021-08-10 11:48:31 +02:00
Joffrey JAFFEUX 11668ee85b
PERF: generates dates tooltip on demand () 2021-08-04 16:28:07 +02:00
Joffrey JAFFEUX d23c0c06c3
PERF: reduces rendering time of local-dates ()
- prefers insertAdjacentHTML over innerHTML as it's much faster in this case (about 5x)
- memoizes tz.guess()
- memoizes list of timezones
- inlines template
- applies main element class in one pass

All in all for a very edge case of about 80 dates it should be faster of about 15/20ms.
2021-08-04 08:27:22 +02:00
Discourse Translator Bot 0c422cff1e
Update translations () 2021-07-30 11:30:10 +02:00
Discourse Translator Bot e951cb9aef
Update translations () 2021-07-27 15:24:03 +02:00
Discourse Translator Bot 3667cc6447
Update translations () 2021-07-22 12:31:19 +02:00
Discourse Translator Bot 28b5e6e47d
Update translations () 2021-07-21 10:30:34 +02:00
Discourse Translator Bot 53fe8b2e77
Update translations () 2021-07-13 20:30:09 +02:00
Jarek Radosz aa56e2a758
DEV: Don't use the Ember global () 2021-06-29 19:54:18 +02:00
Discourse Translator Bot 23930738a7
Update translations () 2021-06-29 16:02:02 +02:00
Discourse Translator Bot 252dd169a4
Update translations () 2021-06-22 15:21:20 +02:00
Robin Ward 77d33ebe21
FIX: Lots of plugin tests were using old, non-Ember compat CLI APIs () 2021-06-09 10:58:55 -04:00
Josh Soref 59097b207f
DEV: Correct typos and spelling mistakes ()
Over the years we accrued many spelling mistakes in the code base. 

This PR attempts to fix spelling mistakes and typos in all areas of the code that are extremely safe to change 

- comments
- test descriptions
- other low risk areas
2021-05-21 11:43:47 +10:00
Discourse Translator Bot 55611a5b80
Update translations () 2021-05-18 16:49:18 +02:00
Discourse Translator Bot 8ac184c636
Update translations () 2021-05-18 15:11:41 +02:00
Discourse Translator Bot 21c301aa72
Update translations () 2021-05-11 19:01:59 +02:00
Joffrey JAFFEUX d53307b141
UX: correctly shows outline around focused input time () 2021-04-26 11:05:46 +02:00
Discourse Translator Bot 606860e75a
Update translations () 2021-04-20 15:33:17 +02:00
Discourse Translator Bot 93f74add7d
Update translations () 2021-04-07 11:58:41 +02:00
Discourse Translator Bot bc88ea5976
Update translations () 2021-03-16 15:49:29 +01:00
Discourse Translator Bot 2757003ef1
Update translations () 2021-02-23 15:10:04 +01:00
Discourse Translator Bot f283bde25a
Update translations () 2021-02-16 15:24:37 +01:00
Discourse Translator Bot b3fa521bf4
Update translations () 2021-02-09 14:56:15 +01:00
Kris f1d5d2b134
REFACTOR: Convert buttons to flexbox () 2021-01-27 16:17:08 -05:00
Discourse Translator Bot 0e8c155b70
Update translations () 2021-01-20 22:58:26 +01:00
Discourse Translator Bot 440b63e833
Update translations () 2021-01-19 16:14:59 +01:00
Discourse Translator Bot 0e8e3f4813
Update translations () 2021-01-12 14:29:05 +01:00
Joffrey JAFFEUX 49f4c75080
FIX: recurring was not working for some cases (eg: hours and unit > 1) () 2021-01-07 12:21:51 +01:00
Joffrey JAFFEUX 8af6e72675
FIX: ensures recurring works when setting a start date in future () 2020-12-29 20:11:18 +01:00
Discourse Translator Bot 09f9d4b281
Update translations () 2020-12-29 19:44:53 +01:00
Discourse Translator Bot e113ddc73c
Update translations () 2020-12-22 14:49:40 +01:00
Roman Rizzi 142e0ae062
Revert "Revert "DEV: Wrap `Ember.run.debounce`. ()"" ()
* Revert "Revert "DEV: Wrap `Ember.run.debounce`. ()" ()"

This reverts commit aa0d4ea764.

* Correctly debounce onScroll function
2020-12-18 10:18:52 -03:00
Roman Rizzi aa0d4ea764
Revert "DEV: Wrap `Ember.run.debounce`. ()" ()
This reverts commit 8b426431a4.
2020-12-10 16:48:25 -03:00
Roman Rizzi 8b426431a4
DEV: Wrap `Ember.run.debounce`. ()
We want to wrap the `Ember.run.debounce` function and internally call `Ember.run` instead when running tests.

This commit changes discourseDebounce to work the same way as `Ember.run.debounce`.

Now that `discourseDebounce` works exactly like `Ember.run.debounce`, let's replace it and only use `DiscourseDebounce` from now on.

Move debounce to discourse-common to be able to reuse it in different bundles

Keep old debounce file for backwards-compatibility
2020-12-10 11:01:42 -03:00
Robin Ward 76b04afca3
FIX: Local dates showed incorrect timezones with extra whitespace ()
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.
2020-12-08 10:57:18 +11:00
Roman Rizzi bbe5d8d5cf
DEV: Sort imports alphabetically () 2020-12-01 15:31:26 -03:00
Discourse Translator Bot 7fecad41db
Update translations () 2020-11-17 14:49:58 +01:00
Discourse Translator Bot 886d619d3f
Update translations () 2020-11-03 18:08:07 +01:00
Jarek Radosz a17d54d0bf
DEV: De-arrowify tests ()
Using arrow functions changes `this` context, which is undesired in tests, e.g. it makes it impossible to setup things like pretender (`this.server`) in `beforeEach` hooks.

Ember guides always use classic functions in examples (e.g. https://guides.emberjs.com/release/testing/test-types/), and that's what it uses in its own test suite, as do various addons and ember apps.

It was also already used in Discourse where `this` was required. Moving forward, it will be needed in more places as we migrate toward ember-cli.

(I might later add a custom rule to eslint-discourse-ember to enforce this)
2020-10-30 17:37:32 +01:00
Robin Ward 435a9913a4 REFACTOR: Replace global `find` with `queryAll`
In newer Embers jQuery is removed. There is a `find` but it only returns
one element and not a jQuery selector. This patch migrates our code to a
new helper `queryAll` which allows us to remove the global.
2020-10-29 14:45:51 -04:00
Krzysztof Kotlarek dbec3792b7
FIX: pretty text allow list ()
Reword whitelist to allowlist in pretty-text.
This library is used by plugins so we need deprecation notice.
2020-10-28 13:22:06 +11:00
Robin Ward 1e4c0d1857 Remove more global variables from tests.
* Use `sinon` instead of `sandbox` and require an import.
* You need to import `currentURL` to use it.
2020-10-26 13:32:11 -04:00
Robin Ward 919f488358 REFACTOR: All remaining acceptance tests converted to new format
Also contains fixes to leaky state in pretender.
2020-10-23 09:28:13 -04:00
Joffrey JAFFEUX b6492356cb
FIX: removes duplicate “ and adds ‘ and ’ () 2020-10-23 10:35:43 +02:00
Joffrey JAFFEUX 6811902a70
FIX: converts “ and ” to " in local dates () 2020-10-21 17:16:36 +02:00
Joffrey JAFFEUX f4842ae283
FIX: attempts to convert french quotes to regular quotes in dates () 2020-10-21 16:36:51 +02:00
Discourse Translator Bot 7eef10c6d7
Update translations () 2020-10-17 00:07:21 +02:00
Discourse Translator Bot 85894537b1 Update translations 2020-10-13 15:40:37 +02:00
Robin Ward 3862036422 REFACTOR: Use imports for `sinon` and `setResolver`
I also took the opportunity with this commit to move some test specific
stuff out of `discourse-loader` which is loaded on the front end of the
application. The test module building now happens in the `test_helper`
bundle.
2020-10-09 13:54:54 -04:00
Robin Ward 71d37953d5 REFACTOR: Import `QUnit` and related helpers rather than globals
We used many global functions to handle tests when they should be
imported like other libraries in our application. This also gets us
closer to the way Ember CLI prefers our tests to be laid out.
2020-10-07 11:50:49 -04:00
Joffrey JAFFEUX 7b34433fc2
REVERT: revert change from action + mut to mut ()
* Revert "FIX: fixes regression where wizard dropdown couldn't update ()"

This reverts commit e3b2fc6074.

* Revert "DEV: replaces unecessary (action (mut .*)) by (mut .*) ()"

This reverts commit c0350dc362.
2020-10-06 23:50:05 +02:00
Joffrey JAFFEUX c0350dc362
DEV: replaces unecessary (action (mut .*)) by (mut .*) () 2020-10-06 17:17:45 +02:00
Discourse Translator Bot 29a9ae1b50 Update translations 2020-10-06 15:43:13 +02:00
Joffrey JAFFEUX e6821fbaae
DEV: fixes linting of hbs files in core plugins () 2020-10-05 14:42:36 +02:00
Robin Ward 23f24bfb51 REFACTOR: Move javascript tests inside discourse app
This is where they should be as far as ember is concerned. Note this is
a huge commit and we should be really careful everything continues to
work properly.
2020-10-02 11:29:36 -04:00
Discourse Translator Bot ecfca965f2 Update translations 2020-09-29 13:01:52 +00:00
Joffrey JAFFEUX 2b254f4305
FIX: removes time from date in calendar range at midnight () 2020-09-28 10:39:21 +02:00
Discourse Translator Bot 6734a82260 Update translations 2020-09-16 10:17:56 +00:00
Discourse Translator Bot 44aac1b44b Update translations 2020-09-16 04:27:51 +00:00
Discourse Translator Bot 5990c71c29 Update translations 2020-09-15 13:04:17 +00:00
Discourse Translator Bot 1c71f81144 Update translations 2020-09-09 14:59:40 +00:00
Joffrey JAFFEUX 110f6ec6dd
DEV: fixes eslint/prettier on github actions () 2020-09-04 20:01:14 +02:00
Joffrey JAFFEUX bf88410126
DEV: apply coding standards to plugins () 2020-09-04 13:51:53 +02:00
Discourse Translator Bot 71da5e0e27 Update translations 2020-09-01 13:02:16 +00:00
Discourse Translator Bot 6c3b1eb9b9 Update translations 2020-08-26 09:27:35 +00:00
Joffrey JAFFEUX c792f36966
UX: clarify timezone formatting () 2020-08-26 10:18:55 +02:00
Discourse Translator Bot d495464ead Update translations 2020-08-25 13:02:37 +00:00
Joffrey JAFFEUX 4f7a9802e7
FIX: prefer timezones over timezone for previews ()
eg:

timezone="America/Detroit"
timezones="US/Eastern"

Before this commit we would show America/Detroit in previews and not US/Eastern, given US/Eastern and America/Detroit are equivalent.

After this commit, we will display the date with America/Detroit but show US/Eastern in the previews.
2020-08-21 16:31:50 +02:00
Discourse Translator Bot d0faee3bd8 Update translations 2020-08-18 13:02:44 +00:00
Discourse Translator Bot 1a78a429b5 Update translations 2020-08-11 13:04:00 +00:00
Discourse Translator Bot a68533b394 Update translations 2020-08-05 13:55:12 +00:00
Penar Musaraj 14eec43889
DEV: Use CSS custom properties for colors in core plugins 2020-08-04 11:14:33 -04:00
Joffrey JAFFEUX b2a2e4f1e5
FIX: ensures seconds are displayed when used with dates () 2020-07-06 09:26:31 +02:00
Jarek Radosz 26260d50b1
DEV: Import `I18n` in standard plugins () 2020-06-22 02:36:45 +02:00
Gerhard Schlager 390dc5c7a9 Update translations 2020-06-21 11:58:21 +02:00
Gerhard Schlager 36a3675e0a Update translations 2020-06-14 23:39:33 +02:00
Neil Lalonde 65dd8e2fa2
Update translations 2020-06-10 12:01:02 -04:00
Joffrey JAFFEUX e990d8adce
FIX: ensures preview is correctly computing timezone for current user ()
This also fixes a related bug with timezones on displayed date when in calendar range.
2020-05-12 12:30:41 -07:00
Joffrey JAFFEUX 1dd9df9cd0
REFACTOR: removes overwritten properties and duplicates fn () 2020-05-07 16:39:53 +02:00
Joffrey JAFFEUX 2f714c7412
FIX: end date of ranges in html preview was incorrect ()
This commit also remove an unused block of code as previewedTimezones can't be empty anymore.
2020-05-06 17:16:36 +02:00
Neil Lalonde 3cce608379
Update translations 2020-05-04 10:39:01 -04:00
Gerhard Schlager 30cb5f7d86 Update translations 2020-04-24 15:16:29 +02:00
Gerhard Schlager 82f9dcf301 Update translations 2020-04-20 11:37:59 +02:00
Joffrey JAFFEUX 6171141211
UX: displays full date time when displaying ranges () 2020-04-08 10:44:06 +01:00
Joffrey JAFFEUX 6d0ba74b98
UX: Ensures timezone is used over localTimezone when displaying dates 2020-04-08 10:43:47 +01:00
Joffrey JAFFEUX 66d375cb1d
UX: display zones without prefix to reduce noise () 2020-04-08 11:02:00 +02:00
Joffrey JAFFEUX 25f95af418
REFACTOR: local dates to improve reliability with DST and recurrence ()
This commit improves testing and separates local-date generation from dates with zone manipulations.
2020-04-08 08:53:21 +02:00
Joffrey JAFFEUX 6c2717eda0
UX: ensures esc key is correctly working when in dates form ()
1 esc close modal focus date button in toolbar
2 esc reduces composer
2020-03-30 17:59:25 +02:00
Joffrey JAFFEUX 6102c287f7
FIX: prevents i18n helper to return a SafeString ()
For convenience the i18n helper has been made returning a SafeString, but when used with other helpers, a String is expected and will cause unexpected behaviors.

This is the root cause of the initial bug fixed in d2bb127e2c

This commit is kept as it's a better security in case of unexpected behavior.
2020-03-12 16:50:20 +01:00
Joffrey JAFFEUX 4e0b2ae294
DEV: defines a constant for INPUT_DELAY () 2020-03-11 15:28:16 +01:00
Robin Ward a3f0543f99
Support for transpiling `.js` files ()
* Remove some `.es6` from comments where it does not matter

* Use a post processor for transpilation

This will allow us to eventually use the directory structure to
transpile rather than the extension.

* FIX: Some errors and clean up in confirm-new-email

It would throw an error if the webauthn element wasn't present.
Also I changed things so that no-module is not explicitly
referenced.

* Remove `no-module`

Instead we allow a magic comment: `// discourse-skip-module` to prevent
the asset pipeline from creating a module.

* DEV: Enable babel transpilation based on directory

If it's in `app/assets/javascripts/dicourse` it will be transpiled
even without the `.es6` extension.

* REFACTOR: Remove Tilt/ES6ModuleTranspiler
2020-03-11 09:43:55 -04:00
Joffrey JAFFEUX 683cb28099
DEV: enforces ember-template-lint: no-triple-curlies ()
This pr replaces `{{{ }}}` usage by a {{html-safe}} helper. While it doesn't solve the underlying issue, it gives us a path forward without risking breaking too much existing behavior.

Also introduces an htmlSafe computed macro:

```
import { htmlSafe } from "discourse/lib/computed";

htmlDescription: htmlSafe("description")
```

Overtime {{html-safe}} usage should be removed and moved to components properties or specialized components/helpers.
2020-03-11 09:23:10 +01:00
romanrizzi f795c1b8e8 Revert "DEV: enforces ember-template-lint: no-triple-curlies ()"
This reverts commit d436b600fb.

Triple curlies are still necessary for some raw templates.
2020-03-10 15:00:12 -03:00
Joffrey JAFFEUX d436b600fb
DEV: enforces ember-template-lint: no-triple-curlies ()
This pr replaces `{{{ }}}` usage by a {{html-safe}} helper. While it doesn't solve the underlying issue, it gives us a path forward without risking breaking too much existing behavior.

Also introduces an htmlSafe computed macro:

```
import { htmlSafe } from "discourse/lib/computed";

htmlDescription: htmlSafe("description")
```

Overtime {{html-safe}} usage should be removed and moved to components properties or specialized components/helpers.
2020-03-10 16:46:57 +01:00
Joffrey JAFFEUX f1bb1db354
DEV: enforces ember-template-lint: no-unbound ()
From ember-template-lint documentation (https://github.com/ember-template-lint/ember-template-lint/blob/master/docs/rule/no-unbound.md):

```
{{unbound}} is a legacy hold over from the days in which Ember's template engine was less performant. Its use today is vestigial, and it no longer offers performance benefits.

It is also a poor practice to use it for rendering only the initial value of a property that may later change.
```

Co-Authored-By: Jarek Radosz <jradosz@gmail.com>
2020-03-09 15:28:31 +01:00
Jarek Radosz 48ba65f406
DEV: Clean up Ember imports ()
Includes:
* Import `computed` helpers
* Import `@ember/application`
* Import `isBlank` from `@ember/utils`
* Import `A` from `@ember/array`
* Import `EmberArray` from `@ember/array`
* Import `ArrayProxy` from `@ember/array/proxy`
* Import `warn` from `@ember/debug`
* Import `EmberObject` from `@ember/object`
* Import `Application` from `@ember/application`
* Import `EmberRouter` from `@ember/routing/router`
* Import `isPresent` from `@ember/utils`
* Import `computed` from `@ember/object`
* Import `guidFor` from `@ember/object`
* Import `isArray` from `@ember/array`
* Import `TextField` from `@ember/component`
* Import `TextArea` from `@ember/component`
* Import `Promise` from `rsvp`
* Import `Evented` from `@ember/object/evented`
* Replace deprecated `ember-addons/ember-computed-decorators` imports
2020-03-06 23:49:28 +01:00
Neil Lalonde 4b70719a48
Update translations 2020-03-05 12:45:42 -05:00
Neil Lalonde b0675075f7 Update translations 2020-02-25 10:29:14 -05:00