Commit Graph

54166 Commits

Author SHA1 Message Date
chapoi
8bbcd409e3
UX: hide user count in original message link (#26890) 2024-05-06 22:02:15 +02:00
David McClure
20efe233f6
UX: Update getting started guide (#26889)
- Use a single checklist at the top
- Link to appropriate settings where appropriate
- Encourage people to invite others earlier
- Encourage iteration prior to launch
- Move most external links to bottom "Learn More" section
2024-05-06 15:23:24 -04:00
Jarek Radosz
16cd098de9
DEV: Convert count-i18n to gjs (#26888) 2024-05-06 21:03:39 +02:00
Jarek Radosz
79870d3a1e
DEV: Fix random typos (#26881) 2024-05-06 20:52:48 +02:00
Jarek Radosz
d8b1c3c807
DEV: Don't add 0-width char if there's no icon in d-button (#26880)
Previously, if you supplied your own content to DButton it would still add the character:

```hbs
<DButton>my text</DButton>
```

```html
<button>&#8203; my text</button>
```
2024-05-06 20:52:11 +02:00
Jarek Radosz
378faf060d
Revert "DEV: Remove unused ignored_columns from ActiveRecord models (#26875)" (#26887)
This reverts commit 755ff43dc1.
2024-05-06 20:18:53 +02:00
Daniel Waterworth
e2ceea8815
FIX: Preload all ancestors of sidebar categories (#26715)
... instead of just the immediate parents.
2024-05-06 11:55:20 -05:00
Daniel Waterworth
a6b8051645
DEV: Use has_many and ArraySerializer for SidebarSectionsSerializer (#26716) 2024-05-06 11:32:18 -05:00
Régis Hanol
10f77556cd FIX: ensure no infinite category loop
If there's ever a circular reference in categories, don't go into an infinite loop when generating the category slug.

Instead, keep track of parent ids, and bail out as soon as we're encountering one more than once.
2024-05-06 18:02:22 +02:00
Joffrey JAFFEUX
f72f63660a
FIX: an existing member of a channel is allowed to join (#26884)
There's no point checking if a user can join a channel if they are already part of it. This case was frequent when using `enforce_membership: true` for custom bots for example.
2024-05-06 17:14:20 +02:00
Joffrey JAFFEUX
00d88766b2
FIX: correctly pass topic/posts context (#26882)
This case had not been tested end to end as `Discourse.track_events` was not working when wrapping `send_message`. Because of this lack of end to end test, a regression has been created when renaming the expected context properties. This commit fixes the regression and write a slightly convulted, but effective end to end test.
2024-05-06 15:33:00 +02:00
Régis Hanol
95885645d9 FIX: send activity summaries based on "last seen"
instead of "last emailed" so that people getting email notifications (from a watched topic for example) also get the activity summaries.

Context - https://meta.discourse.org/t/activity-summary-not-sent-if-other-emails-are-sent/293040

Internal Ref - t//125582
2024-05-06 15:22:52 +02:00
dependabot[bot]
22db0b56e6
Build(deps-dev): Bump @floating-ui/dom from 1.6.4 to 1.6.5 (#26870)
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.6.4 to 1.6.5.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.6.5/packages/dom)

---
updated-dependencies:
- dependency-name: "@floating-ui/dom"
  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-05-06 10:45:11 +02:00
dependabot[bot]
f17a695561
Build(deps-dev): Bump rubocop-rspec from 2.29.1 to 2.29.2 (#26872)
Bumps [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) from 2.29.1 to 2.29.2.
- [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.29.1...v2.29.2)

---
updated-dependencies:
- dependency-name: rubocop-rspec
  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-05-06 10:44:53 +02:00
dependabot[bot]
832bbe93c8
Build(deps): Bump babel-plugin-ember-template-compilation (#26871)
Bumps [babel-plugin-ember-template-compilation](https://github.com/emberjs/babel-plugin-ember-template-compilation) from 2.2.2 to 2.2.3.
- [Release notes](https://github.com/emberjs/babel-plugin-ember-template-compilation/releases)
- [Changelog](https://github.com/emberjs/babel-plugin-ember-template-compilation/blob/main/CHANGELOG.md)
- [Commits](https://github.com/emberjs/babel-plugin-ember-template-compilation/commits)

---
updated-dependencies:
- dependency-name: babel-plugin-ember-template-compilation
  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-05-06 10:43:33 +02:00
Ted Johansson
9655bf3e24
DEV: Delete upload references on draft cleanup (#26877)
In #22851 we added a dependent strategy for deleting upload references when a draft is destroyed. This, however, didn't catch all cases, because we still have some code that issues DELETE drafts queries directly to the database. Specifically in the weekly cleanup job handled by Draft#cleanup!.

This PR fixes that by turning the raw query into an ActiveRecord #destroy_all, which will invoke the dependent strategy that ultimately deletes the upload references. It also includes a post migration to clear orphaned upload references that are already in the database.
2024-05-06 14:08:10 +08:00
Krzysztof Kotlarek
74f1a79d36
FEATURE: revert redirect from wizard to guide (#26873)
In this PR we started redirecting to the guide page after the wizard - https://github.com/discourse/discourse/pull/26696

The guide will require rebrand and until it is ready, we should redirect to `/latest`
2024-05-06 14:56:35 +10:00
Alan Guo Xiang Tan
b6f6852bba
FIX: Make getCategoryIdByName theme migration helper case insensitive (#26878) 2024-05-06 12:42:58 +08:00
Krzysztof Kotlarek
e607dd3767
FIX: missing route for edit components (#26874)
In this PR separate route for components was introduced https://github.com/discourse/discourse/pull/26644

However, the route to edit components was missed and it was 404 when reloaded.

Meta: https://meta.discourse.org/t/missing-admin-theme-component-edit-route/306560
2024-05-06 14:27:30 +10:00
Alan Guo Xiang Tan
755ff43dc1
DEV: Remove unused ignored_columns from ActiveRecord models (#26875)
The columns have already been dropped in
beea8215d7.
2024-05-06 11:42:08 +10:00
Gerhard Schlager
1872047053
DEV: Uploads import script can download files (#26816)
Uploads import script can download files
2024-05-04 22:48:16 +02:00
David Taylor
f230767722
FIX: Serialization of staff_writes_only (#26866) 2024-05-03 14:36:13 -04:00
Régis Hanol
6c6a56139e FIX: nested polls
Polls should work when "nested" inside a quote or a details block.

Internal ref - t/89085
2024-05-03 19:46:13 +02:00
Daniel Waterworth
e5597cd196
DEV: Make edit sidebar categories modal load more results incrementally (#26761) 2024-05-03 12:39:45 -05:00
Penar Musaraj
d6b63309b0
FIX: Restore legacy popup menu SCSS (#26864)
Were removed in 8dd883d but some plugins rely on them. Let's restore
them for now and address cleaning up once plugins/themes no longer use
them.

Should fix https://meta.discourse.org/t/see-who-voted-display-issue/306641
2024-05-03 12:27:09 -04:00
SouthpawKB
9ce4503a26
UX: Increase custom user field description character limit (#26863)
* UX: Increase custom user field description character limit

Allow Admins creating custom user fields to write longer descriptions

* lint
2024-05-03 12:09:55 -04:00
Joffrey JAFFEUX
671e6066bf
DEV: adds first_messages/last_messages to thread SDK (#26861)
This commit introduces several enhancements to the ChatSDK module, aiming to improve the functionality and usability of chat thread interactions. Here's what has been changed and added:

1. **New Method: `first_messages`:**
   - Added a method to retrieve the first set of messages from a specified chat thread.
   - This method is particularly useful for fetching initial messages when entering a chat thread.
   - Parameters include `thread_id`, `guardian`, and an optional `page_size` which defaults to 10.
   - Usage example added to demonstrate fetching the first 15 messages from a thread.

2. **New Method: `last_messages`:**
   - Added a method to retrieve the last set of messages from a specified chat thread.
   - This method supports reverse pagination, where the user may want to see the most recent messages first.
   - Similar to `first_messages`, it accepts `thread_id`, `guardian`, and an optional `page_size` parameter, defaulting to 10.
   - Usage example provided to illustrate fetching the last 20 messages from a thread.
2024-05-03 17:30:39 +02:00
Joffrey JAFFEUX
d795e22804
FIX: adds support for location and details in ICS calendar (#26862) 2024-05-03 16:27:26 +02:00
Jan Cernik
5ac7e01b8d
FIX: Select posts menu styles (#26857) 2024-05-03 01:33:09 -03:00
Martin Brennan
b1a78d9080
FIX: Do not show bookmark button label in PM topic footer (#26858)
Followup 2d2329095c

Previous to the above commit, in PMs the bookmark button
was icon-only and did not show a label. This restores the
same functionality.
2024-05-03 14:33:00 +10:00
Martin Brennan
17c428aebf
DEV: Add confirm_danger to Dialog page object (#26846)
Some dialogs are dangerous...we need to accommodate that too.
2024-05-03 09:31:16 +10:00
dependabot[bot]
792e66966c
Build(deps): Bump request_store from 1.6.0 to 1.7.0 (#26855)
Bumps [request_store](https://github.com/steveklabnik/request_store) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/steveklabnik/request_store/releases)
- [Commits](https://github.com/steveklabnik/request_store/compare/v1.6.0...v1.7.0)

---
updated-dependencies:
- dependency-name: request_store
  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-05-03 01:16:31 +02:00
Alan Guo Xiang Tan
243fcb6ffc
DEV: Introduce run_theme_migration spec helper in test environment (#26845)
This commit introduces the `run_theme_migration` spec helper to allow
theme developers to write RSpec tests for theme migrations. For example,
this allows the following RSpec test to be written in themes:

```
RSpec.describe "0003-migrate-small-links-setting migration" do
  let!(:theme) { upload_theme_component }

  it "should set target property to `_blank` if previous target component is not valid or empty" do
    theme.theme_settings.create!(
      name: "small_links",
      theme: theme,
      data_type: ThemeSetting.types[:string],
      value: "some text, #|some text 2, #, invalid target",
    )

    run_theme_migration(theme, "0003-migrate-small-links-setting")

    expect(theme.settings[:small_links].value).to eq(
      [
        { "text" => "some text", "url" => "#", "target" => "_blank" },
        { "text" => "some text 2", "url" => "#", "target" => "_blank" },
      ],
    )
  end
end
```

This change is being introduced because we realised that writting just
javascript tests for the migrations is insufficient since javascript
tests do not ensure that the migrated theme settings can actually be
successfully saved into the database. Hence, we are introduce this
helper as a way for theme developers to write "end-to-end" migrations
tests.
2024-05-03 06:29:18 +08:00
David Taylor
6bfc81978c
DEV: Improve built-in browser performance marks/measurements (#26758)
- Rename `discourse-booted` to 'discourse-init' (because 'booted' makes it sound like boot was finished. When in fact, it was just starting)

- Introduce `discourse-paint`, which is fired after the Ember application has been painted to the screen by the browser. This happens slightly after DOMContentLoaded

- Add a `performance.measure` call to link those two marks, so they're easily visible in performance traces

Also removes an ember boot-order workaround which is no longer required.
2024-05-02 23:07:36 +01:00
Daniel Waterworth
d937f5b098
DEV: Use safer SQL function for string queries when searching groups (#26851)
... so that special characters in 'term' aren't interpreted by ILIKE.
2024-05-02 13:41:49 -05:00
David Taylor
f28742e597
DEV: Update chat scheduled job loading to match skeleton (#26853)
Followup to e949684fc5, ref https://github.com/discourse/discourse-plugin-skeleton/pull/47
2024-05-02 19:20:00 +01:00
David Taylor
e949684fc5
DEV: Eager load chat's scheduled jobs in development mode (#26852) 2024-05-02 18:26:30 +01:00
dependabot[bot]
12cb557eb5
Build(deps): Bump decorator-transforms from 1.2.1 to 2.0.0 (#26788)
Bumps [decorator-transforms](https://github.com/ef4/decorator-transforms) from 1.2.1 to 2.0.0.
- [Release notes](https://github.com/ef4/decorator-transforms/releases)
- [Changelog](https://github.com/ef4/decorator-transforms/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ef4/decorator-transforms/commits)

---
updated-dependencies:
- dependency-name: decorator-transforms
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-02 17:16:30 +01:00
Daniel Waterworth
a9ca35b671
DEV: Use safer SQL functions for string queries when looking for tags (#26838) 2024-05-02 10:13:45 -05:00
David Taylor
9db5eafb15
PERF: Improve production JS build in low-memory environments (#26849)
- Use 'cheap-source-map' webpack config on low-memory machines

  This results in worse quality sourcemaps in browser dev tools, but it significantly reduces memory use in our webpack build. In approximate local testing it drops from 1100mb to 590mb. This should make the rebuild process on low-memory machines much faster and less likely to trigger OOM errors.

  In development, and on higher-memory machines, the higher-quality 'source-map' option is maintained.

- Disable Webpack's built-in `minimize` feature. Embroider already applies Terser after the webpack build is complete. There is no need to double-minimize the output.

- Update ember-cli-progress-ci to print to stderr instead of stdout. For some reason, pups (used by discourse_docker) buffers the stdout of commands and only prints when they are finished. stderr does not have this same limitation, so switching will mean sysadmins can see the progress of the ember build in real-time.

Given the number of variables it's hard to promise exact numbers. But, in my tests on a DO droplet with 1GB RAM (+2GB swap), this reduced the `ember build` portion of a `./launcher rebuild app` from ~50 minutes to ~15 minutes.
2024-05-02 11:43:59 +01:00
Joffrey JAFFEUX
dda4bb0f7c
DEV: allows to disable strip_whitespaces in messages (#26848)
The TextCleaner step has been moved from chat message’s validation to create_message/update_message services. It allows us to easily tweak part of its behavior depending on the needs.

For example we will now disable strip_whitespaces by default when streaming messages as we want to keep newlines and spaces at the end of the message.
2024-05-02 11:59:18 +02:00
Martin Brennan
08e0a6b2cc
DEV: Fix admin sidebar filter flaky (#26844)
`within` is the devil, let's try this fix to
followup 79cccaf61f
and prevent `Selenium::WebDriver::Error::StaleElementReferenceError`
2024-05-02 13:27:24 +10:00
dependabot[bot]
f25054417c
Build(deps): Bump simpleidn from 0.2.1 to 0.2.2 (#26792)
Bumps [simpleidn](https://github.com/mmriis/simpleidn) from 0.2.1 to 0.2.2.
- [Commits](https://github.com/mmriis/simpleidn/commits)

---
updated-dependencies:
- dependency-name: simpleidn
  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-05-02 10:03:53 +08:00
Martin Brennan
914f93b896
DEV: Add more structure for admin plugin config nav (#26707)
* Simplify config nav link generation to always inject the Settings
  tab
* Auto-redirect to the first non-settings config link (if there is one)
  when the user lands on /admin/plugins/:plugin_id
* Add `extras` to admin plugin serializer so plugins can add more
  data on first load
* Add PikadayCalendar page object for system specs, extracted from the
CalendarDateTimePicker to make it more generic.
2024-05-02 11:36:46 +10:00
dependabot[bot]
1e02355fdf
Build(deps): Bump sassc-embedded from 1.75.2 to 1.76.0 (#26840)
Bumps [sassc-embedded](https://github.com/sass-contrib/sassc-embedded-shim-ruby) from 1.75.2 to 1.76.0.
- [Commits](https://github.com/sass-contrib/sassc-embedded-shim-ruby/compare/v1.75.2...v1.76.0)

---
updated-dependencies:
- dependency-name: sassc-embedded
  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-05-02 09:28:50 +08:00
dependabot[bot]
f4994fdda8
Build(deps): Bump multi_xml from 0.7.0 to 0.7.1 (#26841)
Bumps [multi_xml](https://github.com/sferik/multi_xml) from 0.7.0 to 0.7.1.
- [Changelog](https://github.com/sferik/multi_xml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sferik/multi_xml/compare/v0.7.0...v0.7.1)

---
updated-dependencies:
- dependency-name: multi_xml
  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-05-02 09:28:36 +08:00
Daniel Waterworth
9f9c7f0a23
FIX: Handle tags with underscores correctly (#26839) 2024-05-01 20:01:39 -05:00
Krzysztof Kotlarek
3c4a15a35f
DEV: fix flaky admin_customize_themes spec (#26842)
Because the spec is searching for "5" and checking that only one result is returned, we need to control all names generated by theme fabricator.
2024-05-02 08:26:07 +08:00
Daniel Waterworth
07dc6efdc9
DEV: Use safer SQL functions for string queries in CategoryHashTagDataSource (#26836)
Instead of `LIKE`, use either `starts_with` or `position`. This way the
term isn't interpreted as a pattern.
2024-05-01 13:27:46 -05:00
Isaac Janzen
dc54884c1a
DEV: Backport after-header-panel plugin outlet to widget header (#26837) 2024-05-01 13:08:11 -05:00