Commit Graph

45419 Commits

Author SHA1 Message Date
4bc2d54685 DEV: include time_left information in rate limiting error messages (#17037) 2022-06-08 14:30:41 +05:30
55d7aa0190 Build(deps): Bump faraday-multipart from 1.0.3 to 1.0.4 (#17033) 2022-06-08 10:17:15 +02:00
99b0578b4c FIX: escape youtube title when constructing onebox preview html (#16999) 2022-06-08 13:42:37 +08:00
82ac698d4f FIX: Missing tracked sub category topics from tracked topic list (#17034)
Follow-up to 7ae647d092ff13bea0a93bf7fdfa13cc898cd6f6
2022-06-08 10:45:59 +08:00
3941bad075 DEV: Remove this chained user scope (#17029)
This reverts one of the changes introduced just now in:

27d7b0c6de73cb0cd2bd5137b5a58c151bd83289

I don't think we need this `activated_not_suspended_not_staged` scope
because we can just compose it ourselves via method chaining like
`User.activated.not_suspended.not_staged`.
2022-06-07 15:21:42 -06:00
27d7b0c6de DEV: Add new user scopes (#17026)
Adds two new user scopes:

- `not_staged`
- `activated_not_suspended_not_staged`

This will allow us to easily grab activated users that are not suspended
or staged.

See this PR feedback:

https://github.com/discourse/discourse-chat/pull/913#discussion_r890692266
2022-06-07 12:58:58 -06:00
de1153286d DEV: Remove reply_as_new_topic from PM composer actions (#17023) 2022-06-07 11:06:42 -05:00
86ab82f057 UX: Remove limit for emoji search in composer (#17014) 2022-06-07 12:00:52 -04:00
4be67ef9a7 UX: Larger images in mobile emoji picker (#17013) 2022-06-07 12:00:09 -04:00
5238f6788c FEATURE: Allow hotlinked media to be blocked (#16940)
This commit introduces a new site setting: `block_hotlinked_media`. When enabled, all attempts to hotlink media (images, videos, and audio) will fail, and be replaced with a linked placeholder. Exceptions to the rule can be added via `block_hotlinked_media_exceptions`.

`download_remote_image_to_local` can be used alongside this feature. In that case, hotlinked images will be blocked immediately when the post is created, but will then be replaced with the downloaded version a few seconds later.

This implementation is purely server-side, and does not impact the composer preview.

Technically, there are two stages to this feature:

1. `PrettyText.sanitize_hotlinked_media` is called during `PrettyText.cook`, and whenever new images are introduced by Onebox. It will iterate over all src/srcset attributes in the post HTML and check if they're allowed. If not, the attributes will be removed and replaced with a `data-blocked-hotlinked-src(set)` attribute

2. In the `CookedPostProcessor`, we iterate over all `data-blocked-hotlinked-src(set)` attributes and check whether we have a downloaded version of the media. If yes, we update the src to use the downloaded version. If not, the entire media element is replaced with a placeholder. The placeholder is labelled 'external media', and is a link to the offsite media.
2022-06-07 15:23:04 +01:00
1a5dbbf430 FIX: Correctly handle invalid auth cookies (#16995)
Previously it would blow up on invalid utf byte sequences. This was a source of spec flakiness.
2022-06-07 13:00:25 +02:00
Joe
98671445a7 UX: hide select-kits when the parent element is outside the viewport
If the select-kit header is not in the viewport (scrolled out of view), popper adds a data-popper-reference-hidden attribute.

This PR adds the recommended styles to "hide" the select-kit body when that happens. See

https://popper.js.org/docs/v2/modifiers/hide/
2022-06-07 16:57:10 +08:00
7da074d591 DEV: Implement "My Posts" section link for experimental sidebar (#17008) 2022-06-07 10:52:54 +08:00
a258630790 Build(deps): Bump jwt from 2.3.0 to 2.4.0 (#17020)
Bumps [jwt](https://github.com/jwt/ruby-jwt) from 2.3.0 to 2.4.0.
- [Release notes](https://github.com/jwt/ruby-jwt/releases)
- [Changelog](https://github.com/jwt/ruby-jwt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jwt/ruby-jwt/compare/v2.3.0...v2.4.0)

---
updated-dependencies:
- dependency-name: jwt
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-07 00:29:44 +02:00
bbf5eab547 Build(deps): Bump rubocop from 1.30.0 to 1.30.1 (#17019)
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.30.0 to 1.30.1.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.30.0...v1.30.1)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-07 00:22:21 +02:00
00e756e358 DEV: Allow all subdomains of localhost in development (#17018)
By default in rails, it looks like only one level deep is allowed.
2022-06-06 16:02:51 -05:00
49415de3fa DEV: Remove reply_as_private_message from composer (#16979)
* Remove 'New Message' option from composer dropdown
* Update Acceptance Tests
2022-06-06 15:10:34 -05:00
d7bc395182 FIX: Seed multisite dbs after migrating in development (#17017)
Dumping the schema cache reset the current_db and we only need to do
this once.
2022-06-06 14:43:43 -05:00
35e17ce115 FIX: Email Send post has already been taken error (#16992)
* FIX: Email Send post has already been taken error

Adding a failing test first before coming up with a good solution.

Related: 357011eb3b4e9c5fb860a34ecbb2f5cb89e89a7a

The above commit changed

```
PostReplyKey.find_or_create_by_safe!
```

to

```
PostReplyKey.create_or_find_by!
```

But I don't think it is working as a 1-1 replacement because of the
`Validation failed: Post has already been taken` error we are receiving
with this change. Also we need to make sure we don't re-introduce any
concurrency issues.

Reported: https://meta.discourse.org/t/224706/13

* Remove rails unique constraint and rely on db index

I believe this is what is causing `create_or_find_by!` to fail. Because
we have a unique constraint in the db I think we can remove this rails
unique constraint?

* clean up spec wording
2022-06-06 13:13:26 -06:00
79f5a7750c DEV: Remove unused wizard code (#17016)
`theme-preview` component and `colorsId`/`fontId` usage.
2022-06-06 21:01:47 +02:00
54e42b124a FIX: Restore automatic style preview in wizard (#17015)
Updating the homepage/style preview regressed in #16994.
2022-06-06 21:01:34 +02:00
Joe
5109ea0cf1 UX: don't tether popper to the viewport if reference is out of the viewport (#17012)
followup to 

https://github.com/discourse/discourse/pull/16504

Internal

`/t/64811`

public

`/t/228953`
2022-06-06 22:20:29 +08:00
370df7ccb4 DEV: Dejquerify marking FAQ as read (#17001) 2022-06-06 08:27:10 -04:00
210d9c2b8f DEV: De-jQuerify is-element-in-viewport (#17000) 2022-06-06 08:26:49 -04:00
43346ddaa6 DEV: Remove the scheduled ember plugins workflow (#17011)
It hasn't worked once in 9 months 😉 and ember cli plugin tests are now a part of the main workflow (since 8a69de7964)
2022-06-06 12:57:17 +02:00
ae1dd05db2 DEV: Fix broken spec due to 213bcde080dcd5fee94ea4524cc880758823f786 (#17009) 2022-06-06 16:37:08 +08:00
213bcde080 Correct type for locked (#16997) 2022-06-06 15:23:40 +08:00
0a2eb7e2f4 DEV: Add choices only to relevant wizard fields (#16993) 2022-06-06 15:22:44 +08:00
eb40173121 Build(deps): Bump openssl-signature_algorithm from 1.1.1 to 1.2.1 (#17002)
Bumps [openssl-signature_algorithm](https://github.com/cedarcode/openssl-signature_algorithm) from 1.1.1 to 1.2.1.
- [Release notes](https://github.com/cedarcode/openssl-signature_algorithm/releases)
- [Changelog](https://github.com/cedarcode/openssl-signature_algorithm/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cedarcode/openssl-signature_algorithm/compare/v1.1.1...v1.2.1)

---
updated-dependencies:
- dependency-name: openssl-signature_algorithm
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-06 15:17:47 +08:00
0df36f0076 Build(deps): Bump multipart-post from 2.1.1 to 2.2.0 (#17003)
Bumps [multipart-post](https://github.com/socketry/multipart-post) from 2.1.1 to 2.2.0.
- [Release notes](https://github.com/socketry/multipart-post/releases)
- [Changelog](https://github.com/socketry/multipart-post/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketry/multipart-post/compare/v2.1.1...v2.2.0)

---
updated-dependencies:
- dependency-name: multipart-post
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-06 15:17:18 +08:00
32d4fc4b06 Build(deps): Bump oj from 3.13.13 to 3.13.14 (#17005)
Bumps [oj](https://github.com/ohler55/oj) from 3.13.13 to 3.13.14.
- [Release notes](https://github.com/ohler55/oj/releases)
- [Changelog](https://github.com/ohler55/oj/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/ohler55/oj/compare/v3.13.13...v3.13.14)

---
updated-dependencies:
- dependency-name: oj
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-06 15:16:33 +08:00
9f08a3b160 FIX: DiscourseConnect login did not auto approve based on email domain (#17006)
This commit resolves a bug where users are not auto approved based on
`SiteSetting.auto_approve_email_domains` when
`SiteSetting.must_approve_users` has been enabled.
2022-06-06 15:16:01 +08:00
42683d4874 FIX: ensures composer is not pre-filled with none/all tags (#16998) 2022-06-05 16:58:38 +02:00
8a58ce6578 DEV: Use @action decorator in wizard (#16996) 2022-06-04 19:19:49 +02:00
f4b9d4e285 FIX: Don't throw errors on wizard dropdowns (#16994) 2022-06-04 18:04:00 +02:00
17227e9e53 DEV: under specific conditions (like tests) presenceState can be null (#16990) 2022-06-03 20:59:30 +02:00
f8d2da2fa0 DEV: Remove jquery from invite-panel (#16989) 2022-06-03 11:30:44 -05:00
3b3f60218e DEV: Display new/unread count for tracked link in sidebar (#16957) 2022-06-03 15:48:35 +08:00
0fa0094531 FIX: Approves user when redeeming an invite for invites only sites (#16984)
When a site has `SiteSetting.invite_only` enabled, we create a
`ReviewableUser`record when activating a user if the user is not
approved. Therefore, we need to approve the user when redeeming an
invite.

There are some uncertainties surrounding why a `ReviewableRecord` is
created for a user in an invites only site but this commit does not seek
to address that.

Follow-up to 7c4e2d33fa4b922354c177ffc880a2f2701a91f9
2022-06-03 11:43:52 +08:00
f94682e2c4 FIX: Do not use SVGs for twitter:image metadata (#16973)
Twitter does not allow SVGs to be used for twitter:image
metadata (see https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup)
so we should fall back to the site logo if the image option
provided to `crawlable_meta_data` or SiteSetting.site_twitter_summary_large_image_url
is an SVG, and do not add the meta tag for twitter:image at all
if the site logo is an SVG.
2022-06-03 09:02:57 +10:00
f5e4df1b0e DEV: Remove jquery from themes list (#16980) 2022-06-02 16:01:24 -05:00
91f00ecf5a DEV: Remove jquery from group list (#16981) 2022-06-02 16:01:07 -05:00
951b3016a4 FIX: keep composer draft when go back and forth between PM and New Topic. (#16978)
Previously, draft get destroyed accidentally when we switch to PM with the below steps
1. Click “New Topic”
2. Type in the body
3. Switch to “New Message”
4. Click “cancel”
2022-06-02 23:36:34 +05:30
8e75f8c371 DEV: quick-access-panel setting for viewAllLabel (#16977) 2022-06-02 10:13:41 -04:00
7c4e2d33fa SECURITY: Remove auto approval when redeeming an invite (#16974)
This security fix affects sites which have `SiteSetting.must_approve_users`
enabled. There are intentional and unintentional cases where invited
users can be auto approved and are deemed to have skipped the staff approval process.
Instead of trying to reason about when auto-approval should happen, we have decided that
enabling the `must_approve_users` setting going forward will just mean that all new users
must be explicitly approved by a staff user in the review queue. The only case where users are auto
approved is when the `auto_approve_email_domains` site setting is used.

Co-authored-by: Alan Guo Xiang Tan <gxtan1990@gmail.com>
2022-06-02 16:10:48 +02:00
9d577be9ad DEV: Rephrase INSTALL-cloud DNS instructions about the IP address (#16928) 2022-06-02 00:21:58 -03:00
2dd09b4b6a DEV: allow plugins to override max file size for avatar downloads (#16970) 2022-06-01 17:12:06 -07:00
0bbbd8371e DEV: emoji picker - make it possible to choose picker's placement and add a dedicated class for an anchor (#16969) 2022-06-01 22:24:23 +04:00
e579e9e61c DEV: add class name to nav-bar nav items (#16968) 2022-06-01 14:18:47 -04:00
333c58dd05 FIX: Harmonise category body class generation on server/client (#16967)
The server-side implementation had unintentionally changed to include `-{id}` at the end of the body class name. This change meant that the JS client was unaware of the class, and didn't remove it when navigating away from the category page.

This commit fixes the server-side implementation to match the client
2022-06-01 18:18:20 +01:00