Commit Graph

24092 Commits

Author SHA1 Message Date
David Taylor
821bb1e8cb FEATURE: Rename 'Discourse SSO' to DiscourseConnect (#11978)
The 'Discourse SSO' protocol is being rebranded to DiscourseConnect. This should help to reduce confusion when 'SSO' is used in the generic sense.

This commit aims to:
- Rename `sso_` site settings. DiscourseConnect specific ones are prefixed `discourse_connect_`. Generic settings are prefixed `auth_`
- Add (server-side-only) backwards compatibility for the old setting names, with deprecation notices
- Copy `site_settings` database records to the new names
- Rename relevant translation keys
- Update relevant translations

This commit does **not** aim to:
- Rename any Ruby classes or methods. This might be done in a future commit
- Change any URLs. This would break existing integrations
- Make any changes to the protocol. This would break existing integrations
- Change any functionality. Further normalization across DiscourseConnect and other auth methods will be done separately

The risks are:
- There is no backwards compatibility for site settings on the client-side. Accessing auth-related site settings in Javascript is fairly rare, and an error on the client side would not be security-critical.
- If a plugin is monkey-patching parts of the auth process, changes to locale keys could cause broken error messages. This should also be unlikely. The old site setting names remain functional, so security-related overrides will remain working.

A follow-up commit will be made with a post-deploy migration to delete the old `site_settings` rows.
2021-02-08 10:04:33 +00:00
Joffrey JAFFEUX
205db66864 A11Y: Adds support for aria-expanded and aria-controls to btn (#11846)
This commit also uses this new feature for the expand/collapse control of the user activity page.
2021-02-08 08:45:37 +01:00
Joffrey JAFFEUX
8957e4d9d0 A11Y: makes user notifications list more accessible (#11992)
Previous markup used to be

```
<div>
  <div>
    <li>
```

Instead we will now have:

```
<ul>
  <li>
    <div>
```

Note this commit also adds two things:
- ability to override tagName of a widget when attaching it
- ability to pass opts and otherOpts to {{attach}}, it could be useful in templates but is mostly useful to test `tagName` for now
2021-02-08 08:45:14 +01:00
Osama Sayegh
dbb015f03e FIX: Topic progress bar should be on the left in RTL layouts (#11999) 2021-02-08 17:42:55 +11:00
Osama Sayegh
f700e318a4 DEV: Add CSRF meta tags to pages served by Ember CLI server (#11993)
Signed-off-by: OsamaSayegh <asooomaasoooma90@gmail.com>
2021-02-06 01:18:29 +03:00
Kris
ded0f5b4e5 UX: Remove Helvetica from our font stack (#11876)
Arial is more consistently available across operating systems and aligns better.
2021-02-05 17:01:21 -05:00
Penar Musaraj
015ea28778 UX: Small fix for Chrome focus style on replies button (#11996) 2021-02-05 14:02:30 -05:00
Kris
a2946b0728 Move category dropdown changes to desktop only (#11995)
follow-up to 615a091
2021-02-05 11:30:08 -05:00
Kris
3ed6747bf2 UX: Show caret icon on user notification dropdown (#11991) 2021-02-05 10:30:36 -05:00
David Taylor
d1b289daaa DEV: Cleanup detection of user summary route for header collapsing (#11985)
Previously it was using various willTransition and didTransition hooks
which can be quite fragile, especially when removing the
intermediate loading state.
2021-02-05 09:16:18 +00:00
Ahmed Gagan
f6e6ae5e24 DEV: Allows widgets to extend post-controls (#11897) 2021-02-05 09:27:47 +01:00
Vinoth Kannan
792c2b94f6 UX: don't display tag notification menu on category page. (#11989)
If both category and tag are selected then we shouldn't display a notification menu.
2021-02-05 09:19:00 +05:30
Kris
13dba16e7b UX: Fix reply where modal layout (#11990) 2021-02-05 14:37:02 +11:00
Martin Brennan
4af77f1e38 FEATURE: Allow durations < 1 hour and < 1 day for topic timers where duration is specified (auto delete replies, close based on last post) (#11961)
This PR allows entering a float value for topic timers e.g. 0.5 for 30 minutes when entering hours, 0.5 for 12 hours when entering days. This is achieved by adding a new column to store the duration of a topic timer in minutes instead of the ambiguous both hours and days that it could be before.

This PR has ommitted the post migration to delete the duration column in topic timers; it will be done in a subsequent PR to ensure that no data is lost if the UPDATE query to set duration_mintues fails.

I have to keep the old keyword of duration in set_or_create_topic_timer for backwards compat, will remove at a later date after plugins are updated.
2021-02-05 10:12:56 +10:00
Kris
0fb1c122f4 UX: Clarify user rejection modal (#11967) 2021-02-04 15:20:07 -05:00
Joe
c307604d7f DEV: adds below-suggested-topics plugin outlet (#11980) 2021-02-05 03:41:12 +08:00
Kris
6d6436e9e7 UX: Fix & clarify bulk notification change modal (#11969) 2021-02-04 14:35:47 -05:00
Kris
c40c858233 REFACTOR: Remove d-button block helpers (#11970) 2021-02-04 14:35:23 -05:00
Penar Musaraj
2bc739eaa5 UX: Use bright color for primary button hover on dark schemes (#11979) 2021-02-04 13:31:09 -05:00
Penar Musaraj
85310f82f5 FIX: Don't cancel filtering on second "n replies" tap (#11975)
Fixes an issue introduced in 0f31a221c9.
2021-02-04 11:41:01 -05:00
Penar Musaraj
eb29827e9d UX: Adjust focus styles for topic post menu, composer cancel (#11977) 2021-02-04 10:28:35 -05:00
Kris
dbb5c373ce UX: popup menu buttons need focus style (#11962) 2021-02-04 09:37:45 -05:00
Penar Musaraj
12ffba771c FIX: Improve SCSS handling in components (#11963)
- ignores errors when including component SCSS in parent theme
- adds support for SCSS `@import`s in components' `color_definitions.scss` files
2021-02-04 08:51:18 -05:00
Osama Sayegh
b580e3e657 DEV: Add more @ember modules for plugins compatibility with Ember CLI (#11972)
Some plugins (like discourse-calendar) import things from `@ember/string` and `rsvp`, so we need to add them in order for the plugins to work with Ember CLI.
2021-02-04 16:26:06 +03:00
Arpit Jalan
309adb82ba UX: add a confirmation modal to "Remove All Tags" action (#11973)
UX: update label for "Remove Tags" action
2021-02-04 18:30:01 +05:30
Arpit Jalan
06225abe93 FIX: process new invites when existing users are already group members (#11971)
If a list of email addresses is pasted into a group’s Add Members form
that has one or more email addresses of users who already belong to the
group and all other email addresses are for users who do not yet exist
on the forum then no invites were being sent. This commit ensures that
we send invites to new users.
2021-02-04 15:36:08 +05:30
Osama Sayegh
97b55af9cf DEV: Use @action decorator (#11955)
Follow up to db7b7eed9d
2021-02-04 14:41:53 +11:00
Rafael dos Santos Silva
d518b302a0 FIX: Composer upload icon regression because of WEBP (#11959)
Similar to
ba9fbb3443

Reported on
https://meta.discourse.org/t/image-icon-has-changed-to-upload-icon/178247?u=falco
2021-02-04 14:41:07 +11:00
Kris
e7ca1ed6bf UX: remove unneeded margin from user stream (#11964) 2021-02-04 14:39:43 +11:00
Kris
4f588a0569 UX: fix button alignment on log-in required page (#11965) 2021-02-04 14:38:58 +11:00
Kris
615a091707 UX: ensure category breadcrumbs have consistent height (#11966) 2021-02-04 14:38:12 +11:00
Krzysztof Kotlarek
f39e7fe81d FEATURE: New way to dismiss new topics (#11927)
This is a try to simplify logic around dismiss new topics to have one solution to work in all places - dismiss all-new, dismiss new in a specific category or even in a specific tag.
2021-02-04 11:27:34 +11:00
Martin Brennan
e58f9f7a55 DEV: Move logic for rate limiting user second factor to one place (#11941)
This moves all the rate limiting for user second factor (based on `params[:second_factor_token]` existing) to the one place, which rate limits by IP and also by username if a user is found.
2021-02-04 09:03:30 +10:00
Robin Ward
61f5d501cb DEV: Migrate to Ember CLI (#11932)
This encompasses a lot of work done over the last year, much of which
has already been merged into master. This is the final set of changes
required to get Ember CLI running locally for development.

From here on it will be bug fixes / enhancements.

Co-authored-by: Jarek Radosz <jradosz@gmail.com>
Co-authored-by: romanrizzi <rizziromanalejandro@gmail.com>

Co-authored-by: Jarek Radosz <jradosz@gmail.com>
Co-authored-by: romanrizzi <rizziromanalejandro@gmail.com>
2021-02-03 14:22:20 -05:00
Jarek Radosz
8ad5284cf7 FIX: Don't create email invites when SSO is on or local logins are off (#11951)
A more general, lower-level change in addition to #11950.

Most code paths already check if SSO is enabled or if local logins are disabled before trying to create an email invite.
This is a safety net to ensure no invalid invites sneak by. 

Also includes:
FIX: Don't allow to bulk invite when SSO is on (or when local logins are disabled)
This mirrors can_invite_to_forum? and other email invite code paths.
2021-02-03 19:01:23 +01:00
Jarek Radosz
704778f448 FIX: Don't invite new users via group with SSO on or local logins off (#11950)
Issue originally reported in https://meta.discourse.org/t/bypass-sso-by-adding-unkown-email-to-group/177339

Inviting people via email address to a group when SSO is enabled (or local logins are disabled) led to a situation where user records were being created bypassing single sign-on.

We already prevent that in most places. This adds required checks to `GroupsController`.
2021-02-03 18:13:00 +01:00
Jarek Radosz
45931f86be DEV: Remove bulk group admin endpoints (#11949)
Originally added in 47e25648df. Looks like all related code was removed in c82b2dcc24 and b76731d722.
2021-02-03 18:12:22 +01:00
Penar Musaraj
2dc48fd6c1 UX: Uniformize styles for focus states (#11933) 2021-02-03 11:45:54 -05:00
Penar Musaraj
04dd4a75af UX: Always show confirmation dialog when converting themes/components (#11953) 2021-02-03 11:45:25 -05:00
Robin Ward
93c25070fa FIX: In FastImage 2.2.2 an error is raised with a nil path (#11954)
* FIX: In FastImage 2.2.2 an error is raised with a `nil` path

Sometimes Discourse.store.path_for would return `nil`, which the job
handled gracefully before, but raises an error with the new version of
the gem.

Note the logic of this job is a bit awkward since it depends on `nil`
being a string, but at least now it's no longer filling logs with
errors.

* Update app/jobs/onceoff/fix_invalid_gravatar_uploads.rb

Co-authored-by: Bianca Nenciu <nbianca@users.noreply.github.com>

Co-authored-by: Bianca Nenciu <nbianca@users.noreply.github.com>
2021-02-03 11:45:12 -05:00
Jarek Radosz
155ae06f62 DEV: Remove group-members-dropdown (#11948)
It was introduced in c82b2dcc24, but since b76731d722 and 58ee947b35 it's a single-option dropdown, so there's no need to show it (and keep it) instead of a button. We use a button for non-admins already.
2021-02-03 17:42:12 +01:00
Jarek Radosz
39a9651847 DEV: Remove update_mail_receiver and deprecated_api_usage (#11947)
`update_mail_receiver`-related code was removed in 269ec70ba8 and `deprecated_api_usage`-related code was removed in d04ba4b3b2.
2021-02-03 17:41:47 +01:00
Osama Sayegh
db7b7eed9d FIX: Restore support for pasting multiple PM recipients (#11945)
This is a regression from 98201ecc24.

Meta topic: https://meta.discourse.org/t/-/178167?u=osama.

Signed-off-by: OsamaSayegh <asooomaasoooma90@gmail.com>
2021-02-03 18:06:16 +03:00
Bianca Nenciu
901cee55cd FEATURE: Improve group settings and members management (#11878)
This pull requests contains a series of improvements to groups
settings and member management such as:

- Showing which users have set a group as primary
- Moving similar settings together under Effects
- Adding bulk select and actions to members page
2021-02-03 16:11:08 +02:00
Alan Guo Xiang Tan
0cc178d58b FIX: Avoid pulling hotlinked images of post that have been deleted. (#11913) 2021-02-03 16:45:07 +11:00
Bianca Nenciu
3744e49190 FIX: Refresh category order after save (#11936)
The changes were not visible immediately after saving reordered
categories.
2021-02-03 16:44:13 +11:00
Martin Brennan
6d72c8ab19 FEATURE: Topic timer UI revamp (#11912)
This PR revamps the topic timer UI, using the time shortcut selector from the bookmark modal.

* Fixes an issue where the duration of hours/days after last reply or auto delete replies was not enforced to be > 0
* Fixed an issue where the timer dropdown options were not reloaded correctly if the topic status changes in the background (use `MessageBus` to publish topic state in the open/close timer jobs)
* Moved the duration input and the "based on last post" option from the `future-date-input` component, as it was only used for topic timers. Also moved out the notice that is displayed which was also only relevant for topic timers.
2021-02-03 10:13:32 +10:00
Robin Ward
f39ae8a903 SECURITY: Rate limit MFA by login if possible (#11938)
This ensures we rate limit on logins where possible, we also normalize logins for the rate limiters centrally.
2021-02-03 10:26:28 +11:00
Vinoth Kannan
e6a02469ad DEV: refresh all CDN endpoint URLs except the S3 uploads & assets. (#11937)
Using this added a temporary query param to force browsers to redownload all CDN endpoints.
2021-02-03 02:22:01 +05:30
Kris
2ee63a6a83 DEV: Update icon structure in bootbox buttons (#11925) 2021-02-02 15:47:10 -05:00