Commit Graph

1799 Commits

Author SHA1 Message Date
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
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
Joffrey JAFFEUX 71360436ff
FIX: users list show was loading multiple times with different params (#7058)
A first load was happening in route, which was setting properties on controller. These properties were observed on the controller and were triggering a reload of the AdminUser model.

Not only was it doing loading two times it was also sometimes resulting on the controller model refresh end to happen after route has been changed, resulting in a wrong model.
2019-02-26 10:43:24 +01:00
Vinoth Kannan ed0120171c FIX: Hide 'show associated accounts' button if moderators can't see emails
And minor prettier code alignments
2019-02-26 13:49:27 +05:30
Joffrey JAFFEUX 5952a6c0ad
DEV: uses find() helper instead of this.$() in js tests (#7062) 2019-02-25 16:04:55 +01:00
Joffrey JAFFEUX 919839fd97
FIX: allows {{d-button}} to set a form attribute (#7056)
This attribute is used when a submit button is out of a form. It makes it explicit which form this button is submitting.

It's currently used in our login modal form.
2019-02-25 09:49:49 +01:00
Joffrey JAFFEUX 70aec8d02a
simpler post-date test to avoid tz differences (#7050) 2019-02-21 14:39:51 +01:00
Joffrey JAFFEUX 81c31b331d
DEV: adds tests to verify post date sharing modal behaviour (#7049) 2019-02-21 14:04:56 +01:00
Guo Xiang Tan 46e62c0d22
UX: Default user facing routes to `/g` instead of `/groups`. (#7042) 2019-02-21 13:44:25 +08:00