Commit Graph

53936 Commits

Author SHA1 Message Date
Régis Hanol
c5f1fc3a08
DEV: replace diffhtml with morphlex (#26138)
morphlex is ~20% the size of diffhtml and provides a 2-6x speedup depending on diff size.

See t/113634/13 for benchmarks.
2024-04-03 11:27:45 +02:00
David Taylor
1e42e86601
DEV: Restore qunit 'tap' reporter, but collapse verbose output in CI (#26484)
This reverts commit 5adfb299ac, but uses GitHub actions grouping to achieve the same result: less scrolling to see failures.
2024-04-03 10:22:20 +01:00
Arpit Jalan
b38750d3be
FEATURE: add args to home-logo plugin outlet (#26486) 2024-04-03 14:50:45 +05:30
dependabot[bot]
876ab8dbe8
Build(deps-dev): Bump puppeteer-core from 22.6.1 to 22.6.2 (#26477)
Bumps [puppeteer-core](https://github.com/puppeteer/puppeteer) from 22.6.1 to 22.6.2.
- [Release notes](https://github.com/puppeteer/puppeteer/releases)
- [Changelog](https://github.com/puppeteer/puppeteer/blob/main/release-please-config.json)
- [Commits](https://github.com/puppeteer/puppeteer/compare/puppeteer-core-v22.6.1...puppeteer-core-v22.6.2)

---
updated-dependencies:
- dependency-name: puppeteer-core
  dependency-type: direct:development
  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-04-03 11:13:58 +02:00
Alan Guo Xiang Tan
0eda1c96f1
FIX: Ensure Theme#settings are instances of ThemeSettings (#26481)
Why this change?

Instead of dealing with a generic object for `Theme#settings`, we want
to always be dealing with `ThemeSettings` objects.` Previously, we
converted the generic objects to `ThemeSettings` objects in the theme's
adapter `afterFindAll` function. This is not correct because updating
or saving the theme individual reverted the `Theme#settings` back to an
array of generic object.

To fix this problem, the proper way with our REST models is to overwrite
the static `munge` method and create `ThemeSettings` instances there.
2024-04-03 13:10:47 +08:00
Krzysztof Kotlarek
ba04fc6a01
FEATURE: ignore manually deactivated users when purging (#26478)
When a user is manually deactivated, they should not be deleted by our background job that purges inactive users.

In addition, site settings keywords should accept an array of keywords.
2024-04-03 14:06:31 +11:00
Alan Guo Xiang Tan
477a67e4fb
DEV: Fix flaky system test (#26479)
Why this change?

`expect(page.title).to starts_with("...")` does not rely on capybara
waiters. This commit switches us to use `have_title` instead which will
rely on Capybara waiters.
2024-04-03 10:04:48 +08:00
dependabot[bot]
9c9374f060
Build(deps): Bump sprockets from f4d3dae to 0487291 (#26426)
Bumps [sprockets](https://github.com/rails/sprockets) from `f4d3dae` to `0487291`.
- [Release notes](https://github.com/rails/sprockets/releases)
- [Commits](f4d3dae71e...0487291ad2)

---
updated-dependencies:
- dependency-name: sprockets
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-03 07:20:38 +08:00
dependabot[bot]
a0a7f5557d
Build(deps): Bump terser from 5.30.1 to 5.30.2 (#26475)
Bumps [terser](https://github.com/terser/terser) from 5.30.1 to 5.30.2.
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/compare/v5.30.1...v5.30.2)

---
updated-dependencies:
- dependency-name: terser
  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-04-03 07:14:09 +08:00
dependabot[bot]
cebfd939e8
Build(deps): Bump public_suffix from 5.0.4 to 5.0.5 (#26472)
Bumps [public_suffix](https://github.com/weppos/publicsuffix-ruby) from 5.0.4 to 5.0.5.
- [Changelog](https://github.com/weppos/publicsuffix-ruby/blob/main/CHANGELOG.md)
- [Commits](https://github.com/weppos/publicsuffix-ruby/compare/v5.0.4...v5.0.5)

---
updated-dependencies:
- dependency-name: public_suffix
  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-04-03 07:13:55 +08:00
dependabot[bot]
4486248cac
Build(deps): Bump rake from 13.1.0 to 13.2.0 (#26473)
Bumps [rake](https://github.com/ruby/rake) from 13.1.0 to 13.2.0.
- [Release notes](https://github.com/ruby/rake/releases)
- [Changelog](https://github.com/ruby/rake/blob/master/History.rdoc)
- [Commits](https://github.com/ruby/rake/compare/v13.1.0...v13.2.0)

---
updated-dependencies:
- dependency-name: rake
  dependency-type: direct:production
  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-04-03 07:06:52 +08:00
dependabot[bot]
a5832a7bac
Build(deps-dev): Bump lefthook from 1.6.7 to 1.6.8 (#26476)
Bumps [lefthook](https://github.com/evilmartians/lefthook) from 1.6.7 to 1.6.8.
- [Release notes](https://github.com/evilmartians/lefthook/releases)
- [Changelog](https://github.com/evilmartians/lefthook/blob/master/CHANGELOG.md)
- [Commits](https://github.com/evilmartians/lefthook/compare/v1.6.7...v1.6.8)

---
updated-dependencies:
- dependency-name: lefthook
  dependency-type: direct:development
  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-04-03 07:06:41 +08:00
Kris
b35da59865
UX: adjustments for experimental bulk select menu (#26474) 2024-04-02 18:01:21 -04:00
Blake Erickson
8b1b368693
DEV: Document basic-info endpoint (#26471) 2024-04-02 14:53:19 -06:00
Mark VanLandingham
797ab30d95
DEV: Modifier to add params to TopicsController redirect url (#26470) 2024-04-02 15:35:44 -05:00
Discourse Translator Bot
51006b5591
Update translations (#26463) 2024-04-02 18:19:46 +02:00
David Taylor
f2e7909a80
DEV: Rename components GlimmerHeader -> Header (#26466)
Originally we planned to do this rename after dropping the old widget implementation. However, as we continue rolling out the update, there is a risk that people will start depending on the component names (e.g. for modifyClass) so it seems best to make the rename now to reduce risk later.
2024-04-02 16:55:49 +01:00
Joffrey JAFFEUX
bd85dc40a0
UX: changes defer copy to mark unread (#26468) 2024-04-02 17:45:11 +02:00
Penar Musaraj
1eb70973a2
DEV: allow themes to render their own custom homepage (#26291)
This PR adds a theme modifier and route so that custom themes can opt to show their own homepage. See PR description for example usage.
2024-04-02 11:05:08 -04:00
Gerhard Schlager
7eec13375d
DEV: Add strings from "discourse-lazy-videos" to Crowdin (#26461) 2024-04-02 16:43:33 +02:00
Vinoth Kannan
cd43985de0
UX: rename the word "Upgrade" to "Update" in the UI. (#26396)
In this PR, all references in the UI to the word "`upgrade`" are changed to "`update`". This is to differentiate the update process in self-hosted sites from the plan "upgrade" process in hosted sites.

Follow-up to the PR: https://github.com/discourse/docker_manager/pull/208
2024-04-02 20:04:37 +05:30
Joffrey JAFFEUX
c76b10ec22
UX: tweaks enable defer setting copy (#26465) 2024-04-02 15:44:25 +02:00
Osama Sayegh
3b86dee520
FIX: Don't allow access to plugin page if plugin is not visible (#26431)
Plugins that are hidden or disabled aren't shown in the plugins list at `/admin/plugins` because they cannot be changed. However, the `#show` route doesn't check for the plugin's state and responds with 200 and the plugin's info even if the plugin is hidden or disabled. This commit makes the `#show` route respond with 404 if the plugin is hidden or disabled.
2024-04-02 16:26:15 +03:00
David Taylor
50caef6783
FIX: Restore author on non-first-post crawler views (#26459)
Followup to 3329484e2d
2024-04-02 12:08:26 +01:00
Joffrey JAFFEUX
98f4517818
FIX: body scroll lock textarea (#26462)
We need to scroll lock textareas when the keyboard is visible, otherwise they might become unusable if another element is body scroll locked on the page (eg: channels messages).

Note this commit is also slightly simplifying the code.
2024-04-02 12:15:06 +02:00
Joffrey JAFFEUX
defd63d20b
FIX: allows modals to disable swipe to close (#26460)
Prior to this fix the `swipe` modifier could not be disabled and we were not using the `this.dimissable` property to apply/not apply it.

This commit adds a new `enabled` param to the `swipe` modifier, which is used in modals with the value of `this.dismissable`.

Note this commit also adds tests for this modifier.
2024-04-02 11:11:32 +02:00
Alan Guo Xiang Tan
9182501366
DEV: Introduce maxmind_mirror_url GlobalSetting (#26458)
Why this change?

This allows downloading the MaxMind databases from a mirror in cases
where downloading directly from MaxMind's API endpoint is problematic
due to API limits.
2024-04-02 14:53:53 +08:00
Alan Guo Xiang Tan
6c1b320e2e
DEV: Fix case inconsistency in translation file (#26456)
Why this change?

Our translation files use the snake case convention.
2024-04-02 14:39:46 +08:00
Alan Guo Xiang Tan
972db687fe
FIX: maxmind:refresh does not respect refresh_maxmind_db_during_precompile_days (#26457)
Why this change?

We currently support `GlobalSetting.refresh_maxmind_db_during_precompile_days` which
should cache the maxmind databases on disk for the configured number of
days before it downloads the databases from maxmind again via the API.
This was previously added to help us avoid hitting the API rate limit from maxmind.
However, there was a bug in the `copy_maxmind` when we copied the latest
downloaded database to the cache directory. In particular, `FileUtils.cp` was called with
`preserve: true` which would preserve the modified time of the file
being copied. This is problematic because download the database from
maxmind on 2 April 2024 can give us a file with an mtime of 29 March
2024. If `GlobalSetting.refresh_maxmind_db_during_precompile_days` is
set to `2` for example, the cache will never be used since we will
think that the file has been downloaded for more than 2 days in our
checks.

What is the fix here?

While we want to preserve the owner and group of the file, we do not
want to preserve the modified time and hence we will call
`FileUtils.touch` when copying the file.
2024-04-02 14:25:05 +08:00
Alan Guo Xiang Tan
91f0c71720
UX: Improve validation error message when saving theme objects setting (#26455)
Why this change?

Before this change, the validation error message shown to the user when
saving a theme objects setting is very cryptic. This commit changes the
validation error messages to be displayed on top of the editor instead.

Note that I don't think this way of displaying is the ideal state we
want to get to but given the time we have this will do for now.
2024-04-02 11:55:51 +08:00
Alan Guo Xiang Tan
e58110a9a0
UX: Fix required validation error shown for not required properties (#26453)
Why this change?

In the categories, groups and tags selectors, we were showing a
validation error message when a property that is not required but
has a min validation is empty. In this case, we should not be displaying
the min validation error message because the property is allowed to be
empty.
2024-04-02 10:38:49 +08:00
Alan Guo Xiang Tan
92e0faed0a
UX: Switch to new object when adding object in theme objects setting editor (#26454)
Why this change?

When adding a new object, we want to switch to the input fields of the
new object instead of just appending the new object to the list of
objects as we believe this is a better UX flow.
2024-04-02 10:36:32 +08:00
Alan Guo Xiang Tan
397a1b7366
DEV: Refactor Discourse models based field components to reduce duplication (#26452)
Why this change?

The field components to select categories, groups and tags had quite a
bit of logic duplicated between them. This commit refactors the logic
to remove most of the duplication so that we can introduce changes
without having to make the changes in multiple places.
2024-04-02 09:32:50 +08:00
Kris
3520f4a635
FIX: ensure "save" is translatable in bookmark modal (#26446) 2024-04-02 08:23:38 +08:00
dependabot[bot]
5375799453
Build(deps): Bump terser from 5.30.0 to 5.30.1 (#26447)
Bumps [terser](https://github.com/terser/terser) from 5.30.0 to 5.30.1.
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/compare/v5.30.0...v5.30.1)

---
updated-dependencies:
- dependency-name: terser
  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-04-02 08:23:20 +08:00
dependabot[bot]
708e0cec10
Build(deps): Bump fastimage from 2.3.0 to 2.3.1 (#26449)
Bumps [fastimage](https://github.com/sdsykes/fastimage) from 2.3.0 to 2.3.1.
- [Changelog](https://github.com/sdsykes/fastimage/blob/master/CHANGELOG)
- [Commits](https://github.com/sdsykes/fastimage/compare/v2.3.0...v2.3.1)

---
updated-dependencies:
- dependency-name: fastimage
  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-04-02 08:23:06 +08:00
Krzysztof Kotlarek
92a341355a
FEATURE: clear sidebar admin filter with ESC (#26408)
Allow the sidebar filter to be cleared by hitting ESC.
2024-04-02 09:45:25 +11:00
Kris
fa6e275ad9
UX: fix overflow of long site text site names in the header (#26450) 2024-04-02 09:17:14 +11:00
Régis Hanol
c3e6e9cfdd
FIX: print view wasn't working (#26433)
In e05628c079 we omitted the HTML view for logged in users but that view is used when printing.

This restore the HTML view when printing a topic page.
2024-04-02 08:27:16 +11:00
Kris
48cb7b7863
UX: minor style adjustments for schema objects editor (#26444) 2024-04-01 12:43:19 -04:00
Joffrey JAFFEUX
453bf3acb3
FIX: messages list shouldn't scroll on new message (#26438)
The expected behavior when receiving a message is the following:

- if user is at the bottom of the screen, scroll and append message
- if user is not at the bottom of the screen, don't scroll, show arrow and don't append message
2024-04-01 13:58:23 +02:00
Kelv
07605e52c2
FIX: only show edit history when navigating via edit notification for posts which have revisions and can have its edit history viewed (#26418) 2024-04-01 11:00:28 +08:00
Alan Guo Xiang Tan
a84757fd91
FIX: Error not being raised for required typed categories property (#26443)
Why this change?

For a schema like this:

```
schema = {
  name: "section",
  properties: {
    category_property: {
      type: "categories",
      required: true,
    },
  },
}
```

When the value of the property is set to an empty array, we are not
raising an error which we should because the property is marked as
required.
2024-04-01 10:11:40 +08:00
Alan Guo Xiang Tan
6cfeb62c29
DEV: Drop fast_xs gem (#26442)
Why this gem?

This gem was added close to 10 years ago to speed up the generation of
RSS feeds. However, RSS feeds generation do not even call `String#to_xs`
anymore and the `fast_xs` gem does not install on macOS without using
the following workaround:

`bundle config build.fast_xs
--with-cflags=\"-Wno-incompatible-pointer-types\"`

Therefore, we have decided to drop the gem.
2024-04-01 07:54:27 +08:00
Alan Guo Xiang Tan
5c6b5612e7
DEV: Drop gc_tracer gem (#26441)
Why this change?

This gem is failing to install cleanly on macOS and the following
workaround is required:

`bundle config build.gc_tracer
--with-cflags=\"-Wno-incompatible-pointer-types\"`

Instead of requiring this workaround, we have decided to drop `gc_tracer`
because it isn't a gem that is used anymore.
2024-04-01 07:54:18 +08:00
carehabit
11877f3b9c
DEV: remove repetitive words (#26439) 2024-04-01 06:23:21 +08:00
dependabot[bot]
800258b84b
Build(deps-dev): Bump rubocop-rspec from 2.27.1 to 2.28.0 (#26440)
Bumps [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) from 2.27.1 to 2.28.0.
- [Release notes](https://github.com/rubocop/rubocop-rspec/releases)
- [Changelog](https://github.com/rubocop/rubocop-rspec/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-rspec/compare/v2.27.1...v2.28.0)

---
updated-dependencies:
- dependency-name: rubocop-rspec
  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-04-01 06:22:14 +08:00
GuteLaune
a2c08e8159
Fix typo (#26437) 2024-03-30 11:50:59 -07:00
Kris
5a54aefd27
UX: highlight code in em and strong blocks (#26435) 2024-03-29 16:41:12 -04:00
Kris
603dd89691
UX: minor theme schema editor adjustments for mobile (#26434) 2024-03-29 15:01:02 -04:00