Commit Graph

2133 Commits

Author SHA1 Message Date
Robin Ward
f5d391a48a
REFACTOR: Move app-events:main to service:app-events (#8152)
AppEvents was always a service object in disguise, so we should move it
to the correct place in the application. Doing this allows other service
objects to inject it easily without container access.

In the future we should also deprecate `this.appEvents` without an
explicit injection too.
2019-10-04 10:06:08 -04:00
Martin Brennan
68d35b14f4 FEATURE: Webauthn authenticator management with 2FA login (Security Keys) (#8099)
Adds 2 factor authentication method via second factor security keys over [web authn](https://developer.mozilla.org/en-US/docs/Web/API/Web_Authentication_API).

Allows a user to authenticate a second factor on login, login-via-email, admin-login, and change password routes. Adds registration area within existing user second factor preferences to register multiple security keys. Supports both external (yubikey) and built-in (macOS/android fingerprint readers).
2019-10-01 19:08:41 -07:00
Joffrey JAFFEUX
0b93f1239b
DEV: attempts to make date-time-input-range test more reliable (#8126) 2019-10-02 02:12:36 +02:00
Joffrey JAFFEUX
b4d42d1151
DEV: removes memory profiling from qunit tests (#8120)
Most of the work on it has been done and it's un-necessary work for now.
2019-10-01 22:17:53 +02:00
Joffrey JAFFEUX
4aefe589de
DEV: rake qunit:test was crashing on macOS due to a flag (#8119)
flag: --disable-software-rasterizer
2019-10-01 20:40:48 +02:00
Kyle Zhao
fb200e3055 FIX: Escape $ in translations before interpolating (#8100)
The dollar sign (`$`) is a special replace pattern, and `$&` inserts the
matched string. Thus dollars signs need to be escaped with the special
pattern `$$`, which inserts a single `$`.
2019-09-16 13:52:49 -04:00
Penar Musaraj
1de5d10f61 DEV: Fix Prettier 2019-09-16 11:36:27 -04:00
Penar Musaraj
6debd72c6c DEV: Add qunit test for emojis in search blurbs
Followup to cf230163
2019-09-16 11:25:55 -04:00
Kyle Zhao
f0f03acb2c FIX: Do not escape fancy_title again. (#8095)
`fancy_title` is already escaped by Rails. Escaping it again would print
the HTML entity as-is, e.g. `"` instead of `"`.

This fixes the issue by introducing a new `escapedContent` attribute on
the `QuickAccessItem` widget.
2019-09-13 10:04:14 -04:00
Jarek Radosz
1dcdcb5c31
FIX: Cast all numerical values in reports (#8087)
* FIX: Cast all numerical values in reports

The backend can return some numerical values in report as strings. That results in unexpected order of values when sorting report tables.

* Create `toNumber()` helper

The `typeof` and `parseFloat` seem to be the fastest path: https://jsperf.com/number-vs-typeof-vs-parsefloat#results
2019-09-12 15:17:34 +02:00
Dan Ungureanu
8b2c272f04
UX: Use medium format for displaying time in post notices. (#8074) 2019-09-11 13:00:53 +03:00
Kyle Zhao
9b10a78d82 FEATURE: Quick access panels in user menu (#8073)
* Extract QuickAccessPanel from UserNotifications.

* FEATURE: Quick access panels in user menu.

This feature adds quick access panels for bookmarks and personal
messages. It allows uses to browse recent items directly in the user
menu, without being redirected to the full pages.

* REFACTOR: Use QuickAccessItem for messages.

Reusing `DefaultNotificationItem` feels nice but it actually requires a
lot of extra work that is not needed for a quick access item.

Also, `DefaultNotificationItem` shows an incorrect tooptip ("unread
private message"), and it is not trivial to remove / override that.

* Use a plain JS object instead.

An Ember object was required when `DefaultNotificationItem` was used.

* Prefix instead suffix `_` for private helpers.

* Set to null instead of deleting object keys.

JavaScript engines can optimize object property access based on the
object’s shape. https://mathiasbynens.be/notes/shapes-ics

* Change trivial try/catch to one-liners.

* Return the promise in case needs to be waited on.

* Refactor showAll to a link with href

* Store `emptyStatePlaceholderItemText` in state.

* Store items in Session singleton instead.

We can drop `staleItems` (and `findStaleItems`) altogether. Because
`(old) items === staleItems` when switching back to a quick access
panel.

* Add `limit` parameter to the `user_actions` API.

* Explicitly import Session instead.
2019-09-09 11:03:57 -04:00
Penar Musaraj
4d6eacac5c FIX: close user card after clicking Message button
This was primarily an issue on mobile, where after clicking the "Messsage" button in the user card, the composer would load behind the user card overlay.
2019-08-30 13:40:12 -04:00
David Taylor
f2331ef07f
DEV: Stop serializing user_auth_token_logs (#8043)
These are no longer used in the user interface
2019-08-27 13:07:03 +01:00
Joffrey JAFFEUX
08e7211d7d
DEV: attempts to fix an heisentest in date-time-input-range (#8017) 2019-08-19 12:39:30 +02:00
Joffrey JAFFEUX
936d4ce17a
FEATURE: favorites emojis will also show in composer autocomplete (#8011) 2019-08-16 11:47:03 +02:00
Vinoth Kannan
88359b0f16
FEATURE: add support for group members visibility level (#8004)
There are 5 visibility levels (similar to group visibility)

public (default)
logged-in users
members only
staff
owners

Admins & group owners always have visibility to group members.
2019-08-14 19:00:04 +05:30
Bianca Nenciu
ba396a5384
DEV: Use ResultSet with staff action logs. (#7661) 2019-08-13 20:55:05 +03:00
Bianca Nenciu
37e7998a82
FEATURE: Send notification when member was accepted to group. (#7614) 2019-08-06 13:29:46 +03:00
Sam Saffron
f780920759 FEATURE: mention in secure category to prioritize groups
This feature allows @ mentions to prioritize showing members of a group who
have explicit permission to a category.

This makes it far easier to @ mention group member when composing topics in
categories where only the group has access.

For example:

If Sam, Jane an Joan have access to bugs category.

Then `@` will auto complete to (jane,joan,sam) ordered on last seen at

This feature works on new topics and existing topics. There is an explicit
exclusion of trust level 0,1,2 groups cause they get too big.
2019-08-06 17:57:56 +10:00
David Taylor
06e757245f FEATURE: Add a test facility to the watched words admin interface 2019-08-02 15:29:12 +01:00
David Taylor
39e0442de9 FIX: Various watched words improvements
- Client-side censoring fixed for non-chrome browsers. (Regular expression rewritten to avoid lookback)
- Regex generation is now done on the server, to reduce repeated logic, and make it easier to extend in plugins
- Censor tests are moved to ruby, to ensure everything works end-to-end
- If "watched words regular expressions" is enabled, warn the admin when the generated regex is invalid
2019-08-02 15:29:12 +01:00
Robin Ward
f57fdee2f6 FIX: Modal onClose was being called repeatedly
This happened because the modal controller was not clearing the `name`
attribute, which is used for looking up the controller to call `onClose`
on.

Every page navigation would call the method over and over, breaking
state in odd ways.
2019-08-01 15:42:43 -04:00
David Taylor
d4acd35466
FEATURE: Sync unread state live to topic lists (#7933) 2019-07-29 10:28:42 +01:00
Guo Xiang Tan
49d9557337 Revert commit that was pushed by mistake.
This reverts commit c7516c42e9.
2019-07-29 11:04:38 +08:00
Guo Xiang Tan
c7516c42e9 Revert "FIX: reverts #18e2816 (#7940)"
This reverts commit c7b146cbdf.
2019-07-29 09:18:53 +08:00
David Taylor
4f1382a54a FIX: Hide live-loaded posts from ignored users 2019-07-25 12:01:29 +01:00
Joffrey JAFFEUX
460d431621
DEV: uses ember-cli recommended chrome flags (#7939) 2019-07-25 11:38:05 +02:00
Joffrey JAFFEUX
c7b146cbdf
FIX: reverts #18e2816 (#7940) 2019-07-25 11:14:23 +02:00
Joffrey JAFFEUX
c1d2fb115c
DEV: prevents staff computed property to be overridden (#7931) 2019-07-24 22:01:08 +02:00
Osama Sayegh
5fc5a7f5ae FEATURE: Add search operator to see all direct messages from a user (#7913)
* FEATURE: Add search operator to see all direct messages from a user

* Only show message if related messages >= 5

* Make "all messages" the hyperlink

* Review
2019-07-22 10:55:49 -04:00
Roman Rizzi
eb26bee046
DEV: group_list site settings should store IDs instead of group names (#7860)
* DEV: group_list site settings should store IDs instead of group names

* Ship site setting to know when we should migrate group_list settings

* Migrate existing group_list site settings

* Bump migration timestamp and don't set null when migrating is not possible.
2019-07-19 15:17:58 -03:00
Robin Ward
8dd3cbfcb9
FEATURE: Allow choice of category when making a PM public (#7907)
* FEATURE: Allow choice of category when making a PM public

Previously it would default to uncategorized, which was not ideal on
some forums. This gives the staff member more choice about what they'd
like to do.

* Make the optional category more explicit

* Joffrey's feedback
2019-07-19 11:52:50 -04:00
Bianca Nenciu
9f500a4ff4
FIX: Show same username or name for post notices. (#7862) 2019-07-19 11:05:48 +03:00
Joffrey JAFFEUX
95ad4f9077
FEATURE: new date/time components (#7898) 2019-07-18 17:29:41 +02:00
Penar Musaraj
a571efba35
FIX: Rename deprecated icons, allow custom icons in badges
- adds a migration renaming FA4 icon names in badges
- allows all icons to be used in badges (previously was limited to icons prefixed with fa-)
- renames remaining FA 4.7 icons equivalents
2019-07-16 11:13:44 -04:00
Vinoth Kannan
839916aa49
DEV: Debundle plugin javascript assets and don't load if disabled (#7566)
And don't load javascript assets if plugin is disabled.

* precompile auto generated plugin js assets

* SPEC: remove spec test functions

* remove plugin js from test_helper

Co-Authored-By: Régis Hanol <regis@hanol.fr>

* DEV: using equality is slightly easier to read than inequality

Co-Authored-By: Régis Hanol <regis@hanol.fr>

* DEV: use `select` method instead of `find_all` for readability

Co-Authored-By: Régis Hanol <regis@hanol.fr>
2019-07-15 20:22:54 +05:30
Guo Xiang Tan
cbb4af124b Fix the build.
Follow up to 4b0cf7f6dd.
2019-07-15 16:38:54 +08:00
Guo Xiang Tan
4b0cf7f6dd SECURITY: XSS when displaying watched words in admin panel.
The XSS here is only possible if CSP is disabled. Low impact since CSP
is enabled by default in SiteSettings.
2019-07-15 10:55:50 +08:00
Bianca Nenciu
c4d1833588 FIX: Do not show bootbox if post has no replies. (#7866)
When we delete a post that has replies, we show a modal asking if the user wants to delete the post, the post and its direct replies or the post and all its replies.

If replies are deleted before a post, that modal would ask the user if they want to delete the post and 0 replies.

That commit ensure we skip the modal and directly delete the post in this case.
2019-07-12 11:42:57 +02:00
Vinoth Kannan
1bb258ab49 DEV: use upload short-url in html to markdown conversion if 'base62-sha1' data attr available. 2019-07-05 10:06:41 +05:30
Penar Musaraj
c78634284c UI: when in a different topic context, allow dismissing draft without destroying it
This changes the label and behaviour of the "No, keep" button in the confirmation modal when user cancels a draft while on a different topic. The new button label is "No, save draft", and when clicked, the composer will be dismissed without destroying the draft.
2019-07-04 11:45:57 -04:00
Joffrey JAFFEUX
a60ec00f7a
fix tests (#7853) 2019-07-03 16:32:27 +02:00
Joffrey JAFFEUX
d521959768
DEV: simpler report page test (#7851) 2019-07-03 16:08:48 +02:00
Joffrey JAFFEUX
f9f1df7611
DEV: prevents reports key to be time dependant when testing (#7850) 2019-07-03 15:43:01 +02:00
Bianca Nenciu
bfdf740a05 FIX: Show 'Export' button for all tabular reports. (#7838) 2019-07-03 14:47:36 +02:00
Joffrey JAFFEUX
1c6bb8748b
fix tests (#7849) 2019-07-03 13:45:03 +02:00
Osama Sayegh
3d64532273 FEATURE: allow disabling theme components (#7812)
This allows you to temporarily disable components without having to remove them from a theme. 

This feature is very handy when doing quick fix engineering.
2019-07-03 18:18:11 +10:00
Joffrey JAFFEUX
39e3162323
DEV: skip click-track to attempt to reduce timeouts in tests (#7836) 2019-07-02 10:08:28 +02:00
Ralph Rooding
4ba35472e6 Don't check for second factor when switching to anonymous account (#7803) 2019-06-27 15:01:26 -07:00
Joffrey JAFFEUX
a61147d838
FEATURE: displays tags in search menu results when enabled (#7819) 2019-06-27 19:26:14 +02:00
Gerhard Schlager
fe870a1e54 DEV: Respond with error 400 to uploads requested via XHR
follow-up to 13f38055
2019-06-27 11:15:35 +02:00
Joffrey JAFFEUX
df9b295510
DEV: skip load-script to prevent timeouts (#7817) 2019-06-27 10:57:40 +02:00
Joffrey JAFFEUX
5b9a3f8acd
DEV: attempts to make load-script more reliable (#7816)
We don't check on script anymore, but we still check on window.ace making very unlikely to regress.
2019-06-27 10:19:55 +02:00
Jeff Wong
79d657203d fix tests 2019-06-26 17:44:23 -07:00
Jeff Wong
88ef5e55fe
FEATURE: add ability to have multiple totp factors (#7626)
Adds a second factor landing page that centralizes a user's second factor configuration.

This contains both TOTP and Backup, and also allows multiple TOTP tokens to be registered and organized by a name. Access to this page is authenticated via password, and cached for 30 minutes via a secure session.
2019-06-26 16:58:06 -07:00
Joffrey JAFFEUX
c63268467e
DEV: prettier 1.18.2 (#7810) 2019-06-26 17:09:52 +02:00
Penar Musaraj
76307611dc
UX: new inline button to remove a topic timer (#7790) 2019-06-26 11:08:53 -04:00
Gerhard Schlager
13f38055ac SECURITY: XSS in routes
Co-authored-by: Guo Xiang Tan <tgx_world@hotmail.com>
Co-authored-by: David Taylor <david@taylorhq.com>
2019-06-26 16:34:15 +02:00
Joffrey JAFFEUX
cea3a027f3
FIX: category-chooser search should be scoped to category (#7794) 2019-06-24 10:45:30 +02:00
Joffrey JAFFEUX
59e84e8e05
DEV: skip tests instead of commenting them (#7774) 2019-06-17 10:24:20 +02:00
Robin Ward
035e63c81f FIX: Allow the clear callbacks to execute in acceptance tests 2019-06-14 13:29:13 -04:00
Robin Ward
a8793d0d9a REFACTOR: Test Memory Usage Fixes (#7769)
* Calling `Discourse.reset()` creates a new container
We should run our de-initializers only after acceptance tests,
since initializers are not run outside of acceptance tests anyway,
and the container at this point can be passed properly to the
`teardown()` method.

* Remove `Discourse.reset` from tests
This would cause a new container to be created which leaks many objects.

* `updateCurrentUser` is more accurate than `replaceCurrentUser`
2019-06-14 14:54:20 +02:00
Guo Xiang Tan
7bb94e8716 DEV: Increase wait duration between smoke test further during edit.
Otherwise, the app detects that we're replying too quickly.
2019-06-14 12:21:54 +08:00
Sam Saffron
62f4284865 DEV: 302 status is normal in smoke test
Login can redirect there are potentially other cases
2019-06-14 14:21:07 +10:00
Guo Xiang Tan
5b55252e10 DEV: Add more wait between edit so we don't end up replying too quickly. 2019-06-13 09:14:17 +08:00
Joffrey JAFFEUX
19ca2d4772
DEV: reset widget clean callback between tests (#7761) 2019-06-12 17:49:02 +02:00
Robin Ward
9daba50d48 FIX: Unsubscribe seemed to be missing some events (#7762)
This forces an unsubscribe from all events.
2019-06-12 17:48:01 +02:00
Maja Komel
621b6493f7 DEV: test badge titles presence on badge page
follow-up on 2863e7c
2019-06-12 15:04:21 +02:00
David Taylor
f60451a89d DEV: Fix linting error 2019-06-12 00:19:52 +01:00
Joffrey JAFFEUX
23f457b87d
DEV: disables d-editor emoji test to attempt to fix timeouts (#7755) 2019-06-12 00:30:11 +02:00
Joffrey JAFFEUX
5da91fa8f8
DEV: disable emoji-picker test to attempt to fix timeouts (#7754) 2019-06-12 00:11:21 +02:00
Joffrey JAFFEUX
1feaacaecb
DEV: skip emoji picker opening test to attempt to fix timeouts (#7753) 2019-06-11 23:54:20 +02:00
Joffrey JAFFEUX
58057484fe
DEV: skip ace-editor to attempt to avoid timeouts (#7752) 2019-06-11 23:38:43 +02:00
Joffrey JAFFEUX
cb08d3cc26
DEV: adds module debugging to js tests (#7751) 2019-06-11 23:14:42 +02:00
Robin Ward
3d7c26c15e FIX: Memory Leaks w/ Container (#7750)
Gives instance initializers the ability to add a `teardown` method that
will be called between tests to clean up after themselves.
2019-06-11 18:41:27 +02:00
Joffrey JAFFEUX
dc15486f0a Revert "DEV: resets csrf ajax prefilter only if present (#7747)"
This reverts commit 6612218a4e.
2019-06-11 13:34:25 +02:00
David Taylor
000a35b219 FIX: Do not live-load posts from ignored users 2019-06-11 12:07:14 +01:00
Joffrey JAFFEUX
6612218a4e
DEV: resets csrf ajax prefilter only if present (#7747) 2019-06-11 12:50:20 +02:00
Joffrey JAFFEUX
ebf77f74b7 Revert "DEV: prevents csrf token to leak state between tests (#7746)"
This reverts commit b29d63a52d.
2019-06-11 12:19:49 +02:00
Joffrey JAFFEUX
b29d63a52d
DEV: prevents csrf token to leak state between tests (#7746) 2019-06-11 11:54:23 +02:00
Joffrey JAFFEUX
4deb0f6d59
DEV: prevents post-cooked decorators to leak between tests (#7744) 2019-06-11 10:02:10 +02:00
Guo Xiang Tan
e5cace9185 FIX: File size text should not be part of link. 2019-06-11 15:21:06 +08:00
Guo Xiang Tan
d20ea38f02 Fix the build.
Follow up to bd538f7437.
2019-06-11 10:05:57 +08:00
Guo Xiang Tan
06d974d55c FEATURE: Add base62 sha1 to cooked data attribute
* FEATURE: Add base62 sha1 to data attribute in `Post#cooked`.

* FIX: Use `Upload#short_url` when quoting an image.
2019-06-11 11:15:45 +10:00
Guo Xiang Tan
bd538f7437 FIX: Composer preview not caching inline onebox. 2019-06-11 09:14:53 +08:00
Joffrey JAFFEUX
fce34aa799
DEV: prevents Pretender Object to leak between tests (#7726) 2019-06-07 11:27:54 +02:00
Gerhard Schlager
d1228f47bb FIX: Handle missing plural keys on client 2019-06-07 10:24:17 +02:00
Joffrey JAFFEUX
c573fa780b
DEV: prevents asyncTestDiscourse/controllerFor/fixture to leak (#7717) 2019-06-06 13:10:41 +02:00
Joffrey JAFFEUX
60c073ae59
typos (#7716) 2019-06-06 13:00:23 +02:00
Joffrey JAFFEUX
6d02dd6d8c
DEV: attempts to remove message bus callbacks between tests (#7715) 2019-06-06 12:59:02 +02:00
Joffrey JAFFEUX
c462c2f271
FIX: prevents appEvents to leak (#7714) 2019-06-06 12:33:52 +02:00
Joffrey JAFFEUX
b339d67401
DEV: refactors select-kit helper to prevent it to leak into global state (#7708) 2019-06-06 10:47:10 +02:00
Guo Xiang Tan
782da448a2 FIX: Missing title attribute when quoting an image. 2019-06-06 16:45:12 +08:00
Guo Xiang Tan
d9d36f241d DEV: Use this.site.get("notification_types") instead.
Follow up to fcb7422213.
2019-06-06 08:18:25 +08:00
Joffrey JAFFEUX
de013262a7
DEV: refactors textarea-selection helper to prevent leaking (#7709) 2019-06-05 19:20:46 +02:00
Joffrey JAFFEUX
df95457468
DEV: d-editor helper should be synchronous (#7706)
Also ensures trigger has happened before assertion and prevents leaking formatTextWithSelection into global context
2019-06-05 14:52:38 +02:00
Guo Xiang Tan
fcb7422213 DEV: Avoid hard-coding notification types integer in client side code.
Co-authored-by: Bianca Nenciu <nenciu.bianca@gmail.com>
2019-06-04 17:30:46 +08:00
Joffrey JAFFEUX
43a46df075 Revert "DEV: no-sandbox flag is deprecated (#7660)"
This reverts commit d4d42bc61c.
2019-06-03 23:03:30 +02:00
Régis Hanol
b792db9d92 FIX: redirect to top was always redirecting to 'All' 2019-06-03 20:18:14 +02:00
Joffrey JAFFEUX
d4d42bc61c
DEV: no-sandbox flag is deprecated (#7660) 2019-05-31 13:22:03 +02:00
Robin Ward
c4fa20d644 FIX: Broken test, also typoed property 2019-05-30 14:27:28 -04:00
Joffrey JAFFEUX
11ab3c623a
DEV: removes verbose logging from test_helper (#7648) 2019-05-30 12:08:19 +02:00
Guo Xiang Tan
f0620e7118 FEATURE: Support [description|attachment](upload://<short-sha>) in MD take 2.
Previous attempt was missing `post_uploads` records.
2019-05-29 09:26:32 +08:00
Penar Musaraj
7c9fb95c15 Temporarily revert "FEATURE: Support [description|attachment](upload://<short-sha>) in MD. (#7603)"
This reverts commit b1d3c678ca.

We need to make sure post_upload records are correctly stored.
2019-05-28 16:37:01 -04:00
Joffrey JAFFEUX
7a7d612b23
DEV: skips tests being the possible source of timeouts (#7623) 2019-05-28 20:16:42 +02:00
Guo Xiang Tan
b1d3c678ca FEATURE: Support [description|attachment](upload://<short-sha>) in MD. (#7603) 2019-05-28 11:18:21 -04:00
Joffrey JAFFEUX
bed3560d61
EXPERIMENTAL: more js tests logs (#7620) 2019-05-28 14:49:45 +02:00
Joffrey JAFFEUX
6decdfce5c
DEV: reduces memory footprint of tests - step 1 (#7591) 2019-05-28 12:15:12 +02:00
Guo Xiang Tan
909ec47ada DEV: Close modal so other JS tests don't randomly failed. 2019-05-28 11:40:21 +08:00
Guo Xiang Tan
c80ab08e48 DEV: Fix pretenders leaking across acceptance test. 2019-05-28 10:41:22 +08:00
Penar Musaraj
dfcc2e7ad8 Revert "FEATURE: Send notification when member was accepted to group. (#7503)"
This reverts commit 42c82d544e.
2019-05-27 15:19:59 -04:00
Joffrey JAFFEUX
192562745f
DEV: uses focus helper for d-editor tests (#7610) 2019-05-27 17:31:11 +02:00
Joffrey JAFFEUX
669bfaba30
DEV: setTextareaSelection helper (#7609) 2019-05-27 16:33:27 +02:00
Bianca Nenciu
42c82d544e
FEATURE: Send notification when member was accepted to group. (#7503) 2019-05-27 17:28:41 +03:00
Joffrey JAFFEUX
a2d7eab31d
DEV: more reliable d-editor test (#7607) 2019-05-27 15:41:55 +02:00
Joffrey JAFFEUX
d93f753b17
apply prettier on gigantic find and replace (#7604) 2019-05-27 10:42:53 +02:00
Joffrey JAFFEUX
bfea922167
DEV: global s/this.get\("(\w+)"\)/this.$1 (#7592) 2019-05-27 10:15:39 +02:00
Joffrey JAFFEUX
049561ac49
FIX: introduces onSelectAny (regroup onSelect and onSelectNone) (#7594) 2019-05-24 13:11:33 +02:00
Gerhard Schlager
c1e9a70d59 FIX: Fallback locale was not available for extra translations
Translations from fallback locales were not sent to the client
for admin_js and wizard_js.
2019-05-24 11:38:26 +02:00
Robin Ward
e74cd54fc6 REFACTOR: Replace score bonuses with low/med/high priorities
We removed score from the UX so it makes more sense to have sites set
priorities instead of score bonuses.
2019-05-23 11:54:45 -04:00
Gerhard Schlager
e224100023 FIX: Don't convert :) into Emoji when emojis or emoji shurtcuts are disabled 2019-05-22 11:44:39 +02:00
Gerhard Schlager
e8de30939d DEV: Fix the smoke test 2019-05-21 19:02:19 +02:00
Guo Xiang Tan
92a6f71fd3 DEV: Update smoke test to test editing of a post. 2019-05-21 17:44:46 +08:00
Joffrey JAFFEUX
6c6a6771af
FIX: adds groupBy to lodash available functions list (#7579) 2019-05-21 08:58:57 +02:00
Joffrey JAFFEUX
3e4e3fc7d7
DEV: adds memory/event listeners reporting (#7575) 2019-05-20 16:35:23 +02:00
Gerhard Schlager
b788948985 FEATURE: English locale with international date formats
Makes en_US the new default locale
2019-05-20 13:47:20 +02:00
Sam Saffron
50e6ee55a9 DEV: add "WAIT_FOR_URL" env to smoke test
This allows you to wait up to N seconds for the smoke test url to come up
in some cases you want to kick off the smoke test prior to having the smoke
test env ready to accept connections
2019-05-20 17:23:09 +10:00
romanrizzi
3363b84de6 Fix linting errors 2019-05-16 15:33:27 -03:00
romanrizzi
b716439c3e DEV: Improve component test skip option and skipped new tests 2019-05-16 15:15:37 -03:00
Joffrey JAFFEUX
f41aa5cb98
EXPERIMENTAL: attempts to gather info if chrome runner crashed (#7562) 2019-05-16 18:00:57 +02:00
Joffrey JAFFEUX
ad4d01233b
DEV: attempts to make d-editor tests more resilient (#7556) 2019-05-16 14:42:01 +02:00
Joffrey JAFFEUX
d47bf8b6c4
SECURITY: updates lodash from 1.3.0 to 4.17.5 (#7546) 2019-05-16 10:34:19 +02:00
Joffrey JAFFEUX
ea214b2b0c
DEV: logs tests exception when running qunit on headless chrome (#7553) 2019-05-16 08:48:08 +02:00
Régis Hanol
db89722a98 UX: ignore leading/trailing whitespaces in site settings search 2019-05-15 22:22:20 +02:00
Robin Ward
b380ed5282 FEATURE: Claim Reviewables by Topic
This is a feature that used to be present in discourse-assign but is
much easier to implement in core. It also allows a topic to be assigned
without it claiming for review and vice versa and allows it to work with
category group reviewers.
2019-05-09 13:40:36 -04:00
Dan Ungureanu
c06b00a54e
FIX: Hide Uncategorized in site menu when disabled. (#7509) 2019-05-09 14:08:10 +03:00
Guo Xiang Tan
7dc58d62e4 DEV: Clear topic title input each smoke test.
There may be pre-filled topic title as a result of a draft.
2019-05-09 14:02:45 +08:00
romanrizzi
7c0cb59741 DEV: Skip new JS flaky tests 2019-05-08 18:17:49 -03:00
Bianca Nenciu
6efc5dd202 DEV: Fix lint. 2019-05-08 12:07:52 +03:00
Bianca Nenciu
861023f0d6 FIX: Skip attachments in click track. 2019-05-08 11:55:31 +03:00
Bianca Nenciu
71fb8a4195 DEV: Fix failing click-track tests. 2019-05-07 13:54:12 +03:00
Guo Xiang Tan
abbc639e0d FIX: Only unregister service workers that belongs to Discourse. 2019-05-07 13:08:06 +08:00
Robin Ward
47995d2d89 FIX: Your own likes were missing on posts 2019-05-06 20:03:50 -04:00
Robin Ward
e9564c999f FIX: We just show likes to see like count 2019-05-06 18:19:45 -04:00
Robin Ward
310e196aca FIX: like-count has been removed from the post menu 2019-05-06 17:48:57 -04:00
Robin Ward
31e100530f FEATURE: Flag count in post menu
This change shows a notification number besides the flag icon in the
post menu if there is reviewable content associated with the post.
Additionally, if there is pending stuff to review, the icon has a red
background.

We have also removed the list of links below a post with the flag
status. A reviewer is meant to click the number beside the flag icon to
view the flags. As a consequence of losing those links, we've removed
the ability to undo or ignore flags below a post.
2019-05-06 16:13:31 -04:00
Bianca Nenciu
39260c841e DEV: Add test for click-track and mention links.
Follow-up to b81d169e.
2019-05-06 19:29:51 +03:00
Bianca Nenciu
233d3f611b DEV: Fix test. 2019-05-06 19:29:51 +03:00
Bianca Nenciu
e67ba8517d DEV: Add test for click-track and <a> without href.
Follow-up to b9339e15.
2019-05-06 18:38:57 +03:00
Dan Ungureanu
33e06dd796
FIX: Make select all and below skip small actions. (#7425) 2019-05-06 16:22:11 +03:00
Sam Saffron
f8eddd40ad PERF: remove avg_time calculations and regular jobs from posts and topics
After careful analysis of large data-sets it became apparent that avg_time
had no impact whatsoever on "best of" topic scoring. Calculating avg_time
was a very costly operation especially on large databases.

We have some longer term plans of introducing other weighting that is read
time based into our scoring for "best of" and "top" topics, but in the
interim to stop a large amount of work that is not achieving any value we
are removing the jobs.

Column removal will follow once we decide on a new replacement metric.
2019-05-06 15:59:01 +10:00
Robin Ward
15c9b00307 FEATURE: Show edit indicator on review queue
If a flagged post has edits, show the pencil icon and pop up the history
window when clicked.
2019-05-03 11:21:33 -04:00
Robin Ward
3cb0d27d38 DEV: Upgrade our widget handlebars compiler
Now supports subexpressions such as i18n and concat, plus automatic
attaching of widgets similar to ember.
2019-05-02 15:47:57 -04:00
Arpit Jalan
8bedb6a4a3 fix the build 2019-05-01 23:12:50 +05:30
Arpit Jalan
b5ea50a154
FIX: use full screen login for new-topic route (#7467)
DEV: add javascript tests for new-topic and new-message routes

DEV: fix an existing test that was being skipped
2019-05-01 22:54:29 +05:30
David Taylor
0e303c7f5d
FEATURE: Automatically generate optimized site metadata icons (#7372)
This change automatically resizes icons for various purposes. Admins can now upload `logo` and `logo_small`, and everything else will be auto-generated. Specific icons can still be uploaded separately if required.

## Core

- Adds an SiteIconManager module which manages automatic resizing and fallback

- Icons are looked up in the OptimizedImage table at runtime, and then cached in Redis. If the resized version is missing for some reason, then most icons will fall back to the original files. Some icons (e.g. PWA Manifest) will return `nil` (because an incorrectly sized icon is worse than a missing icon). 

- `SiteSetting.site_large_icon_url` will return the optimized version, including any fallback. `SiteSetting.large_icon` continues to return the upload object. This means that (almost) no changes are required in core/plugins to support this new system.

- Icons are resized whenever a relevant site setting is changed, and during post-deploy migrations

## Wizard

- Allows `requiresRefresh` wizard steps to reload data via AJAX instead of a full page reload

- Add placeholders to the **icons** step of the wizard, which automatically update from the "Square Logo"

- Various copy updates to support the changes

- Remove the "upload-time" resizing for `large_icon`. This is no longer required.

## Site Settings UX

- Move logo/icon settings under a new "Branding" tab

- Various copy changes to support the changes

- Adds placeholder support to the `image-uploader` component

- Automatically reloads site settings after saving. This allows setting placeholders to change based on changes to other settings

- Upload site settings will be assigned a placeholder if SiteIconManager `responds_to?` an icon of the same name

## Dashboard Warnings

- Remove PWA icon and PWA title warnings. Both are now handled automatically.

## Bonus

- Updated the sketch logos to use @awesomerobot's new high-res designs
2019-05-01 14:44:45 +01:00
romanrizzi
84a3459af6 DEV: Mark flaky tests as pending 2019-04-30 15:01:21 -03:00
Neil Lalonde
1ba72ccab8 DEV: add site setting type group_list for a list of groups
Add a js test
2019-04-29 16:15:22 -04:00
Bianca Nenciu
aef35faefc FIX: Open links in external tabs. (#7444) 2019-04-29 10:27:29 -04:00
Tim Lange
574f39f9d0 FIX: Fixed uploadPlaceholder regex failing on not escaped characters (#7442) 2019-04-29 12:32:48 +10:00
Joffrey JAFFEUX
bcca2b5d73
FEATURE: initial implementation of generic filters for reports 2019-04-26 12:17:10 +02:00
Joffrey JAFFEUX
c99faa6b25
FIX: improves locale support in tag-drop (#7418) 2019-04-23 17:53:59 +02:00
Gerhard Schlager
a7bc1ecbae FEATURE: Add support for Unicode usernames and group names
Co-authored-by: Joffrey JAFFEUX <j.jaffeux@gmail.com>
2019-04-23 13:00:27 +02:00
Bianca Nenciu
1867f2dda0
FEATURE: Always track clicks using AJAX. (#7373) 2019-04-23 12:41:36 +03:00
Dan Ungureanu
57d1dea8a2
FEATURE: Let staff add custom post notices. (#7377) 2019-04-19 17:53:58 +03:00
Tim Lange
1d0816b2cf UX: Changed error draft status to icon (#7369) 2019-04-19 09:18:01 +02:00
Sam Saffron
a80c1f4011 Skip test for now
The test works when it is run alone, but somehow leaks state

Will work on improving it next week
2019-04-18 17:55:16 +10:00
Sam Saffron
7068b58e85 PERF: flush topic timings less frequently
This is a first step of a performance optimisation, more will follow

Previously we did not properly account for previously read topics while
"rushing" marking times on posts.

The new mechanism now avoids "rushing" sending timings to server if all
the posts were read.

Also to alleviate some server load we only "ping" the server with old timings
once a minute (it used to be every 20 seconds)
2019-04-18 17:31:08 +10:00
Maja Komel
1f17d52f55 UX: new layout for groups page, allow changes to automatic group bio (#7350) 2019-04-17 22:44:30 -04:00
Maja Komel
5c795bc480 FIX: prevent anonymous users from changing their email/username/name (#7311) 2019-04-17 18:05:02 +10:00
Roman Rizzi
d2ea602bdd
DEV: Mark flaky tests as pending until we fix them. (#7386) 2019-04-16 13:35:54 -03:00
Tim Lange
00ee68f799 FIX: Fixed category reordering using arrow icons (#7374) 2019-04-15 10:56:21 +10:00
Robin Ward
a5d9afe397 FEATURE: Include a user's pending posts in the topic view
Also includes a refactor to TopicView's serializer which was not
building our attributes using serializers properly.
2019-04-12 14:25:12 -04:00
Sam Saffron
9bd3afda5d FIX: display conextual count on favicon if selected
This also corrects the test suite and moves the two notification counts
so they are closer together.
2019-04-12 10:04:23 +10:00
David Taylor
24ef4f7b2b Remove support for disable_jump_reply user setting (#7359) 2019-04-12 09:03:06 +10:00
Tim Lange
9a428acce4 UX: Switched composer draft saving to animations (#7356) 2019-04-11 10:03:36 -04:00
Dan Ungureanu
3c65c3398a
DEV: Rename variable to match coding style. 2019-04-10 20:45:17 +03:00
Tim Lange
fe9c271d44 FIX: Fixed deleted posts layout (#7348) 2019-04-10 19:00:39 +02:00
Bianca Nenciu
b5008586c5 DEV: Remove HTML parser from Tautologistics. (#7344) 2019-04-10 11:21:22 +02:00
Robin Ward
4552d86605 FIX: Broken tests 2019-04-09 08:33:10 -04:00
Arpit Jalan
55d62471a5 Fix the build
Skipping failing tests for now.
2019-04-09 11:30:32 +05:30
David Taylor
f524f8f811
Remove Yahoo login support from core and deprecate OpenID2.0 (#7310)
- Plugin developers using OpenID2.0 should migrate to OAuth2 or OIDC. OpenID2.0 APIs will be removed in v2.4.0

- For sites requiring Yahoo login, it can be implemented using the OpenID Connect plugin: https://meta.discourse.org/t/103632

For more information, see https://meta.discourse.org/t/113249
2019-04-08 10:38:25 +01:00
Guo Xiang Tan
33fa249fa5 SECURITY: Remove XSS in composer preview when applying image scale buttons. 2019-04-08 11:22:14 +08:00
Robin Ward
62956003c3 FEATURE: Allow users to customize bonuses for reviewable types
A new settings section in the review queue allows admins to specify that
certain types of flags should be weighted higher than others.
2019-04-03 11:18:34 -04:00
Guo Xiang Tan
d1fa2b71cf FIX: Letters between words incorrectly highlighted within post. 2019-04-03 15:57:51 +08:00
Tim Lange
a9a35d2c19 FIX: Uncategorized pm not allowing edit (#7276) 2019-04-02 12:54:53 +08:00
Joffrey JAFFEUX
e986e96227
DEV: removes old dashboard (#7295) 2019-04-01 12:39:49 +02:00
Dan Ungureanu
d59abff2d8
UX: Always use relative age for post notices. 2019-03-31 18:07:05 +03:00
Bianca Nenciu
e32af7fb0f DEV: Add test for 8aff99761a. 2019-03-31 15:09:30 +03:00
Tim Lange
2c4b3c21a9 UX: Unified emoji escape regex 2019-03-29 12:17:11 -04:00
Guo Xiang Tan
947495e70d Follow up to 8c2fa99f78.
`/search_logs/term?term` is alittle weird looking but unless we add
proper slug support to term, we're going to have to live with this
first.
2019-03-29 10:39:44 +08:00
Guo Xiang Tan
8c2fa99f78 FIX: Remove :term from admin/search_logs/term/:term route.
Search log terms is a string that can contain characters like `/` which
messes with the route.
2019-03-29 09:48:20 +08:00
Guo Xiang Tan
c836d67cac UX: Collapse advanced search on mobile when searching.
On smaller mobile devices, the height of the advanced search filters takes up
the whole real estate that it requires the user to scroll down
significantly in order to view the results.
2019-03-29 08:59:02 +08:00
Robin Ward
3660b85614 FIX: Regressions in JS test suite 2019-03-28 14:15:52 -04:00
Robin Ward
b58867b6e9 FEATURE: New 'Reviewable' model to make reviewable items generic
Includes support for flags, reviewable users and queued posts, with REST API
backwards compatibility.

Co-Authored-By: romanrizzi <romanalejandro@gmail.com>
Co-Authored-By: jjaffeux <j.jaffeux@gmail.com>
2019-03-28 12:45:10 -04:00
Tim Lange
1b0267b077 FIX: Switching composer action shouldn't trigger abandon popup (#7261) 2019-03-27 21:55:09 +01:00
Bianca Nenciu
a9798f0c47
FEATURE: Add page for all group membership requests. (#6909) 2019-03-27 13:30:59 +02:00
Guo Xiang Tan
e0cb2a434a Fix regression introduced in dae0bb4c67.
Add tests so it doesn't bite me again.
2019-03-26 17:52:37 +08:00
Penar Musaraj
528a7c577a Remove flaky test 2019-03-25 15:31:25 -04:00
Penar Musaraj
e89cec7550 Fix Prettier 2019-03-25 15:03:28 -04:00
Penar Musaraj
47a0e4b906 UX: improve mobile search
Improves usability of header search icon while user is already in full page search in mobile.

Currently, hitting search icon a second time empties input and does not scroll up to show search form.

This commit scrolls up to show form and sets focus on input.
2019-03-25 14:42:54 -04:00
Kris
df279251b7 REFACTOR: More consistent user/group page layouts 2019-03-25 14:40:22 -04:00
Joe
ec2123809f FEATURE: user and group cards on mobile (#7246) 2019-03-25 13:37:17 +01:00
Tim Lange
dcd56cf593 FIX: Fixed changing composer mode escaping title (#7191) 2019-03-25 13:14:26 +05:30
Tim Lange
da187f0967 FIX: Clear unsaved groups when switching user (#7236) 2019-03-22 12:46:36 +01:00
Joffrey JAFFEUX
eec7822d7c
DEV: warns instead of raise exception, test should fail if legit error anyways (#7239) 2019-03-22 09:23:20 +01:00
Guo Xiang Tan
7aab7e9062 Revert "UX: Don't reload page after saving settings when editing category."
This reverts commit dd142eec03.

We need a fully reload when reordering.
2019-03-22 13:10:30 +08:00
Sam Saffron
2f8f801970 DEV: use Qunit.skip to skip a test
commented out code tends to get forgotten, at least with skip we can alert
on it.
2019-03-22 10:09:11 +11:00
Joffrey JAFFEUX
5b465ce053
fix tests (#7234) 2019-03-21 13:16:55 +01:00
Guo Xiang Tan
6cd42629e1 Fix failing qunit test. 2019-03-21 18:04:19 +08:00
Tim Lange
d16a0db4e1 UX: Enabled sorting for more columns in admin user list (#7208) 2019-03-21 17:16:58 +08:00
Tim Lange
f7b156ffbd UX: Better emoji escaping for topic title (#7218)
* FIX: Fixed failing discourse-prometheus-alert-receiver plugin specs
2019-03-21 09:11:33 +01:00
Sam Saffron
5b36fadec9 DEV: correct qunit runner for autospec
Was no longer working on latest nodes, unlink expects a callback

Also cleans up eslint warnings.
2019-03-20 16:44:00 +11:00
Régis Hanol
6fb49e74a1
Revert "UX: Better emoji escaping for topic title (#7176)" (#7201)
This reverts commit 0d9bc0aaa6.
2019-03-19 12:02:47 +01:00
Tim Lange
0d9bc0aaa6 UX: Better emoji escaping for topic title (#7176) 2019-03-19 09:33:10 +01:00
Guo Xiang Tan
dd142eec03 UX: Don't reload page after saving settings when editing category. 2019-03-19 16:08:32 +08:00
Gerhard Schlager
3fd04df781
FEATURE: Locale support for seeded categories and topics (#7110) 2019-03-18 21:09:13 +01:00
David Taylor
e2d6edd5ff DEV: Correct email disabled banner tests
Followup to acc121fd27
2019-03-18 17:06:29 +00:00
Dan Ungureanu
976ea160e9
FEATURE: Post notices become old after 14 days. (#7197) 2019-03-18 18:20:49 +02:00
David Taylor
acc121fd27 FIX: Show 'emails disabled' to staff users when disabled for non-staff (#7187) 2019-03-18 16:26:18 +01:00
Tim Lange
22c75e1c04 FIX: Fixed edit category description redirecting without saving (#7192) 2019-03-18 16:14:17 +01:00
venarius
ad363f45f0 FIX: Fixed reorder categories by number not working correctly 2019-03-18 10:54:20 -04:00
David Taylor
4e8c174ee5
FEATURE: Display notification count in title for logged in users (#7184)
This replaces the 'contextual' counters for logged in users. We will still use the old method for anon users
2019-03-18 12:59:47 +00:00
Guo Xiang Tan
5e410dc5e0
FEATURE: Ability to exclude category from search results. (#7194)
This commit also adds `Category#search_priority` which sets the ground
work to enable prioritizing of posts for certain categories when searching.
2019-03-18 15:25:45 +08:00
Joffrey JAFFEUX
de6a7e32bd
FIX: brings back [+ New Topic] btn from share-popup post action (#7182) 2019-03-18 07:30:10 +01:00
Joffrey JAFFEUX
e57138354d
fix emoji tests (#7181) 2019-03-15 17:15:36 +01:00
Penar Musaraj
9334d2f4f7
FEATURE: add more granular user option levels for email notifications (#7143)
Migrates email user options to a new data structure, where `email_always`, `email_direct` and `email_private_messages` are replace by

* `email_messages_level`, with options: `always`, `only_when_away` and `never` (defaults to `always`)
* `email_level`, with options: `always`, `only_when_away` and `never` (defaults to `only_when_away`)
2019-03-15 10:55:11 -04:00
Bianca Nenciu
d352baa1a2
FEATURE: Enforce two-factor authentication. (#6348) 2019-03-15 13:09:37 +02:00
Tim Lange
37c613dde2 FIX: Outsourced erb part from emoji.js.es6 (#7168) 2019-03-15 15:44:49 +11:00
Dan Ungureanu
18ff790e79
FIX: Use prioritize_username_in_ux in post notices. 2019-03-13 21:17:41 +02:00
Vinoth Kannan
c773f82ba1 DEV: Added qunit test functions and did minor refactoring
135191d1d1
2019-03-13 18:38:27 +05:30
Joffrey JAFFEUX
d32557ea32 Revert "FIX: Better emoji escaping for topic title"
This reverts commit 35426b5ad6.
2019-03-13 13:02:56 +01:00
Tim Lange
35426b5ad6 FIX: Better emoji escaping for topic title
This commit also puts emojiVersion in its own erb file.
2019-03-13 11:17:59 +01:00
Guo Xiang Tan
b0c8fdd7da FIX: Properly support defaults for upload site settings. 2019-03-13 16:36:57 +08:00
Bianca Nenciu
e6c2faf186 FIX: Disable 'Create Topic' button if tag is staff-only. (#6984)
* FIX: Disable 'Create Topic' button if tag is staff-only.

* FIX: Staff-only tags should always return 404.
2019-03-12 19:23:36 +11:00
Dan Ungureanu
35942f7c7c
FEATURE: Special call-out for new / returning posters. (#7115) 2019-03-08 10:48:35 +02:00
Bianca Nenciu
733deba585 FIX: Loading draft also replaces the recipients (#7122) 2019-03-07 08:14:55 +11:00
Tarek Khalil
190b19f3c2
FEATURE: Add ignored user list to the User's preference page (#7107)
* FEATURE: Add ignored user list to the User's preference page

## Why?

Part of: https://meta.discourse.org/t/ability-to-ignore-a-user/110254

We want to add list of Ignored users under or along with the muted users preferences section.
This way Users can find and update their list of ignored users.

## UI


![gif](https://user-images.githubusercontent.com/45508821/53746179-8e9b3c00-3e98-11e9-9e90-94b8520896a6.gif)

## Open questions

Two of many options to represent a list of ignored users is that we can:

1. We can represent the ignored user list as a table with the ability to `un-ignore` but NOT to add new ignored users.
2. We can keep it functioning as the `muted user list` where you can `un-ignore` or `ignore` users.
2019-03-05 14:47:51 +00:00
Joffrey JAFFEUX
aaf106fc2d
DEV: simplify test to avoid time related failures (#7092) 2019-03-03 12:13:02 +01:00
Sam
03a70ef69c FIX: allow underscore and dash in username search
_ and - are technically punctuations, but we allow them in usernames so
accept them in search
2019-03-01 15:23:45 +11:00
Sam
63cba2055f DEV: workaround test value changing due time marching forward
This is a quick fix to get the tests to pass we will follow up with a commit
to stabalize this.
2019-03-01 13:26:36 +11:00
Joffrey JAFFEUX
883a18547e
FIX: shows invite panel on mobile from topic footer buttons (#7080) 2019-02-28 14:56:22 +01:00
Régis Hanol
6b006c383b FIX: polls acceptance tests 2019-02-27 19:16:24 +01:00
Maja Komel
7d2ea2d4dd FEATURE: image resizing discoverability (#6804) 2019-02-27 11:46:16 +01:00
Erick Guan
e1d1073273 FIX: use * when apply italics in the editor instead of _ (#7063) 2019-02-27 10:36:14 +01:00
Vinoth Kannan
59c66fd226
REFACTOR: Improve the readability of code (#7076) 2019-02-26 23:03:49 +05:30
Joffrey JAFFEUX
8c706b0ff7
fix tests (#7073) 2019-02-26 16:49:29 +01:00
Joffrey JAFFEUX
d04c4bf8e7
UX: puts back share-panel as floating pane on post actions (#7066) 2019-02-26 14:15:25 +01:00
Arpit Jalan
6ea9f5c9c5 FIX: do not update tag name on /tags/intersection 2019-02-26 16:43:39 +05:30