Commit Graph

52807 Commits

Author SHA1 Message Date
50f8a51923 Update translations (#25278) 2024-01-16 14:54:32 +01:00
44ff62aa12 PERF: Skip validations when hotlinked images are replaced in posts
They are not necessary and slow down rebakes.
2024-01-16 14:35:24 +01:00
241bf48497 DEV: Allow rebakes to generate optimized images at the same time
Previously only Sidekiq was allowed to generate more than one optimized image at the same time per machine. This adds an easy mechanism to allow the same in rake tasks and other tools.
2024-01-16 14:33:16 +01:00
bcb8b3fab9 REFACTOR: Reuse Discourse.store instance
Calling `Discourse.store` creates a new instance of a store each time.
2024-01-16 14:33:16 +01:00
a8330222f9 FIX: correctly support safe-area-inset-bottom in footer (#25276) 2024-01-16 11:12:36 +01:00
4512e5652f FEATURE: Mobile Chat Footer Redesign (#25161)
This update adds three tabs to the bottom of the chat overlay to make it easier for users to navigate chat on mobile.

As a result of this change:

- Direct Messages are now shown separately from public channels on mobile
- My Threads has now moved from the channel list to it's own tab on mobile
- My Threads can still be accessed on desktop via the sidebar and within the drawer channel list
- Chat back button has been updated to navigate to the correct tab (for both channels and threads)

Some special cases:

- If DMs are not used then the tab is not rendered
- If the user has no threads then the tab is not rendered
- If both the tabs for DMs and Threads aren't available then the whole footer will not be rendered
- Chat footer is only shown on the listing pages (DMs, Channels, My Threads)

---------

Co-authored-by: chapoi <101828855+chapoi@users.noreply.github.com>
Co-authored-by: Joffrey JAFFEUX <j.jaffeux@gmail.com>
2024-01-16 14:29:33 +08:00
1e57fed3b9 FIX: Use category hashtag instead of link in guidelines_topic.body (#25253)
* FIX: Use category hashtag instead of link in guidelines_topic.body
2024-01-16 15:22:29 +11:00
7b907ec50a DEV: Fix flaky table builder system spec (#25272)
Why this change?

The `Table Builder when editing a table when cancelling table creation should close the modal if there are no changes made` system
test in `spec/system/table_builder_spec.rb` was flaky. It turns out that
when the modal is opened, we have to load some JS/CSS files. While that
is happening, the modal is actually not functional and clicking stuff
in the footer can actually result in an error. In this case, the
`interceptCloseModal` calls the private `_hasChanges` function which
then calls `this.spreadsheet.getHeaders()`. When stuff is still loading,
`this.spreadsheet` has not been set. As a result we get the following
error:

```
Cannot read properties of null (reading 'getHeaders')
```

What does this change do?

Why stuff is loading, we will now hide the footer in the modal.
2024-01-16 10:48:49 +08:00
c33a8d658b DEV: Avoid duplicating constant between client and server (#25179)
Why this change?

While the constant does not change very often, we should still avoid
duplicating the value of a constant used on the server side in the
client side to avoid the values going out of sync.
2024-01-16 09:50:55 +08:00
22614ca85b DEV: Compile theme migrations javascript files when running theme qunit (#25219)
Why this change?

Currently, is it hard to iteratively write a theme settings migrations
because our theme migrations system does not rollback. Therefore, we
want to allow theme developers to be able to write QUnit tests for their
theme migrations files enabling them to iteratively write their theme
migrations.

What does this change do?

1. Update `Theme#baked_js_tests_with_digest` to include all `ThemeField`
records of `ThemeField#target` equal to `migrations`. Note that we do
not include the `settings` and `themePrefix` variables for migration files.

2. Don't minify JavaScript test files becasue it makes debugging in
   development hard.
2024-01-16 09:50:44 +08:00
fd7c6f1ca8 Build(deps): Bump stackprof from 0.2.25 to 0.2.26 (#25269)
Bumps [stackprof](https://github.com/tmm1/stackprof) from 0.2.25 to 0.2.26.
- [Changelog](https://github.com/tmm1/stackprof/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tmm1/stackprof/compare/v0.2.25...v0.2.26)

---
updated-dependencies:
- dependency-name: stackprof
  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>
2024-01-15 23:01:27 +01:00
6d9029249a Build(deps-dev): Bump rubocop from 1.59.0 to 1.60.0 (#25267)
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.59.0 to 1.60.0.
- [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.59.0...v1.60.0)

---
updated-dependencies:
- dependency-name: rubocop
  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>
2024-01-15 23:00:00 +01:00
086f3b1297 Build(deps-dev): Bump parser from 3.3.0.3 to 3.3.0.4 (#25268)
Bumps [parser](https://github.com/whitequark/parser) from 3.3.0.3 to 3.3.0.4.
- [Changelog](https://github.com/whitequark/parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/whitequark/parser/compare/v3.3.0.3...v3.3.0.4)

---
updated-dependencies:
- dependency-name: parser
  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>
2024-01-15 22:58:01 +01:00
a562214f56 FIX: Update global rate limiter keys/messages to clarify user vs ip (#25264) 2024-01-15 19:54:50 +00:00
59c2407e18 FEATURE: add username header to global-rate-limited responses (#25265)
This will make it easier to analyze rate limiting in reverse-proxy logs. To make this possible without a database lookup, we add the username to the encrypted `_t` cookie data.
2024-01-15 19:50:37 +00:00
f631eb5799 FIX: Trigger search app event being triggered multiple times (#25250) 2024-01-15 09:47:40 -08:00
f2cf5434f3 Revert "DEV: Convert min_trust_level_to_tag_topics to groups (#25258)" (#25262)
This reverts commit c7e3d27624b05b9f316822439ea39efb0edfe699 due to
test failures. This is temporary.
2024-01-15 11:33:47 -05:00
d5f527ee37 UX: show the SSO options when creating an account on mobile (#25260) 2024-01-15 16:36:00 +01:00
c177c198c5 DEV: update .gitignore file (#25261) 2024-01-15 19:42:37 +05:30
c7e3d27624 DEV: Convert min_trust_level_to_tag_topics to groups (#25258)
We're changing the implementation of trust levels to use groups. Part of this is to have site settings that reference trust levels use groups instead. It converts the min_trust_level_to_tag_topics site setting to tag_topic_allowed_groups.
2024-01-15 20:59:08 +08:00
d0486a72ac FIX: use getter and setter for computed properties (#25259) 2024-01-15 15:04:28 +05:30
60a4d09f1a UX: Chat composer dropdown styling mobile (#25244) 2024-01-15 09:59:24 +01:00
9bc78625af FIX: Enforce proper max for clean_orphan_uploads_grace_period_hours (#25235)
* FIX: Enforce proper max for clean_orphan_uploads_grace_period_hours

* Cast

* Set clean_orphan_uploads_grace_period_hours to max allowed
2024-01-15 10:32:07 +08:00
830ca2877d Build(deps-dev): Bump minitest from 5.20.0 to 5.21.1 (#25257)
Bumps [minitest](https://github.com/minitest/minitest) from 5.20.0 to 5.21.1.
- [Changelog](https://github.com/minitest/minitest/blob/master/History.rdoc)
- [Commits](https://github.com/minitest/minitest/compare/v5.20.0...v5.21.1)

---
updated-dependencies:
- dependency-name: minitest
  dependency-type: direct:development
  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>
2024-01-14 23:12:26 +01:00
62b67b605e Build(deps): Bump bootsnap from 1.17.0 to 1.17.1 (#25256)
Bumps [bootsnap](https://github.com/Shopify/bootsnap) from 1.17.0 to 1.17.1.
- [Changelog](https://github.com/Shopify/bootsnap/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Shopify/bootsnap/compare/v1.17.0...v1.17.1)

---
updated-dependencies:
- dependency-name: bootsnap
  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>
2024-01-14 23:11:35 +01:00
2393245eb6 Build(deps-dev): Bump shoulda-matchers from d611911 to 367500d (#25255)
Bumps [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) from `d611911` to `367500d`.
- [Release notes](https://github.com/thoughtbot/shoulda-matchers/releases)
- [Commits](d611911f01...367500d9fc)

---
updated-dependencies:
- dependency-name: shoulda-matchers
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 23:11:07 +01:00
e6f3f681ad Build(deps-dev): Bump parser from 3.3.0.2 to 3.3.0.3 (#25254)
Bumps [parser](https://github.com/whitequark/parser) from 3.3.0.2 to 3.3.0.3.
- [Changelog](https://github.com/whitequark/parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/whitequark/parser/compare/v3.3.0.2...v3.3.0.3)

---
updated-dependencies:
- dependency-name: parser
  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>
2024-01-14 22:56:03 +01:00
731699a7cf UX: adjust onebox styles for chat, title line-height (#25249) 2024-01-12 18:14:26 -05:00
92708f2ff5 DEV: remove :has selector from chat settings (#25248) 2024-01-12 18:04:27 -05:00
7639591552 UX: cleaning up some invite page styles (#25247) 2024-01-12 17:15:01 -05:00
92197b9c64 DEV: remove old keyboard modal CSS (#25246) 2024-01-12 17:02:38 -05:00
50a997a53a DEV: labeler GitHub action was broken after upgrade to v5 (#25243)
Follow-up to 5140caf0e4837526926a27a367b0dd0471e058ad
2024-01-12 16:31:18 +01:00
66fb2257cf DEV: Add apply_modifier in Email::Renderer for html modifications (#25205) 2024-01-12 09:14:55 -06:00
190a8db55d UX: remove lock icon positioning (#25241) 2024-01-12 15:53:57 +01:00
b063d92ad1 UX: chat header size and alignments (#25239)
This commit:

- increased the size of chat-header-offset from 46px to 56px on mobile
- tweaked navbar padding
- Increased the gap between back button and title; this means no more perfect alignment, but I think that's perfectly fine and a fair trade off for an easier click target for the back button without fear of hitting the title
2024-01-12 14:27:44 +01:00
bad14899e6 UX: change chat back button to btn-transparent (#25184) 2024-01-12 13:11:25 +01:00
1a782acd9c FIX: set microdata schema for topic on missing first post (#25195)
Some attributes of the microdata schema `DiscussionForumPosting` are rendered in the context of the first post.
Ensure these attributes are also set if the first post is not part of the current view.
2024-01-12 16:29:03 +05:30
9261500ea9 FIX: exclude empty posts from microdata schema for topic (#25198) 2024-01-12 12:47:56 +05:30
16b8476cb4 FIX: Ensure consistent datePublished on follow-up pages in topic microdata schema (#25130)
* Ensure consistent `datePublished` and remove `text` on second page in topic microdata schema

Always use `datePublished` from topic and never from `first_psot`. This ensures `datePublished` to be consistent on `first page` and `page=2+`.

No need to repeat `text` on `page=2+`. Especially do not set `text` on `page=2+` if it is only an abstract and thereby not 100% consistent with `text` on `first page`.

* Keep `text`attribute on follow-up pages
2024-01-12 12:11:08 +05:30
c76ca876a6 DEV: Add more debugging information to AR query logs on GitHub actions (#25237)
Why this change?

We have been chasing a problem with our flaky system test where the user
is logged out when it should never be.

What does this change do?

1. Logs the request path when lookup a user auth token.
2. Logs the request path and also the current thread's object id in
   ActiveRecord query logs.
2024-01-12 13:06:29 +08:00
80b93e06f7 FIX: Admin sidebar on mobile was still showing forum panel (#25236)
This commit makes it so the admin sidebar (when enabled)
will hide the other forum sidebar sections on mobile, the
same way it does on desktop. It was not happening automatically
because the sidebar component is also inside the hamburger-dropdown
component, which is used on mobile.
2024-01-12 14:49:08 +10:00
98b47636aa DEV: Fix circular import dependency on user topic list route (#25234)
Why this change?

This is a follow up to cc917a1d7ff2972014ec0828e184373c0f13535a. It has
been identified that there is a circular dependency issue in our Ember
app with the user topic list route and it looks something like this:

1. `controllers/user-topics-list` imports `routes/build-private-messages-route`
2. `routes/build-private-messages-route` imports
   `routes/user-topic-list`
3. `routes/user-topic-list` imports `controllers/user-topics-list`

This caused some weird problems in production where stuff would just not
load.

What does this change do?

1. Move `QUERY_PARAMS` from `controllers/user-topics-list` to
   `routes/user-topic-list` which is the more apprioriate place for the
   query params to be declared since they are route query params
   after all.

Co-authored-by: Jarek Radosz <jradosz@gmail.com>
2024-01-12 10:00:57 +08:00
de88fc26df FIX: Admin sidebar fixes and custom link registration (#25200)
This commit adds some more links to the admin sidebar and
removes some to give it more parity with the old nav structure.

This also adds the `addAdminSidebarSectionLink` plugin API to
replace the admin-menu plugin outlet, which is used by plugins
like docker-manager to add links to the old admin nav.
2024-01-12 11:55:26 +10:00
52511a3260 DEV: remove :has selector from composer (#25233) 2024-01-11 19:15:37 -05:00
8838d27754 A11Y: Allow keyboard users to scroll help modal (#25226) 2024-01-11 14:32:16 -05:00
05668bdf8a DEV: add topicProgressExpanded arg to topic-navigation outlet (#25231) 2024-01-11 13:52:34 -05:00
3a0bf97401 DEV: Minor cleanup of navbar components (#25222)
Convert components to template-only where applicable.
2024-01-11 19:20:27 +01:00
c2aa64b251 FEATURE: Allow sorting group members by custom field via API (#25061)
* UX: add sorting params to groups table plugin outlet

* FEATURE: allow sorting group members by custom field via API

---------

Co-authored-by: Jean Perez <jmperez127@gmail.com>
2024-01-11 13:39:17 -03:00
f5f3742166 FIX: respect creation date when paginating group activity posts (#24993)
* FIX: respect creation date when paginating group activity posts

There are scenarios where the chronological order of posts doesn't match the order of their IDs. For instance, when moving the first post from one topic or PM to another, a new post (with a higher ID) will be created, but it will retain the original creation time.

This PR changes the group activity page and endpoint to paginate posts using created_at instead of relying on ID ordering.
2024-01-11 13:37:27 -03:00
68963e40da FIX: Delete topicNotificationLevel from transformed post before creatingRecord in post widget (#25229) 2024-01-11 10:09:30 -06:00