Commit Graph

56839 Commits

Author SHA1 Message Date
876591fdab FIX: Signup fields tab order and descriptions (#29772) 2024-11-15 18:17:55 -03:00
276bc8a565 DEV: Include plugin directories in search tooling & IDEs (#29760)
Non-bundled plugins are gitignore'd, but we want them to show up in search tools / IDEs. Adding a `.ignore` file with a negative glob lets us achieve this.

Previously, it was up to individuals to work out how to configure their editor to do this when working on plugins.

Also adds negative matchers for the vscode config files, so they show up in the file picker & search.
2024-11-15 16:57:08 +00:00
a28ab171ec DEV: Add index to users.ip_address 2024-11-15 11:17:07 -05:00
4efcc88039 UX: Move flag CTA button from subheader to header (#29781)
* UX: Move flag CTA button from subheader to header

* DEV: Remove unused subpageheader import
2024-11-15 09:12:45 -07:00
8325465dea DEV: Update vscode config to use ruby-lsp for syntax_tree formatting (#29784) 2024-11-15 13:28:15 +00:00
9b0cfa99c5 DEV: Gracefully handle remaps which violate DB column constraints (#29501)
* DEV: Gracefully handle remaps which violate DB column constraints

This change implements length constraint enforcement to skip remaps
which exceed column max lengths

* DEV: Only perform skipped column stats lookup when verbose is true

* DEV: Tidy up specs

* DEV: Make skipping violating remap behaviour opt-in

This change introduces a new `skip_max_length_violations` param for
`remap`, set to `false` by default to ensure we still continue to fail
hard when max lenth constraints are violated.

To aid in quick resolution when remaps fail, this change also
adds more context to the exception message to include the offending table
and column information

* Apply suggestions from code review

Co-authored-by: Gerhard Schlager <gerhard.schlager@discourse.org>

* FIX: Various fixes

- Linter errors
- Remap status "logger" early return condition

---------

Co-authored-by: Gerhard Schlager <gerhard.schlager@discourse.org>
2024-11-15 10:42:25 +00:00
a9d6aba427 UX: Update CTA button label to 'Add Emoji' for clarity (#29774) 2024-11-14 20:56:40 -07:00
6bf0ac730f FIX: Rescue ActiveRecord::ReadOnlyError when baking theme field (#29776)
Firstly, we need to understand that ActiveRecord can be
connected to a role which prevent writes and this happens in Discourse when a
replica database has been setup for failover purposes. When a role
prevent writes from happening, ActiveRecord will raise the
`ActiveRecord::ReadOnlyError` if a write query is attempted.

Secondly, theme fields are baked at runtime within GET requests. The
baking process involves writing the baked value to the
`ThemeField#baked_value` column in the database.

If we combine the two points above, we can see how the writing of the
baked value to the database will trigger a `ActiveRecord::ReadOnlyError`
in a GET requests when the database is connected to a role preventing
writes. However, failing to bake a theme is not the end of the world and
should not cause GET requests to fail. Therefore, this commit adds a rescue
for `ActiveRecord::ReadOnlyError` in the `ThemeField#ensure_baked!`
method.
2024-11-15 10:19:10 +08:00
4e5de17e7c FIX: Admin backups erroring because of S3 dualstack (#29775)
Followup 0568d36133081e52f25f05585c1a568c3b828d79
Followup 97cf069a061e350edfc5310266e80e58532a39a4

Due to the S3 dualstack endpoint change, sites with
S3 backups configured but _not_ S3 uploads were erroring,
with admins unable to access the backups page. This
commit fixes the error by not enabling S3 dualstack
endpoints if S3 uploads have not been enabled, backups
don't need to use them.

c.f. https://meta.discourse.org/t/unable-to-backup-or-navigate-to-backups/335899
2024-11-15 12:05:59 +10:00
01a1dc43cb DEV: Skip flaky styleguide system specs (#29773) 2024-11-15 00:13:22 +01:00
d3caa875be DEV: Fix duplicate port on livereload (#29771)
Followup to fd5ef6896d16385eeadefae1d7558cd3a2cb2a4e
2024-11-14 23:05:47 +00:00
e9e6774a4f Build(deps): Bump excon from 1.2.0 to 1.2.1 (#29769)
Bumps [excon](https://github.com/excon/excon) from 1.2.0 to 1.2.1.
- [Changelog](https://github.com/excon/excon/blob/master/changelog.txt)
- [Commits](https://github.com/excon/excon/compare/v1.2.0...v1.2.1)

---
updated-dependencies:
- dependency-name: excon
  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-11-14 23:50:30 +01:00
b5c3baabcc Build(deps): Bump json from 2.8.1 to 2.8.2 (#29770)
Bumps [json](https://github.com/ruby/json) from 2.8.1 to 2.8.2.
- [Release notes](https://github.com/ruby/json/releases)
- [Changelog](https://github.com/ruby/json/blob/master/CHANGES.md)
- [Commits](https://github.com/ruby/json/compare/v2.8.1...v2.8.2)

---
updated-dependencies:
- dependency-name: json
  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-11-14 23:50:06 +01:00
2c81ee7d81 Build(deps-dev): Bump rubocop-discourse from 3.8.4 to 3.8.6 (#29768)
Bumps [rubocop-discourse](https://github.com/discourse/rubocop-discourse) from 3.8.4 to 3.8.6.
- [Commits](https://github.com/discourse/rubocop-discourse/compare/v3.8.4...v3.8.6)

---
updated-dependencies:
- dependency-name: rubocop-discourse
  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-11-14 23:43:36 +01:00
4d89abbc14 Build(deps): Bump ace-builds from 1.36.4 to 1.36.5 (#29764)
Bumps [ace-builds](https://github.com/ajaxorg/ace-builds) from 1.36.4 to 1.36.5.
- [Release notes](https://github.com/ajaxorg/ace-builds/releases)
- [Changelog](https://github.com/ajaxorg/ace-builds/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ajaxorg/ace-builds/compare/v1.36.4...v1.36.5)

---
updated-dependencies:
- dependency-name: ace-builds
  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-11-14 23:31:44 +01:00
dd96067df7 Build(deps): Bump faraday-net_http from 3.3.0 to 3.4.0 (#29766)
Bumps [faraday-net_http](https://github.com/lostisland/faraday-net_http) from 3.3.0 to 3.4.0.
- [Release notes](https://github.com/lostisland/faraday-net_http/releases)
- [Commits](https://github.com/lostisland/faraday-net_http/compare/v3.3.0...v3.4.0)

---
updated-dependencies:
- dependency-name: faraday-net_http
  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-11-14 22:55:07 +01:00
84b220d187 Build(deps): Bump uri from 1.0.1 to 1.0.2 (#29765)
Bumps [uri](https://github.com/ruby/uri) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/ruby/uri/releases)
- [Commits](https://github.com/ruby/uri/compare/v1.0.1...v1.0.2)

---
updated-dependencies:
- dependency-name: uri
  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-11-14 22:54:50 +01:00
5f130b2971 A11Y: update clickable search dropdown tips to be buttons (#29762) 2024-11-14 16:23:43 -05:00
2ac1894292 FIX: Error with social logins and fullpage signup (#29761) 2024-11-14 16:02:17 -03:00
91ce470fce FIX: Styleguide errors and add smoke test for component pages (#29747) 2024-11-14 15:07:05 -03:00
f70cc6215c DEV: Improve JSDoc for withPluginApi (#29758)
This allows consumers to get intellisense completions on the `api.` argument of their callback
2024-11-14 17:20:23 +00:00
fd1220af69 FIX: chat bookmarks in drawer mode (#29757)
When using chat in drawer mode, after you've clicked on a chat bookmark in the user menu, clicking any other chat bookmark would "do nothing".

In 8b18fd155679fa9b9d6e660ac74130cb79daabdc we added an optimization to prevent the same route from being reloaded, but it ended up breaking the bookmarks.

This commit reverts the changed made the above commit and adds a system specs that ensure we can click two chat bookmarks in the user menu when using chat in drawer mode.

Internal ref - t/134362
2024-11-14 17:20:11 +01:00
b39c30045b FEATURE: Add skip notification option to group invite to topic (#29741)
* FEATURE: Add skip notification option to group invite to topic

* DEV: rename `skip_notification` to `should_notify`

* DEV: update `should_notify` param to be default `true` in controllers

* DEV: update spec to use `greater than` instead of `equal to` to prevent flakiness

* Update app/controllers/topics_controller.rb

Co-authored-by: David Taylor <david@taylorhq.com>

* DEV: merged two `#invite_group` specs into one

* DEV: Added test case for `invite-group` in requests spec

---------

Co-authored-by: David Taylor <david@taylorhq.com>
2024-11-14 13:00:15 -03:00
9b691853e0 FIX: Dismiss unread posts in subcategories (#29671)
When a parent category shows topics from subcategories, dismissing
should dismiss posts in both parent and subcategories.

Co-authored-by: Alan Guo Xiang Tan <gxtan1990@gmail.com>
2024-11-14 10:06:12 -05:00
f62ed063fb UX: Fix Android Firefox Mobile reply position (#29751) 2024-11-14 10:01:55 -05:00
fd5ef6896d DEV: Overhaul devcontainer configuration (#28446)
- Uses a more appropriate image, with immutable tag (so update prompts work correctly)
- Updates port forwarding
- Improves mount setup (inc. persistant PG/Redis when rebuilding)
- Fixes ember-cli live reload
- Automatically configures VSCode & extensions
2024-11-14 12:11:38 +00:00
8dc772f2a8 UX: prevent shrinking unread badge for long DM channel names (#29756)
Fixes a small UX issue where the unread badge gets squashed in long DM channel names.
2024-11-14 15:27:14 +04:00
35c4e1178c Build(deps-dev): Bump puppeteer-core from 23.7.1 to 23.8.0 (#29753)
Bumps [puppeteer-core](https://github.com/puppeteer/puppeteer) from 23.7.1 to 23.8.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-v23.7.1...puppeteer-core-v23.8.0)

---
updated-dependencies:
- dependency-name: puppeteer-core
  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-11-14 11:19:51 +01:00
5847f137e4 Build(deps-dev): Bump rswag-specs from 2.15.0 to 2.16.0 (#29748)
* Build(deps-dev): Bump rswag-specs from 2.15.0 to 2.16.0

Bumps [rswag-specs](https://github.com/rswag/rswag) from 2.15.0 to 2.16.0.
- [Release notes](https://github.com/rswag/rswag/releases)
- [Changelog](https://github.com/rswag/rswag/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rswag/rswag/compare/2.15.0...2.16.0)

---
updated-dependencies:
- dependency-name: rswag-specs
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

* Update Gemfile.lock

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jarek Radosz <jradosz@gmail.com>
2024-11-14 11:19:06 +01:00
5ce4af1aa6 FEATURE: add mention count to threads (#29739)
Previously we only counted mentions that were made within channels, however for threads this was never implemented.

This change adds a mention count to the ThreadUnreadsQuery, which is used for channel thread lists and the user thread list. We are also expanding channel mentions count to include mentions within threads.

The goal is to have a more consistent urgent badge across chat, in places such as channel lists and the chat header.
2024-11-14 14:10:12 +04:00
cd6d2ffaa4 DEV: Adds personal messages to SMF2 importer (#29540)
* This commits ports the personal messages conversion step from smf1.rb into smf2.rb
* Improves error handling for skipped messages
* also adds a brief explanation for possible improvements to topic matching in PMs
2024-11-14 09:41:11 +01:00
9aae4df273 FIX: uses absolute strategy on ipad (#29754)
The absolute strategy was causing issues on modals.
2024-11-14 15:23:06 +09:00
42b1ca8f78 UX: redesign admin permalinks page (#29634)
Redesign the permalinks page to follow the UX guide. In addition, the ability to edit permalinks was added.

This change includes:
- move to RestModel
- added Validations
- update endpoint and clear old values after the update
- system specs and improvements for unit tests
2024-11-14 10:03:58 +11:00
b37f6f1edb Build(deps-dev): Bump rubocop-ast from 1.35.0 to 1.36.1 (#29750)
Bumps [rubocop-ast](https://github.com/rubocop/rubocop-ast) from 1.35.0 to 1.36.1.
- [Release notes](https://github.com/rubocop/rubocop-ast/releases)
- [Changelog](https://github.com/rubocop/rubocop-ast/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-ast/compare/v1.35.0...v1.36.1)

---
updated-dependencies:
- dependency-name: rubocop-ast
  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-11-13 22:49:24 +01:00
eb2992a628 REVERT: Check for features sooner (#29746) 2024-11-13 11:30:34 -08:00
8dc474952b DEV: Check for features sooner (#29745)
This PR updates the Job for checking new features from the features feed from every day to every hour. This allows for easier rollout of features.
2024-11-13 10:08:13 -08:00
fea82d04ec DEV: fix chat:*:populate rake tasks (#29740) 2024-11-13 18:11:25 +01:00
b4156107df DEV: restore AutoJoinChannelBatch job as a no-op to clear queue (#29743)
The job was removed in 6dfe2fbe16a4096ff342ec8b626ac62a19eaa180 as part of a performance-related refactor.

The issue was that job was already enqueued in sidekiq and now that the file has been deleted, it's generating a lot of `uninitialized constant Jobs::Chat::AutoJoinChannelBatch` errors.

Restoring this file will help clear the sidekiq queue. We'll remove the job in a few months.

Internal ref - t/141563
2024-11-13 18:10:03 +01:00
8d53f8ef1a DEV: Simplify livereload configuration for better proxy compatibility (#29742)
When running a development environment behind a proxy (e.g. when using a cloud development environment, or a service like ngrok), the ember-cli port & protocol may not match the one in the browser. `livereload.js` knows how to auto-configure itself based on the current browser environment... but Ember CLI overrides that autoconfiguration with some hard-coded values.

The intention there is to allow running the livereload server on a different port to the ember-cli web proxy. We don't need that functionality.

This commit stops loading `ember-cli-live-reload.js`, and instead loads `_lr/livereload.js` directly.
2024-11-13 16:39:23 +00:00
6779b46f55 FIX: correctly makes @disabled dynamic (#29738)
Disabled was set on field init which was preventing it to be dynamic.
2024-11-13 22:53:42 +09:00
9a22d7df7b UX: reduce bottom topic map threshold, with protections (#29665) 2024-11-13 07:58:44 -05:00
3df3ad6ed6 FIX: Hide presence toggle icon is backwards (#29737) 2024-11-13 09:54:40 -03:00
920fa4c248 FIX: Correctly load the invites model when using full page logins (#29713) 2024-11-13 08:56:16 -03:00
00196b8652 FIX: Restore and deprecate the :type param of uploads#create (#29736)
Follow up to 6f8f6a7726

Prior to the linked commit, the `uploads#create` endpoint had a `upload_type` and `type` param that acted as aliases for each other and raised an error if both of them were missing. In the linked commit, we removed the `type` param and always required the `upload_type` param which break API consumers that only included `type` in their requests.

This commit adds back the `type` param temporarily and introduces a deprecation message for it so that API consumers are made aware of the eventual removal of the `type` param.
2024-11-13 14:07:20 +03:00
86a2558f5f DEV: Add remove debugging URLs to system spec helper (#29722)
These URLs allow the state of a headless browser to be viewed and debugged using any other browser, without needing to restart the test with `SELENIUM_HEADLESS=0`.
2024-11-13 09:27:48 +00:00
f1edc20a50 FIX: correctly supports dropping image (#29733)
This commit:
- Adds back the target drop options to enable the feature
- Applies the css to every elements and not just the one for admin emojis, also fixes the style as it was flashing and preventing it to work. For now we just change the color of the image icon.
- Adds a test to ensure we don't regress.
2024-11-13 17:30:14 +09:00
69b552a211 DEV: Fix uploads:fix_missing_s3 rake task when file is too big (#29735)
If the upload has existed before, we should allow the upload to be
created even if the upload's size is too big.
2024-11-13 15:01:44 +08:00
352777a074 DEV: adds a page object for automation page (#29732)
This page object also attempts to make the update automation more resilient as we are seeing flakey specs on this codepath. The solution for now is to ensure we have the sequence: click button/button is loading/ button has finished loading.

---------

Co-authored-by: Alan Guo Xiang Tan <gxtan1990@gmail.com>
2024-11-13 11:49:38 +09:00
234133bd3b UX: Split hide_profile_and_presence user option (#29632)
It splits the hide_profile_and_presence user option and the default_hide_profile_and_presence site setting for more granular control. It keeps the option to hide the profile under /u/username/preferences/interface and adds the presence toggle in the quick user menu.

Co-authored-by: Régis Hanol <regis@hanol.fr>
2024-11-12 22:22:58 -03:00
d637bd6519 DEV: Don’t replace Rails logger in specs (#29721)
Instead of replacing the Rails logger in specs, we can instead use
`#broadcast_to` which has been introduced in Rails 7.
2024-11-13 08:47:39 +08:00