Commit Graph

19090 Commits

Author SHA1 Message Date
Kris
c7c409549b margin fix 2019-03-20 16:04:47 -04:00
Tarek Khalil
1dd0fa0c4e
REFACTOR: Move redundant ignored user check into guardian (#7219)
* REFACTOR: Move redundant ignored user check into guardian
2019-03-20 19:55:46 +00:00
Penar Musaraj
3c7eb74f51 DEV: no delaying topic scroll in tests 2019-03-20 15:24:06 -04:00
Joffrey JAFFEUX
45ef2ec8cd
DEV: do not wait for closed composer event on test (#7221) 2019-03-20 20:13:15 +01:00
Kris
88a3b89990 UX: Improve user profile header layout on mobile 2019-03-20 14:56:34 -04:00
Tarek Khalil
5852e86226 FEATURE: Only allow TL2 Users to ignore other users (#7212) 2019-03-20 15:02:33 +01:00
Rishabh
ad6ad3f679 DEV: Remove SiteSetting.s3_force_path_style (#7210)
- s3_force_path_style was added as a Minio specific url scheme but it has never been well supported in our code base.
- Our new migrate_to_s3 rake task does not work reliably with path style urls too
- Minio has also added support for virtual style requests i.e the same scheme as AWS S3/DO Spaces so we can rely on that instead of using path style requests.
- Add migration to drop s3_force_path_style from the site_settings table
2019-03-20 14:58:20 +01:00
Maja Komel
f3d0d8fe7d Upgrade to Ember 3.7.0 2019-03-20 14:43:25 +01:00
Dan Ungureanu
f2c6a160e5
DEV: Fix build.
Follow-up to eed1c9e0e3.
2019-03-20 12:45:00 +02:00
Tarek Khalil
3b59ff0d02 [FEATURE] Disallow ignoring self, admins or moderators users (#7202) 2019-03-20 11:18:46 +01:00
Tarek Khalil
fed2dd9148 FEATURE: Add scheduled job to purge expired ignored users (#7211) 2019-03-20 11:01:43 +01:00
Dan Ungureanu
eed1c9e0e3
FIX: Do not show post notices for bots. 2019-03-20 11:58:02 +02:00
Joe
6f1badc7c9 REFACTOR: user and group card CSS / template refactor (#6812)
* Check if user is a member of a group or if the group has members 
this is used in the template to conditionally show the relevant markup

* Check if user is suspended or if they have a bio
this is used in the template to conditionally show the relevant markup

* Simplify group-card template

* Simplify user-card template

* Refactor user and group cards CSS

* Check if user is new or if user is staff

* Style fixes

- round avatar margin 
- use a more standard margin for buttons
- adds lighter font color for new users
- makes some suspension text bold (used to be <b> tags in template)
- ensures images in group bio are responsive

* user card template fixes

- adds quotes to link href attributes
- wraps some strings in tags for more consistent styling

* group card fixes

- adds quotes to link href attributes
- fixes membership button login action
- wraps some strings with tags for consistent styling

* closure action fixes

* closure action fix

* uses core variables instead of new colors and removes unused styles

* Uses better property names
2019-03-20 10:45:49 +01:00
Guo Xiang Tan
8d1709f6b9 FIX: Disable buttons when loading more results on full page search.
Follow up to d50deac676.
2019-03-20 17:20:34 +08:00
tshenry
cc8082138f
Fix typos 2019-03-20 00:06:12 -07:00
Guo Xiang Tan
03c6b22c62 PERF: Reduce number of queries and size of payload when searching.
1. Remove `cooked` becaused only the blurb is used on the client side to
display search results.
2. Remove `ignored` because the result is not used in anyway when
searching for pots.
2019-03-20 14:40:39 +08:00
Sam Saffron
d46ce0cb21 DEV: speed up ember acceptance tests
## Before

```
Acceptance: Composer::Image resizing buttons: 7985ms
Acceptance: Composer::Edit the first post: 3854ms
Acceptance: Composer::Composer with dirty edit can toggle to another edit: 3707ms
Acceptance: Composer::Composer can toggle between edit and reply: 3704ms
Acceptance: Composer::Tests the Composer controls: 3685ms
Acceptance: Composer::Composer draft with dirty reply can toggle to edit: 3670ms
Acceptance: Composer::Composer can toggle layouts (open, fullscreen and draft): 3278ms
Acceptance: Composer::Switching composer whisper state: 3266ms
Acceptance: Composer::Create a topic with server side errors: 3253ms
Acceptance: Composer::Composer with dirty reply can toggle to edit: 3189ms
Acceptance: Composer::Create a Topic: 3168ms
Acceptance: Composer::Create an enqueued Topic: 2767ms
Acceptance: Composer::Posting on a different topic: 2394ms
Acceptance: Composer::Composer can switch between edits: 2318ms
Acceptance: Composer::Create an enqueued Reply: 2317ms
Acceptance: Composer::Create a Reply: 2292ms
Acceptance: Composer::Checks for existing draft: 1696ms
Acceptance: Composer::Composer can toggle between reply and createTopic: 1415ms
Acceptance: Composer::Composer can toggle whispers: 1296ms
Acceptance: Composer::Loading draft also replaces the recipients: 594ms
```

## After

```
Acceptance: Composer::Composer can toggle layouts (open, fullscreen and draft): 2305ms
Acceptance: Composer::Switching composer whisper state: 2205ms
Acceptance: Composer::Composer draft with dirty reply can toggle to edit: 2185ms
Acceptance: Composer::Composer can toggle between edit and reply: 1719ms
Acceptance: Composer::Composer with dirty edit can toggle to another edit: 1682ms
Acceptance: Composer::Composer with dirty reply can toggle to edit: 1657ms
Acceptance: Composer::Composer can toggle between reply and createTopic: 1412ms
Acceptance: Composer::Posting on a different topic: 1341ms
Acceptance: Composer::Edit the first post: 1327ms
Acceptance: Composer::Create an enqueued Reply: 1306ms
Acceptance: Composer::Composer can toggle whispers: 1265ms
Acceptance: Composer::Composer can switch between edits: 1260ms
Acceptance: Composer::Create a Reply: 1259ms
Acceptance: Composer::Create a topic with server side errors: 1183ms
Acceptance: Composer::Checks for existing draft: 1172ms
Acceptance: Composer::Create a Topic: 1130ms
Acceptance: Composer::Image resizing buttons: 921ms
Acceptance: Composer::Create an enqueued Topic: 731ms
Acceptance: Composer::Tests the Composer controls: 654ms
Acceptance: Composer::Loading draft also replaces the recipients: 540ms

```


That is not a typo... image resizing button went from 8 seconds to 1 second
2019-03-20 16:44:00 +11:00
Guo Xiang Tan
d50deac676 FIX: Search spinners hides all results when loading more.
Regression from bc81f64a64.
2019-03-20 13:34:56 +08:00
Bianca Nenciu
50e9a66e89 FIX: Improve UX for second factor enforcement. (#7207) 2019-03-20 15:40:25 +11:00
Kris
c72a60896c FIX: New account modal too narrow in Safari 2019-03-19 15:13:04 -04:00
Kris
955c8cb330 FIX: Login modal too narrow in Safari 2019-03-19 15:07:35 -04:00
Joe
ac4470cd56
UX: Hide mobile header notification badges if title is visible 2019-03-20 01:43:23 +08:00
Joe
533fb0019a fully hide header buttons if topic is visible (#7203) 2019-03-19 15:31:45 +01:00
Vinoth Kannan
0861ca7764 FIX: Don't push browser state if navigated from root url to home page url and vice versa 2019-03-19 19:22:06 +05:30
Dan Ungureanu
bdcb0e1efd
UX: Set color to gray for old post notices. 2019-03-19 15:47:47 +02:00
Leo McArdle
b084750953 FIX: don't redirect incorrectly after full screen login (#7170)
Fixes two issues:
1. Redirecting to an external origin's path after login did not work
2. User would be erroneously redirected to the external origin after logout

https://meta.discourse.org/t/109755
2019-03-19 12:39:13 +00: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
Régis Hanol
31e06dbcd2 FIX: SES webhook wasn't parsing the message 2019-03-19 11:40:19 +01:00
Joe
6d7c0c8f13
REFACTOR: scroll-based mobile header switch
This refactor addresses the following issues:

1- Moves all relevant logic to the discourse-topic component (matches desktop)
2- Fixes the flicker issue discussed here
3- Fixes a rare occurring issue where tags wrap to a third line if a topic has long category names and lots of tags
4- Fixes header icon jitter on iOS
5- Fixes an issue where sliding out user / hamburger menus on Android leaves the user in a mid-state with half a title and the header panel visible - swiping will now open the menus but have no effect on the header.
6- adds min-width to the small-logo to act as placeholder so that the title doesn't shift if the logo takes a while to load.

Other than that, everything should look and act the same.
2019-03-19 18:39:38 +08:00
Guo Xiang Tan
d808f36fc4 FIX: Reindex post for search when post is moved to a different topic.
* This is causing certain posts to appear in searches incorrectly as `PostSearchData#raw_data` contains the outdated title, category name and tag names.
2019-03-19 17:19:14 +08:00
Maja Komel
714a0d87df UX: order categories based on latest activity for all page styles (#7196)
follow up on 32db3ac2
2019-03-19 09:35:32 +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
Guo Xiang Tan
bc81f64a64 UX: Show spinner when searching on full page search. 2019-03-19 15:23:27 +08:00
Sam Saffron
f8be43644b DEV: allow nonce expiry time to be extended cleanly from a plugin
Previously one would have to redefine a constant
2019-03-19 17:33:38 +11:00
Guo Xiang Tan
4020c87680 DEV: Refactor tests for Jobs::CleanUpInactiveUsers.
* Remove use of 0 in favor of `TrustLevel.levels[:newuser]`.
* Consolidate two tests into a single one.
* Test that disabling the feature works.
* Avoid loading full ActiveRecord object in test when we only need to
know the existence of the record.
2019-03-19 09:57:21 +08:00
Gerhard Schlager
8a99d59422 FIX: seed data classes couldn't always be found 2019-03-18 23:13:47 +01:00
Gerhard Schlager
3fd04df781
FEATURE: Locale support for seeded categories and topics (#7110) 2019-03-18 21:09:13 +01:00
Joffrey JAFFEUX
d91b47064e
FIX: windows has no country flags (#7199) 2019-03-18 19:28:49 +01:00
Maja Komel
5d20d02ffc UX: add tag classes to topics in topics list view (#7198) 2019-03-18 13:58:29 -04: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
Gerhard Schlager
c0a7b06777 Make eslint happy 2019-03-18 16:48:09 +01: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
Bianca Nenciu
2347661a74 FEATURE: Clean up inactive users. (#7172) 2019-03-18 16:25:15 +01:00
Maja Komel
7e9afdace3 FEATURE: custom colors for default letter avatars (#7167) 2019-03-18 16:24:21 +01:00
Tim Lange
22c75e1c04 FIX: Fixed edit category description redirecting without saving (#7192) 2019-03-18 16:14:17 +01:00
Tim Lange
298f18cf70 UX: Enabled pinch to zoom for lightbox (#7161)
* UX: Enabled pinch to zoom for lightbox

* FIX: Prettier for lightbox.js

* FIX: Only change content of meta tag
2019-03-18 10:57:24 -04:00
venarius
3dfa22b55a FIX: Prettified code 2019-03-18 10:54:20 -04:00
venarius
4af0a2f00b FIX: Made reorder more convenient by clamping the entered number 2019-03-18 10:54:20 -04:00
venarius
ad363f45f0 FIX: Fixed reorder categories by number not working correctly 2019-03-18 10:54:20 -04:00
Penar Musaraj
2506acae80
FIX: Respect permalinks starting with "/category" (#7171) 2019-03-18 10:24:46 -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
Arpit Jalan
0c01cb2cf3 UX: add instructions to update email when sso_overrides_email is enabled 2019-03-18 16:52:40 +05:30
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
0a8f950281
FIX: bumps emoji cache version (#7195)
Might not be necessary, but might avoid weird results with all the recents emoji changes.
2019-03-18 08:22:36 +01:00
Joffrey JAFFEUX
de6a7e32bd
FIX: brings back [+ New Topic] btn from share-popup post action (#7182) 2019-03-18 07:30:10 +01:00
Sam Saffron
c47b0a8bee Revert "UX: Added tooltips to topic admin menu (#7146)"
This reverts commit d1c4981f65.

Per discussion with @coding-horror it was decided this change is to
far reaching.

Instead we will make smaller strategic changes to tooltips that add
value.
2019-03-18 11:50:18 +11:00
Vinoth Kannan
4477938ea7 DEV: Option to preload category custom fields for site serializer 2019-03-16 17:18:57 +05:30
Joffrey JAFFEUX
bc488c8dc0
FIX: prevents overflow on emoji picker on mobile (#7189) 2019-03-16 10:59:02 +01:00
Kris
b12ef793b7 minor button alignment fix 2019-03-15 19:25:51 -04:00
Kris
95e8c935c5 UX: Update brand color, some login adjustments 2019-03-15 17:20:52 -04:00
Rafael dos Santos Silva
8ce20090f7 FEATURE: Allow users to fetch a customized manifest on PWA install
This will allow users installing a Discourse PWA to use their active
theme colors on the generated app. Thanks for @mgiuca for the tip.

Also makes the share_target config explicit to silence Chrome warnings
2019-03-15 17:10:05 -03:00
Joffrey JAFFEUX
e76b598e0f
FIX: ensures add/remove btn is shown if you can only invite (#7185) 2019-03-15 20:20:42 +01:00
Bianca Nenciu
5114ef958a FIX: Do not trigger post alerts for empty posts. (#7138) 2019-03-15 17:58:43 +01:00
Joffrey JAFFEUX
aa4b84925a FEATURE: updates emoji to latest 12.0 version (#7095)
* improved emoji support

- always optimize images as part of the task
- use the unicode standard ordering/naming for sections

* UX: more height for when there are recently used
2019-03-15 16:12:07 +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
Régis Hanol
a6a52d1523 FIX: images:compress rake task
Optimized a few unoptimized PNGs.
2019-03-15 15:23:57 +01:00
Tarek Khalil
f8480ed911
FEATURE: Exposing a way to add a generic report filter (#6816)
* FEATURE: Exposing a way to add a generic report filter

## Why do we need this change?

Part of the work discussed [here](https://meta.discourse.org/t/gain-understanding-of-file-uploads-usage/104994), and implemented a first spike [here](https://github.com/discourse/discourse/pull/6809), I am trying to expose a single generic filter selector per report.

## How does this work?

We basically expose a simple, single generic filter that is computed and displayed based on backend values passed into the report.

This would be a simple contract between the frontend and the backend.

**Backend changes:** we simply need to return a list of dropdown / select options, and enable the report's newly introduced `custom_filtering` property.

For example, for our [Top Uploads](https://github.com/discourse/discourse/pull/6809/files#diff-3f97cbb8726f3310e0b0c386dbe89e22R1423) report, it can look like this on the backend:

```ruby
report.custom_filtering = true
report.custom_filter_options = [{ id: "any", name: "Any" }, { id: "jpg", name: "JPEG" } ]
```

In our javascript report HTTP call, it will look like:

```js
{
  "custom_filtering": true,
  "custom_filter_options": [
    {
      "id": "any",
      "name": "Any"
    },
    {
      "id": "jpg",
      "name": "JPG"
    }
  ]
}
```

**Frontend changes:** We introduced a generic `filter` param and a `combo-box` which hooks up into the existing framework for fetching a report.

This works alright, with the limitation of being a single custom filter per report. If we wanted to add, for an instance a `filesize filter`, this will not work for us. _I went through with this approach because it is hard to predict and build abstractions for requirements or problems we don't have yet, or might not have._

## How does it look like?

![a1ktg1odde](https://user-images.githubusercontent.com/45508821/50485875-f17edb80-09ee-11e9-92dd-1454ab041fbb.gif)

## More on the bigger picture

The major concern here I have is the solution I introduced might serve the `think small` version of the reporting work, but I don't think it serves the `think big`, I will try to shed some light into why.

Within the current design, It is hard to maintain QueryParams for dynamically generated params (based on the idea of introducing more than one custom filter per report).

To allow ourselves to have more than one generic filter, we will need to:

a. Use the Route's model to retrieve the report's payload (we are now dependent on changes of the QueryParams via computed properties)
b. After retrieving the payload, we can use the `setupController` to define our dynamic QueryParams based on the custom filters definitions we received from the backend
c. Load a custom filter specific Ember component based on the definitions we received from the backend
2019-03-15 12:15:38 +00:00
Bianca Nenciu
d352baa1a2
FEATURE: Enforce two-factor authentication. (#6348) 2019-03-15 13:09:37 +02:00
Joffrey JAFFEUX
e711d3cb3a
FIX: prevents quote shortcut key to show in composer before quote (#7177) 2019-03-15 12:01:38 +01:00
Guo Xiang Tan
6327f36bfd PERF: Avoid loading ActiveRecord objects when checking for second factor.
* Eliminate DB query for sites without local logins and sites that has
SSO enabled.
2019-03-15 15:09:44 +08:00
Guo Xiang Tan
c5808a8a25 PERF: N+1 queries admin users pages. 2019-03-15 15:09:44 +08:00
Penar Musaraj
d6d4a5ba4a FEATURE: support custom icons in themes (#7155)
* First take

* Add support for sprites in themes

Automatically register any custom icons added via themes or plugins

* Fix theme sprite caching

* Simplify test

* Update lib/svg_sprite/svg_sprite.rb

Co-Authored-By: pmusaraj <pmusaraj@gmail.com>

* Fix /svg-sprite/search request
2019-03-15 17:16:15 +11:00
Maja Komel
32db3ac228 UX: order categories based on recent activity when using categories_and_latest_topics layout (#7166) 2019-03-15 17:14:49 +11:00
Tim Lange
37c613dde2 FIX: Outsourced erb part from emoji.js.es6 (#7168) 2019-03-15 15:44:49 +11:00
Vinoth Kannan
bec3956f7f
FIX: Topic filters persist when navigating to home page (#7175)
* FIX: Topic filters persist when navigating to home page

* remove the line which no longer needed
2019-03-15 09:45:17 +05:30
Tarek Khalil
bd6d31c9ec
FEATURE: Add IgnoredUsersSummary daily job (#7144)
* FEATURE: Add `IgnoredUsersSummary` daily job

## Why?

This is part of the [Ability to ignore a user feature](https://meta.discourse.org/t/ability-to-ignore-a-user/110254/8).

We want to:

1. Send an automatic group PM that goes out to moderators
2. When {x} users have Ignored the same user, threshold defined by a site setting, default of 5
3. Only send this message every X days which is defined by another site setting
2019-03-14 22:51:43 +00:00
Rafael dos Santos Silva
fb8bcd7469
FEATURE: Enable experimental Badging API (#7173) 2019-03-14 18:16:16 -03:00
Arpit Jalan
d6d71de855 FIX: allow banner topic posts to be moved to regular topic (and vice versa) 2019-03-14 23:41:23 +05:30
Robin Ward
1b65469b64 FIX: Backwards compatibility for SiteSetting.queue_jobs
Some plugin specs use this. Let's deprecate it instead.
2019-03-14 11:39:10 -04:00
Robin Ward
fa5a158683 REFACTOR: Move queue_jobs out of SiteSetting
It is not a setting, and only relevant in specs. The new API is:

```
Jobs.run_later!        # jobs will be thrown on the queue
Jobs.run_immediately!  # jobs will run right away, avoid the queue
```
2019-03-14 10:47:38 -04:00
Gerhard Schlager
f3c76ad482 FIX: Failed to detect existing category permalink 2019-03-14 13:42:05 +01:00
Gerhard Schlager
c34a6ba674 REFACTOR: Rename site settings to make them less confusing 2019-03-14 13:40:14 +01:00
Tarek Khalil
6f6dea87f3
FIX: optimise querying Post's serializer ignored attribute (#7169) 2019-03-14 12:10:53 +00:00
Guo Xiang Tan
b9ab393d70 Fix favicon not updating on the client side when changed.
Regression from 1c6a2262b3.

Documented the rational for include the url since we can't really test
this properly.
2019-03-14 15:37:43 +08:00
Guo Xiang Tan
40b03e717b FIX: Upload#migrate_to_new_scheme should not migrate system uploads. 2019-03-14 12:45:03 +08:00
Guo Xiang Tan
d2a7f29595 Revert "REFACTOR: remove unnecessary parentheses attempt 2 (follow-up on 154f503d)"
This reverts commit 7db2dc717e.

Commit breaks post edits for regular users.
2019-03-14 08:15:40 +08:00
Guo Xiang Tan
1c6a2262b3
FIX: StaticController#favicon reads from disk when using local store. (#7160)
Since uploads site settings are now backed by an actual upload, we don't
have to reach over the network just to fetch the favicon. Instead, we
can just read the upload directly from disk.
2019-03-14 04:17:36 +08:00
Neil Lalonde
7db2dc717e REFACTOR: remove unnecessary parentheses attempt 2 (follow-up on 154f503d) 2019-03-13 15:33:46 -04:00
Dan Ungureanu
81bf4df1a5
DEV: Fix lint. 2019-03-13 21:32:28 +02:00
Dan Ungureanu
18ff790e79
FIX: Use prioritize_username_in_ux in post notices. 2019-03-13 21:17:41 +02:00
Roman Rizzi
77931b70c3
Revert "DEV: Upgrade to Ember 3.7.0 (#6977)" (#7165)
This reverts commit 3eebf8be73.
2019-03-13 15:49:47 -03:00
Kris
4178578e09 UX: Adhere to Facebook & Twitter brand guidelines for share icon colors 2019-03-13 13:42:11 -04:00
Maja Komel
65f3ed0689 UX: make name optional for confirmation user field (#7149) 2019-03-13 18:40:43 +01:00
Maja Komel
12c37ada2e UX: focus on search box when emoji picker is opened (#7098) 2019-03-13 17:48:40 +01:00
David Taylor
420c6f8102
FEATURE: Skip sending emails to domains on the .invalid TLD (#7162)
This is a reserved TLD which we use when importing users without an email address. https://tools.ietf.org/html/rfc2606
2019-03-13 16:17:59 +00:00
Dan Ungureanu
91bd0becaa DEV: Allow topics to register default topic order criteria. (#7158) 2019-03-13 16:44:08 +01: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