Alan Guo Xiang Tan
7bcfe60a76
DEV: Validate default value for `type: objects` theme settings ( #25833 )
...
Why this change?
This change adds validation for the default value for `type: objects` theme
settings when a setting theme field is uploaded. This helps the theme
author to ensure that the objects which they specifc in the default
value adhere to the schema which they have declared.
When an error is encountered in one of the objects, the error
message will look something like:
`"The property at JSON Pointer '/0/title' must be at least 5 characters
long."`
We use a JSON Pointer to reference the property in the object which is
something most json-schema validator uses as well.
What does this change do?
1. This commit once again changes the shape of hash returned by
`ThemeSettingsObjectValidator.validate`. Instead of using the
property name as the key previously, we have decided to avoid
multiple levels of nesting and instead use a JSON Pointer as the key
which helps to simplify the implementation.
2 Introduces `ThemeSettingsObjectValidator.validate_objects` which
returns an array of validation error messages for all the objects
passed to the method.
2024-02-27 09:16:37 +08:00
Kris
4df4584396
DEV: adds `topic-below-suggested` plugin outlet ( #25896 )
2024-02-26 18:53:13 -05:00
dependabot[bot]
a3e564ee74
Build(deps-dev): Bump @discourse/lint-configs from 1.3.5 to 1.3.7 ( #25893 )
...
Bumps [@discourse/lint-configs](https://github.com/discourse/lint-configs ) from 1.3.5 to 1.3.7.
- [Commits](https://github.com/discourse/lint-configs/commits )
---
updated-dependencies:
- dependency-name: "@discourse/lint-configs"
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-02-26 23:09:54 +01:00
Osama Sayegh
3f4537eeb5
FEATURE: Schema theme setting input fields ( #25811 )
...
Continue from https://github.com/discourse/discourse/pull/25673 .
This commit starts building the inputs pane of schema theme settings. At the moment only string fields are rendered, but more types will be added in future commits.
2024-02-27 01:07:32 +03:00
Blake Erickson
52d357c1d1
DEV: Add loading spinner to install theme modal ( #25888 )
...
This commit adds a loading spinner when installing a theme as sometimes
installing a theme can take quite a bit of time this way we have some
indication that things are still working as the theme is being
installed.
2024-02-26 14:14:21 -07:00
Isaac Janzen
8805a34001
DEV: Add before / after header-buttons plugin outlets ( #25887 )
2024-02-26 12:56:21 -07:00
Jeff Wong
e440996aca
DEV: resolve on conflict ( #25847 )
2024-02-26 10:03:51 -08:00
Isaac Janzen
b5d4e06de7
DEV: Update chat `addToHeaderIcons` to pass component ( #25885 )
2024-02-26 11:00:16 -07:00
dependabot[bot]
a85e4adc85
Build(deps-dev): Bump ember-qunit from 6.2.0 to 8.0.2 ( #25880 )
...
* Build(deps-dev): Bump ember-qunit from 6.2.0 to 8.0.2
Bumps [ember-qunit](https://github.com/emberjs/ember-qunit ) from 6.2.0 to 8.0.2.
- [Release notes](https://github.com/emberjs/ember-qunit/releases )
- [Commits](https://github.com/emberjs/ember-qunit/compare/v6.2.0...v8.0.2 )
---
updated-dependencies:
- dependency-name: ember-qunit
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* shim for plugins/themes
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: David Taylor <david@taylorhq.com>
2024-02-26 16:18:33 +00:00
dependabot[bot]
12d6e9a163
Build(deps-dev): Bump esbuild from 0.19.2 to 0.20.1 ( #25864 )
...
Bumps [esbuild](https://github.com/evanw/esbuild ) from 0.19.2 to 0.20.1.
- [Release notes](https://github.com/evanw/esbuild/releases )
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md )
- [Commits](https://github.com/evanw/esbuild/compare/v0.19.2...v0.20.1 )
---
updated-dependencies:
- dependency-name: esbuild
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-02-26 16:04:55 +00:00
dependabot[bot]
8f30bc34bc
Build(deps-dev): Bump lefthook from 1.4.3 to 1.6.2 ( #25867 )
...
Bumps [lefthook](https://github.com/evilmartians/lefthook ) from 1.4.3 to 1.6.2.
- [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.4.3...v1.6.2 )
---
updated-dependencies:
- dependency-name: lefthook
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-02-26 16:04:34 +00:00
dependabot[bot]
fb53a887bd
Build(deps-dev): Bump puppeteer-core from 21.0.3 to 22.3.0 ( #25866 )
...
* Build(deps-dev): Bump puppeteer-core from 21.0.3 to 22.3.0
Bumps [puppeteer-core](https://github.com/puppeteer/puppeteer ) from 21.0.3 to 22.3.0.
- [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-v21.0.3...puppeteer-core-v22.3.0 )
---
updated-dependencies:
- dependency-name: puppeteer-core
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Remove xpath usage
* timeout
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: David Taylor <david@taylorhq.com>
2024-02-26 16:03:49 +00:00
dependabot[bot]
d7ae479802
Build(deps-dev): Bump chrome-remote-interface from 0.31.3 to 0.33.0 ( #25868 )
...
Bumps [chrome-remote-interface](https://github.com/cyrus-and/chrome-remote-interface ) from 0.31.3 to 0.33.0.
- [Commits](https://github.com/cyrus-and/chrome-remote-interface/compare/v0.31.3...v0.33.0 )
---
updated-dependencies:
- dependency-name: chrome-remote-interface
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-02-26 16:03:23 +00:00
chapoi
9ce2c20ab0
UX: make sure a-tag uses border radius var ( #25882 )
2024-02-26 16:17:04 +01:00
Mark VanLandingham
7adedfa37a
DEV: appEvents when desktop/push JS notifications are opened ( #25823 )
2024-02-26 09:00:39 -06:00
chapoi
ff9c6ce934
UX: fix border-radius for dropdown in chat msg actions ( #25881 )
2024-02-26 15:50:12 +01:00
chapoi
0dfd30f587
UX: remove margin on bookmark icon on chat msg ( #25859 )
2024-02-26 15:49:58 +01:00
dependabot[bot]
aee6f1d0fb
Build(deps): Bump @glimmer/syntax from 0.84.3 to 0.88.1 ( #25879 )
...
Bumps [@glimmer/syntax](https://github.com/glimmerjs/glimmer-vm ) from 0.84.3 to 0.88.1.
- [Release notes](https://github.com/glimmerjs/glimmer-vm/releases )
- [Changelog](https://github.com/glimmerjs/glimmer-vm/blob/main/CHANGELOG.md )
- [Commits](https://github.com/glimmerjs/glimmer-vm/compare/v0.84.3...v0.88.1 )
---
updated-dependencies:
- dependency-name: "@glimmer/syntax"
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-02-26 15:20:26 +01:00
dependabot[bot]
a958e7e766
Build(deps-dev): Bump webmock from 3.22.0 to 3.23.0 ( #25875 )
...
Bumps [webmock](https://github.com/bblimke/webmock ) from 3.22.0 to 3.23.0.
- [Changelog](https://github.com/bblimke/webmock/blob/master/CHANGELOG.md )
- [Commits](https://github.com/bblimke/webmock/compare/v3.22.0...v3.23.0 )
---
updated-dependencies:
- dependency-name: webmock
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-02-26 15:16:39 +01:00
dependabot[bot]
c4a16ff136
Build(deps-dev): Bump eslint from 8.56.0 to 8.57.0 ( #25877 )
...
Bumps [eslint](https://github.com/eslint/eslint ) from 8.56.0 to 8.57.0.
- [Release notes](https://github.com/eslint/eslint/releases )
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md )
- [Commits](https://github.com/eslint/eslint/compare/v8.56.0...v8.57.0 )
---
updated-dependencies:
- dependency-name: eslint
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-02-26 15:16:29 +01:00
dependabot[bot]
3475fbe825
Build(deps-dev): Bump typescript from 5.1.6 to 5.3.3 ( #25876 )
...
Bumps [typescript](https://github.com/Microsoft/TypeScript ) from 5.1.6 to 5.3.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases )
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml )
- [Commits](https://github.com/Microsoft/TypeScript/compare/v5.1.6...v5.3.3 )
---
updated-dependencies:
- dependency-name: typescript
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-02-26 15:16:18 +01:00
dependabot[bot]
03af9a796e
Build(deps): Bump ember-resolver from 10.1.1 to 11.0.1 ( #25865 )
...
Bumps [ember-resolver](https://github.com/ember-cli/ember-resolver ) from 10.1.1 to 11.0.1.
- [Release notes](https://github.com/ember-cli/ember-resolver/releases )
- [Changelog](https://github.com/ember-cli/ember-resolver/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ember-cli/ember-resolver/compare/v10.1.1...v11.0.1 )
---
updated-dependencies:
- dependency-name: ember-resolver
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-02-26 15:15:51 +01:00
dependabot[bot]
7bfbb36259
Build(deps-dev): Bump concurrently from 8.2.1 to 8.2.2 ( #25872 )
...
Bumps [concurrently](https://github.com/open-cli-tools/concurrently ) from 8.2.1 to 8.2.2.
- [Release notes](https://github.com/open-cli-tools/concurrently/releases )
- [Commits](https://github.com/open-cli-tools/concurrently/compare/v8.2.1...v8.2.2 )
---
updated-dependencies:
- dependency-name: concurrently
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-02-26 15:12:33 +01:00
David Taylor
588a79c80c
DEV: Merge root JS packages ( #25857 )
...
Before this commit, we had a yarn package set up in the root directory and also in `app/assets/javascripts`. That meant two `yarn install` calls and two `node_modules` directories. This commit merges them both into the root location, and updates references to node_modules.
A previous attempt can be found at https://github.com/discourse/discourse/pull/21172 . This commit re-uses that script to merge the `yarn.lock` files.
Co-authored-by: Jarek Radosz <jradosz@gmail.com>
2024-02-26 13:45:58 +00:00
Andrei Prigorshnev
b3a1199493
FEATURE: Hide user status when user is hiding public profile and presence ( #24300 )
...
Users can hide their public profile and presence information by checking
“Hide my public profile and presence features” on the
`u/{username}/preferences/interface` page. In that case, we also don't
want to return user status from the server.
This work has been started in https://github.com/discourse/discourse/pull/23946 .
The current PR fixes all the remaining places in Core.
Note that the actual fix is quite simple – a5802f484d
.
But we had a fair amount of duplication in the code responsible for
the user status serialization, so I had to dry that up first. The refactoring
as well as adding some additional tests is the main part of this PR.
2024-02-26 17:40:48 +04:00
Joffrey JAFFEUX
41790f7739
DEV: allows stop/resume streaming on a message ( #25774 )
...
```ruby
ChatSDK::Message.start_stream(message_id: 1, guardian: guardian)
ChatSDK::Message.stream(raw: "foo", message_id: 1, guardian: guardian)
ChatSDK::Message.stream(raw: "bar", message_id: 1, guardian: guardian)
ChatSDK::Message.stop_stream(message_id: 1, guardian: guardian)
```
Generally speaking only admins or owners of the message can interact with a message. Also note, Streaming to an existing message with a different user won't change the initial user of the message.
2024-02-26 14:16:29 +01:00
David Taylor
794ef67268
DEV: Remove package.json and yarn.lock symlinks
...
These were part of the Ember 3/5 feature-flagging system, which is no longer required.
2024-02-26 12:22:05 +00:00
David Taylor
542cb22fd4
DEV: Drop Ember 3 feature flag
2024-02-26 12:22:05 +00:00
Alan Guo Xiang Tan
2018cd3b62
DEV: Update Rails to 7.0.8.1 ( #25854 )
...
Why this change?
7.0.8.1 is a security release but the security issues do not affect us.
However, we are still bumping the Rails version since it doesn't take
much effort for us to do so.
2024-02-26 18:17:35 +08:00
Joffrey JAFFEUX
cb118c979c
DEV: prevents flakey spec ( #25855 )
...
Deleting the user of the message was unreliable, giving the test its own message to act on fixes it.
2024-02-26 09:43:29 +01:00
dependabot[bot]
1d5f7f92e8
Build(deps): Bump terser from 5.27.2 to 5.28.1 in /app/assets/javascripts ( #25849 )
...
* Build(deps): Bump terser in /app/assets/javascripts
Bumps [terser](https://github.com/terser/terser ) from 5.27.2 to 5.28.1.
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md )
- [Commits](https://github.com/terser/terser/compare/v5.27.2...v5.28.1 )
---
updated-dependencies:
- dependency-name: terser
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Update lockfiles for ember version flag
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: discoursebuild <build@discourse.org>
2024-02-26 12:36:55 +08:00
dependabot[bot]
e960498610
Build(deps-dev): Bump rspec-support from 3.13.0 to 3.13.1 ( #25850 )
...
Bumps [rspec-support](https://github.com/rspec/rspec-support ) from 3.13.0 to 3.13.1.
- [Changelog](https://github.com/rspec/rspec-support/blob/main/Changelog.md )
- [Commits](https://github.com/rspec/rspec-support/compare/v3.13.0...v3.13.1 )
---
updated-dependencies:
- dependency-name: rspec-support
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-02-26 12:35:54 +08:00
dependabot[bot]
cb6a3229a8
Build(deps-dev): Bump listen from 3.8.0 to 3.9.0 ( #25851 )
...
Bumps [listen](https://github.com/guard/listen ) from 3.8.0 to 3.9.0.
- [Release notes](https://github.com/guard/listen/releases )
- [Commits](https://github.com/guard/listen/compare/v3.8.0...v3.9.0 )
---
updated-dependencies:
- dependency-name: listen
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-02-26 12:35:40 +08:00
Alan Guo Xiang Tan
c08d6b0f93
DEV: Only enable turbo_rspec retry on main branch ( #25827 )
...
Why this change?
Our tests are more stable these days and there is little to no need for
us to be retrying on PRs which helps to increase confidence in our test
suite since flaky tests are raised earlier.
2024-02-26 12:35:19 +08:00
Ted Johansson
ed2496c59d
FEATURE: Add scheduled Twitter login problem check - Part 1 ( #25830 )
...
This PR adds a new scheduled problem check that simply tries to connect to Twitter OAuth endpoint to check that it's working. It is using the default retry strategy of 2 retries 30 seconds apart.
2024-02-26 12:08:12 +08:00
Joffrey JAFFEUX
a1d7548869
FIX: prevents exception when last reply has deleted user ( #25852 )
...
Prior to this fix, if the last message of a thread had been made by a deleted user it would cause an exception as we would have no user to display, this commit uses a solution we have been using at other places: the null pattern, through the use of `Chat::NullUser.new`.
2024-02-26 10:44:54 +08:00
Vinoth Kannan
1bd9ca11e7
DEV: include more data in Discourse Discover enrollment payload. ( #25846 )
...
Adding forum's URL, title, and locale to the payload of enrollment can be helpful while managing it in the Discourse Discover.
2024-02-25 10:42:50 +05:30
Isaac Janzen
23bce774d7
DEV: Update user dropdown aria-label ( #25845 )
2024-02-23 16:11:47 -07:00
Isaac Janzen
21f23cc032
DEV: Convert header to glimmer ( #25214 )
...
Here is a breakdown of the changes that will be implemented in this PR.
# Widgets -> Glimmer
Obviously, the intention of the todo here is to convert the header from widgets to glimmer. This PR splits the respective widgets as so:
### widgets/site-header.js
```mermaid height=200
flowchart TB
A[widgets/site-header.js]
A-->B[components/glimmer-site-header.gjs]
```
### widgets/header.js and children
```mermaid height=200
flowchart TB
A[widgets/header.js]
A-->B[components/glimmer-header.gjs]
B-->C[glimmer-header/contents.gjs]
C-->D[./auth-buttons.gjs]
C-->E[./icons.gjs]
C-->F[./user-menu-wrapper.gjs]
C-->G[./hamburger-dropdown-wrapper.gjs]
C-->H[./user-menu-wrapper.gjs]
C-->I[./sidebar-toggle.gjs]
C-->J[./topic/info.gjs]
```
There are additional components rendered within the `glimmer-header/*` components, but I will leave those out for now. From this view you can see that we split apart the logic of `widgets/header.js` into 10+ components. Breaking apart these mega files has many benefits (readability, etc).
# Services
I have introduced a [header](cdb42caa04/app/assets/javascripts/discourse/app/services/header.js
) service. This simplifies how we pass around data in the header, as well as fixes a bug we have with "swiping" menu panels.
# Modifiers
Added a [close-on-click-outside](cdb42caa04/app/assets/javascripts/discourse/app/modifiers/close-on-click-outside.js
) modifier that is built upon the [close-on-click-outside modifier](https://github.com/discourse/discourse/blob/main/app/assets/javascripts/float-kit/addon/modifiers/close-on-click-outside.js ) that @jjaffeux built for float-kit. I think we could replace float-kit's implementation with mine and have it in a centralized location as they are extremely similar.
# Tests
Rewrote the existing header tests ([1](https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/tests/integration/components/widgets/header-test.js ), [2](https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/tests/integration/components/site-header-test.js )) as system tests.
# Other
- Converted `widgets/user-status-bubble.js` to a gjs component
- Converted `widgets/sidebar-toggle.js` to a gjs component
- Converted `topicFeaturedLinkNode()` to a gjs component
- Deprecated the [docking mixin](https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/mixins/docking.js )
2024-02-23 11:08:15 -07:00
Penar Musaraj
d10b1aaedd
Revert "FIX: Show Uncategorized in category-chooser ( #25794 )" ( #25843 )
...
This reverts commit 1df473b530
.
2024-02-23 12:21:44 -05:00
Penar Musaraj
b205abadfc
Revert "UX: allow fullscreen composer on mobile ( #25787 )" ( #25842 )
...
This reverts commit 13eabff739
.
2024-02-23 12:21:26 -05:00
Joffrey JAFFEUX
dd292b31cc
FIX: do not raise error on transition aborted ( #25841 )
2024-02-23 16:44:50 +01:00
David Taylor
20a36f0b8f
DEV: Include deprecation link in warning banner ( #25839 )
2024-02-23 14:28:23 +00:00
Kris
1ac8922013
DEV: update classes, remove unused CSS ( #25825 )
2024-02-23 09:14:37 -05:00
Joffrey JAFFEUX
77028e3675
DEV: adds a `chat_can_create_direct_message_channel` modifier ( #25840 )
...
Plugins can now register this modifier:
```ruby
register_modifier(:chat_can_create_direct_message_channel) do |user, target_users|
# your logic which should return true or false
end
```
2024-02-23 14:35:02 +01:00
Joffrey JAFFEUX
9e08b45f9b
FIX: correctly updates last read on scroll arrow click ( #25838 )
...
Prior to this fix the scroll was ignored when clicking the arrow bottom which would prevent the call to update last read. This fix manually calls update last read in this case and adds a test for it.
2024-02-23 14:23:17 +01:00
chapoi
28fc4010b0
UX: remove hardcoded value ( #25499 )
2024-02-23 11:58:12 +01:00
chapoi
2d68d8f74c
UX: Chat > send btn alignment + hardcoded value fix ( #25836 )
...
* UX: chat > fix alignment of svg icon in send button
* fix forgotten hardcoded value
2024-02-23 10:46:55 +01:00
Alan Guo Xiang Tan
ad0824b7e3
DEV: Fix connections timeout in system test ( #25835 )
...
Why this change?
This regressed in 6e9fbb5bab
because we
had a `request.xhr?` check before we decide to block requests. However,
there could not none-xhr requests which we need to block as well at the
end of each system test when `@@block_requests` is true.
This also reverts commit 6437f27f90
.
2024-02-23 16:03:46 +08:00
Martin Brennan
cd6fd515fe
FIX: Prevent admin sidebar errors in safe mode ( #25832 )
...
In safe mode plugins are not loaded, so the plugin admin
routes are not loaded. This was causing errors in the
admin sidebar because we are trying to show links to the plugin
admin routes.
This fixes the issue by just not adding the plugin links if
we are in safe mode.
2024-02-23 17:04:42 +10:00