` to use bodyClass helper (#23704)
* DEV: Update tag-show route to native class syntax (#23701)
* FIX: allow history modal columns to shrink width (#23700)
* FIX: A regression in RequestGroupMembershipForm (#23699)
* FEATURE: Add `prompt=none` functionality to SSO Provider protocol (#22393)
* DEV: Enable Embroider build by default (#23685)
* Build(deps): Bump get-func-name from 2.0.0 to 2.0.2 (#23697)
* FEATURE: Add webhooks for user suspend and unsuspend (#23684)
* FEATURE: improve error message when double liking (#23698)
* UX: selected indicator more topics spacing (#23696)
* Build(deps-dev): Bump markdown-it from 13.0.1 to 13.0.2 in /app/assets/javascripts (#23677)
* FIX: Disallow moderators from custom public sidebar sections (#23683)
* FIX: Copy button JS test failures (#23687)
* FIX: Broken error reporting in modals (and other places) (#23680)
* FIX: copy codeblocks needs `client: true` (#23686)
* DEV: Update importers from PostUpload to UploadReference (#23681)
* DEV: Drop post_uploads table (#23673)
* Update translations (#23628)
* Update translations (#23627)
* FIX: Correct error on add user modal (#23679)
* DEV: Improve `upload_theme` system test helper (#23663)
* FIX: enable copy code block by default (#23662)
* UX: improve history modal layout (#23675)
* FIX: correctly sort channels with null last message (#23672)
* DEV: Modernize getOwner usage in `discourse/components` (#23674)
* DEV: Modernize chat getOwner usage (#23671)
* DEV: Use `getOwner` from `AATTember/application` in tests (#23670)
* FEATURE: allow filtering posts report by multiple categories (#23669)
* Build(deps): Bump ember-cli-babel in /app/assets/javascripts (#23667)
* Build(deps-dev): Bump selenium-webdriver from 4.13.0 to 4.13.1 (#23666)
* DEV: Remove dependence on dartsass-sprockets (#23665)
* DEV: Rename custom getOwner to getOwnerWithFallback (#23437)
* DEV: Introduce RenderGlimmer for raw hbs (#23592)
* DEV: Add source-map-support in tests for qunit stack-traces (#23653)
* DEV: FloatKit (#23650)
* UX: Restore wizard confetti in final step (#23533)
* DEV: Remove unused wizard code (#23664)
* UX: Correct tab selection in Wizard styling preview (#23639)
* FIX: ensures we reuse existing thread if existing (#23618)
* FIX: Custom sidebar section link with `/` path leading to blank page (#23661)
* Build(deps-dev): Bump sass from 1.66.1 to 1.68.0 in /app/assets/javascripts (#23638)
* Build(deps): Bump sass-embedded from 1.66.1 to 1.68.0 (#23637)
* DEV: Cleanup unused wizard illustrations (#23659)
* DEV: Change `PageObjects::Components::Chat::Message#exists?` to exact match (#23660)
* Build(deps-dev): Bump the babel group (#23657)
* Build(deps-dev): Bump babel-import-util in /app/assets/javascripts (#23658)
* Build(deps-dev): Bump selenium-webdriver from 4.12.0 to 4.13.0 (#23654)
* Build(deps): Bump zeitwerk from 2.6.11 to 2.6.12 (#23656)
* Build(deps): Bump ffi from 1.16.1 to 1.16.2 (#23655)
* DEV: update a couple button classes (#23127)
* DEV: remove tag from create-topic-button outlets (#23625)
* UX: improve activity column title data (#23614)
* DEV: Use `disableImplicitInjections` more extensively (#23579)
* DEV: Rescue another http error in qunit task (#23651)
* DEV: Prefer nested queries (#23464)
* UX: unhide experimental_form_templates (#23615)
* DEV: Allow PluginOutlets to \'wrap\' a core implementation (#23110)
* UX: Only close modal for full \'click\' events outside (#23566)
* DEV: Install ember-route-template (#23532)
* DEV: Consistently call `setupTest(hooks)` in unit tests (#23610)
* FIX: ensures an empty last message won\'t cause errors (#23647)
* Build(deps-dev): Bump terser in /app/assets/javascripts (#23631)
* Build(deps): Bump net-smtp from 0.3.3 to 0.4.0 (#23632)
* Build(deps-dev): Bump rubocop-rspec from 2.24.0 to 2.24.1 (#23644)
* Build(deps-dev): Bump rubocop-factory_bot from 2.23.1 to 2.24.0 (#23626)
* DEV: Prettify negative numbers in reviewable score explanation (#23642)
* Build(deps-dev): Bump the babel group (#23622)
* Build(deps): Bump puma from 6.3.1 to 6.4.0 (#23635)
* Build(deps): Bump execjs from 2.9.0 to 2.9.1 (#23621)
* Build(deps): Bump ffi from 1.15.5 to 1.16.1 (#23643)
* Build(deps): Bump openssl from 3.1.0 to 3.2.0 (#23636)
* Build(deps-dev): Bump rubocop-capybara from 2.18.0 to 2.19.0 (#23629)
* Build(deps-dev): Bump websocket from 1.2.9 to 1.2.10 (#23630)
* Build(deps-dev): Bump qunit in /app/assets/javascripts (#23645)
* Build(deps-dev): Bump eslint in /app/assets/javascripts (#23646)
* DEV: Remove deprecated PostAction.act method (#23641)
* FIX: Parse the digest_suppress_tags setting correctly (#23623)
* FEATURE: Link chat notifications directly to message (#23617)
* UX: fix \"More\" menu at small tablet width (#23616)
* FEATURE: site settings to revoke api keys older than a number of days (#23595)
* DEV: removes the notion of staged thread (#23612)
* A11Y: \"more\" nav link should use aria-expanded (#23613)
* FIX: use the `destination_url` cookie as `return_path` if present (#23594)
* UX: fix overflow channel row + mobile remove styling tweak (#23611)
* FIX: Add back missing \'delete spammer\' flag option (#23605)
* FIX: message date is incorrect when replying as new thread (#23608)
* UX: chat-channel-row alignment (#23607)
* DEV: Allow Capybara\'s server port to be configurable (#23606)
* UX: creates a vertical space between the title and the back link (#23558)
* Revert \"Build(deps): Bump sass-embedded from 1.66.1 to 1.67.0 (#23599)\" (#23604)
* Build(deps): Bump sanitize from 6.0.2 to 6.1.0 (#23601)
* Build(deps-dev): Bump the babel group (#23602)
* DEV: Convert request-group-membership-form to new modal api (#23600)
* Build(deps): Bump tilt from 2.2.0 to 2.3.0 (#23598)
* Build(deps): Bump sass-embedded from 1.66.1 to 1.67.0 (#23599)
* A11Y: disable non-essential CSS animations for reduced-motion users (#23571)
* DEV: Use the Store to create User records (#23584)
* DEV: Future-proof `htmlSafe` interactions (#23596)
* DEV: Convert tag-upload to the new modal API (#23590)
* A11Y: Activate user menu tab on keydown too (#23593)
* UI: improves remove channel animation (#23585)
* DEV: Adjust site setting search limiter (#23589)
* A11Y: avatar upload button should be focusable (#23575)
* DEV: Automatically retry patch-package on failure (#23583)
* DEV: Convert global-notice to a native class (#23582)
* DEV: Modernize admin-site-text route/controller (#23581)
* UX: removes a duplicate modal footer. (#23226)
* DEV: Upgrade the so-called share-and-invite modal (#23574)
* DEV: Convert emoji-store into a native class (#23572)
* DEV: upgrade grant badge modal to glimmer (#23526)
* Build(deps): Bump faraday from 2.7.10 to 2.7.11 (#23554)
* Build(deps-dev): Bump sinon in /app/assets/javascripts (#23578)
* Build(deps-dev): Bump rubocop-discourse from 3.3.0 to 3.4.0 (#23577)
* Build(deps): Bump excon from 0.102.0 to 0.103.0 (#23576)
* A11Y: add focus state for advanced search button (#23573)
* DEV: Remove unused `userInvitedShow` logic (#23569)
* FEATURE: add outgoing web hooks for Chat messages
* DEV: Convert document-title to a native class (#23570)
* FIX: Return 403 instead of redirect on username routes when hiding profiles (#23545)
* DEV: Move relevant glimmer search menu logic to service (#23483)
* DEV: Convert ConditionalLoadingSpinner to gjs (#23565)
* DEV: Bump theme compiler version for max svg sprite size change (#23567)
* FIX: discourse-local-dates mobile layout following 8a577984 (#23564)
* DEV: Drop `/theme-qunit` from smoke test (#23562)
* FIX: scope animated-images-pause to topic-post (#23561)
* DEV: Update discourse-local-dates to new Modal API (#23560)
* UX: hide warning if all users mentioned via group are already invited. (#23557)
* Revert \"FEATURE: Add chat message notifications for personal chats (#23307)\" (#23559)
* FEATURE: Add chat message notifications for personal chats (#23307)
* FIX: prevent lightbox images from double escaping titles (#23458)
* FIX: min_personal_message_post_length not applying to first post (#23531)
* DEV: Bump max theme sprite size to 1MB (#23556)
* DEV: Raise an error in test env when I18n interpolate argument is missing (#23527)
* Build(deps-dev): Bump test-prof from 1.2.2 to 1.2.3 (#23555)
* Bump version to v3.1.1
* Bump version to v3.2.0.beta2-dev
* Bump version to v3.2.0.beta1
* SECURITY: Add limits for themes and theme assets
* SECURITY: Limit number of drafts per user and length of `draft_key`
* SECURITY: Reduce maximum size of SVG sprite cache to prevent DoS
* PERF: Cache each theme field value once (#23192)
* SECURITY: Limit name field length of TOTP authenticators and security keys
* SECURITY: Add limits for themes and theme assets
* SECURITY: Reduce maximum size of SVG sprite cache to prevent DoS
* SECURITY: Limit number of drafts per user and length of `draft_key`
* SECURITY: Limit name field length of TOTP authenticators and security keys
* Revert \"DEV: FloatKit (#23541)\" (#23549)
* FIX: tooltips can be over the header (#23548)
* DEV: Do not squash commits in `version_bump:stage_security_fixes` (#23547)
* FIX: cancel post toolbar on click outside (#23546)
* DEV: Show separate error message for backup uploads (#23480)
* DEV: Remove decorateCookedElement id parameters (#23544)
* DEV: Improve `api.decorateCookedElement` implementation (#23543)
* UX: remove unsupported filterable attr from form template sample (#23535)
* UX: wider code lines so background takes the whole width (#23536)
* DEV: FloatKit (#23541)
* Revert \"DEV: FloatKit (#23312)\" (#23540)
* Update translations (#23539)
* Update translations (#23538)
* DEV: Move theme-error-handler initializer to service (#23534)
* DEV: FloatKit (#23312)
* FIX: chat layout shift when loading videos (#23537)
* DEV: add maxlength limits to chat messages and revisions (#23530)
* DEV: Add link to PR when generating release notes
* DEV: add maxlength to additional chat text columns (#23505)
* FEATURE: allow consumers to parse a search string (#23528)
* DEV: Switch over category settings to new table - Part 3 (#20657)
* Revert \"DEV: Run core system tests by default in docker test image (#23517)\" (#23525)
* FIX: send email to normalized email owner when hiding emails (#23524)
* DEV: Skip flaky specs (#23523)
* DEV: Fix poll-results tests (#23518)
* DEV: Add support for uploading a theme from a directory in system tests (#23402)
* Build(deps-dev): Bump rubocop from 1.56.2 to 1.56.3 (#23522)
* Build(deps): Bump execjs from 2.8.1 to 2.9.0 (#23521)
* FIX: Empty query param in group-index url (#23520)
* DEV: Run core system tests by default in docker test image (#23517)
* FIX: Prevent chat message actions to disappear on mouseleave (#23063)
* DEV: Convert home-logo-test to gjs (#23180)
* A11Y: Improvements to `` component (#23514)
* DEV: Log error to console when attempting to override gjs template (#23513)
* DEV: Allow explicitly enabling/disabling system tests in bin/turbo_rspec (#23515)
* FIX: Ensure declarative DModals do not interfere with service (#23510)
* DEV: Update d-modal tests to gjs (#23509)
* DEV: Fix `setting-on-hash` deprecation (#23506)
* DEV: Replace `_eak_seen` with `entries` (#23507)
* FIX: ensures swipe works with scroll (#23508)
* UX: implements swipe on row channel (#23436)
* DEV: Introduce `{{body-class}}`, soft-deprecate `` (#23479)
* DEV: Correct sourceMappingURL regex (#23504)
* FIX: Double footer in install-theme modal (#23503)
* Build(deps): Bump actions/checkout from 3 to 4 (#23500)
* DEV: Remove an old mobile-nav deprecation (#23493)
* DEV: Remove deprecated `BulkSelectButton` (#23494)
* DEV: Remove deprecated `HighlightText` (#23495)
* DEV: Enable ember-cli-deprecation-workflow unconditionally (#23502)
* DEV: Fix random typos (#23497)
* DEV: Remove unused files (#23498)
* DEV: Use `import x` rather than `import { default as x }` (#23496)
* DEV: Remove unused pageobject from scroll_manager_service_spec (#23501)
* DEV: active record validations for maxlength on text columns (#23499)
* DEV: Disable Webpack parallelization for low-memory environments (#23487)
* DEV: Stop building test assets in production under Embroider (#23388)
* DEV: convert grant badge modal to component API (#23378)
* Build(deps-dev): Bump the babel group (#23491)
* Build(deps-dev): Bump eslint in /app/assets/javascripts (#23492)
* DEV: Correctly identify Embroider chunks (#23488)
* DEV: Replace BulkTopicSelection mixin with a helper object (#23486)
* DEV: Move helper tests to the correct directory (#23485)
* Revert \"DEV: Replace BulkTopicSelection mixin with a helper object (#23268)\" (#23484)
* UX: remove unsupported features from form template help text (#23482)
* DEV: Convert `raw-email` modal to component-based API (#23471)
* FIX: Render \'In topic context\' search results at the correct time (#23481)
* DEV: common CSS property for content backgrounds (#23467)
* FIX: ensures automation can send chat message (#23478)
* DEV: Remove unused topic_create_allowed_category_ids (#23463)
* DEV: Remove chat related migration (#23449)
* DEV: Fix broken conditional in `docker:test` Rake task (#23477)
* DEV: Allow `CAPYBARA_REMOTE_DRIVER_URL` through webmock (#23476)
* DEV: Add `CAPYBARA_SERVER_HOST` (#23475)
* DEV: Fix `docker:test:setup` Rake task that was missing the DB (#23474)
* Build(deps): Bump google-protobuf from 3.24.2 to 3.24.3 (#23472)
* Build(deps-dev): Bump the babel group (#23445)
* UX: fix mobile timeline footer button positioning (#23470)
* FIX: focus state color on `.btn[href]` (#23469)
* DEV: Ensure Embroider sourcemaps are collected by Sprockets (#23468)
* DEV: Enable sourcemaps in production under Embroider (#23466)
* DEV: Replace BulkTopicSelection mixin with a helper object (#23268)
* DEV: Update `install-theme` modal extension points (#23444)
* DEV: Update asset config for embroider (#23461)
* UX: popping animation for adding users (#23459)
* DEV: introduce Embroider behind a flag, and start testing in CI (#23005)
* FIX: Do not consider code-blocks when parsing mentions (#23280)
* DEV: Fix typo in `docker_test.rb` script (#23456)
* DEV: Migrate `Chat::MessageCreator` to a service (#22390)
* DEV: Remove accidentally hardcoded Redis port in `docker.rake` (#23455)
* DEV: Add env to configure Capybara to run against a remote chrome (#23453)
* DEV: Add `docker:test:setup` Rake task (#23430)
* DEV: Validate before and bumped_before options in TopicQuery (#23451)
* DEV: Temporarily skip minio system specs (#23450)
* DEV: Fix badge tests (#23442)
* Build(deps-dev): Bump minitest from 5.19.0 to 5.20.0 (#23446)
* Build(deps-dev): Bump parallel_tests from 4.2.1 to 4.2.2 (#23447)
* DEV: Reduce `psql` output when restoring db in github actions (#23391)
* FIX: add missing translation key
* A11Y: Ensure you can tab to submit on 2FA modal (#23135)
* FEATURE: addBeforeAuthCompleteCallback plugin API method (#23441)
* DEV: Use a standard service injection (#23439)
* FIX: Everyone should be aware a cached summary is outdated. (#23438)
* DEV: Make `navigateToTopic` more robust for themes/plugins (#22992)
* DEV: Improve RestModel injections workaround (#23435)
* DEV: Update linting setup (#23434)
* UX: fix tag chooser width when there are multiple tags (#23432)
* Update translations (#23433)
* UX: show only one username on multiple likes notification (#23385)
* DEV: Change fast typer trust level setting to enum type (#23429)
* DEV: Convert sticky-avatars into a modifier (#23060)
* FIX: Don\'t mix up action labels between different reviewables (#23365)
* Add plugin outlet for after-panel-body in user menu
* Add plugin outlet for after-panel-body in user menu
* FIX: tests
* FEATURE: add silence reason dropdown to admin penalty reason
* FIX: tests
* FEATURE: add silence reason dropdown to admin penalty reason
* DEV: Remove outdated ENV in docker.rake that is no longer being used (#23428)
* DEV: Remove unnecessary `assert.expect`s (#23426)
* DEV: Don\'t run dev-only code in specs (#23427)
* Build(deps): Bump globalid from 1.2.0 to 1.2.1 (#23423)
* FEATURE: Secure uploads in PMs only (#23398)
* FIX: Admins not able to convert topics if they aren\'t in personal_message_enabled_groups (#23399)
* DEV: Allow uploadUrl to be based to `theme-upload-add` modal (#23415)
* FIX: An incorrect import (#23414)
* UX: Fix checkbox slider (#23412)
* DEV: Update application_helper_spec following 1bd00076 (#23413)
* FIX: Respect default category sort when `filter=default` (#23411)
* DEV: Move from babel-plugin-debug-macros fork to in-repo patch (#22702)
* DEV: Convert `login` modal to component-based API (#23093)
* DEV: Outlet for unobtrusive secondary full-page search. (#23390)
* Update translations (#23409)
* Update translations (#23408)
* DEV: Apply ember-this-fallback patches sequentially (#23407)
* DEV: Add missing keyboard shortcut on cheatsheet
* DEV: Enable ember-this-fallback in themes (#23384)
* DEV: Handle bad parameters in TopicsController#wordpress (#23404)
* FEATURE: Add a shortcut to archive PM
* DEV: relative_url_root is used for subfolder installs add comment (#23403)
* DEV: Remove unused line of comment (#23401)
* FEATURE: add group filter for admin reports (#23381)
* DEV: Include context question for chat reviewables (#23332)
* Build(deps-dev): Bump terser in /app/assets/javascripts (#23397)
* Build(deps-dev): Bump the babel group (#23396)
* DEV: Reduce theme-qunit smoke test timeout (#23394)
* FIX: Update asset precompile list following c7dce90f (#23393)
* DEV: Introduce theme-qunit system spec (#23389)
* UX: lower z-index (#23386)
* DEV: Switch to using standard ember-cli test bundle (#23337)
* DEV: Cachebust workbox assets (#23383)
* DEV: Refactor chat oneboxes (#23031)
* DEV: no need to track status of a deleted user (#22836)
* DEV: Improve strategy for identifying ember-cli JS chunks (#23382)
* DEV: Install ember-this-fallback for plugins (#21236)
* Build(deps-dev): Bump selenium-webdriver from 4.11.0 to 4.12.0 (#23360)
* Build(deps-dev): Bump the babel group (#23342)
* FIX: Replying to OP is a reply to the topic, not the post (#23380)
* FIX: Update DIRECT_UPLOAD CORS ruleset to include new Amazon signing headers (#23379)
* DEV: Add system test for user security keys (#23372)
* Build(deps): Bump css_parser from 1.15.0 to 1.16.0 (#23376)
* Build(deps): Bump globalid from 1.1.0 to 1.2.0 (#23375)
* Build(deps): Bump oj from 3.16.0 to 3.16.1 (#23377)
* FIX: Attribute pending post to author in `PendingPostSerialier` (#23369)
* UX: hides header\'s unread indicator on full page (#23370)
* DEV: new user-messages-control-bottom outlet (#23368)
* FIX: Allow pending posts to have empty titles (#23366)
* DEV: Use Notice API for mention warnings (#23238)
* FIX: closes chat emoji picker on body scroll (#23362)
* DEV: Add email fixture (#23364)
* FIX: Pop up dialog correctly when fail to delete a user (#20645)
* DEV: Add plugin outlets for after category/tag inputs in composer (#23363)
* DEV: Delete unused site settings (#23353)
* FIX: Chat message button radius (#23358)
* FIX: form template cooked heading from label (#23359)
* Revert \"Revert \"PERF: Cache each theme field value once (#23192)\" (#23354)\" (#23356)
* FIX: wrap tag description in a span tag (#23357)
* Revert \"DEV: Improve strategy for identifying ember-cli JS chunks (#23336)\" (#23355)
* Revert \"PERF: Cache each theme field value once (#23192)\" (#23354)
* PERF: Cache each theme field value once (#23192)
* UX: thread list design changes (#23348)
* DEV: Convert reviewable-bundled-action to gjs (#23320)
* DEV: Don\'t fetch tagNotifications when additional tags are present (#23351)
* DEV: Refactor rp_id and rp_name (#23339)
* DEV: Add hidden `cross_origin_opener_policy_header` site setting (#23346)
* UX: hides original message user in thread participants (#23350)
* FIX: Add missing props to move-to-topic (#23349)
* Build(deps): Bump rotp from 6.2.2 to 6.3.0 (#23343)
* DEV: Update DButton uses (#23333)
* DEV: Refactor chat specs related to message creation
* FIX: Confusing vague upload error (#23347)
* UX: display warning message when uploads are not included in backup. (#23253)
* UX: Remove Plugin Settings tab (#23345)
* FIX: add mobile specific stylesheet for onebox (#23329)
* FIX: Hide core plugins from the admin Plugins list (#23328)
* Revert \"FIX: Remove chat \"enable chat plugin text\" (#23327)\" (#23344)
* DEV: add plugin outlet to mobile login (#23341)
* DEV: add plugin outlets to create/login (#23340)
* DEV: Improve strategy for identifying ember-cli JS chunks (#23336)
* UX: composer fixes (#23334)
* DEV: Group babel updates together (#23322)
* DEV: Remove redundant braces (#23321)
* DEV: Add auto _map extensions for list site settings with no type (#23331)
* DEV: Move \'ignore and delete\' action under \'ignore\' menu for chat flags (#23304)
* Build(deps): Bump AATTuppy/utils in /app/assets/javascripts (#22767)
* FIX: Remove chat \"enable chat plugin text\" (#23327)
* FIX: Add hashtag placeholder when chat message sent (#23287)
* Build(deps): Bump css_parser from 1.14.0 to 1.15.0 (#23323)
* DEV: Remove unused site settings (#23326)
* Build(deps-dev): Bump rubocop from 1.56.1 to 1.56.2 (#23325)
* Build(deps-dev): Bump webmock from 3.19.0 to 3.19.1 (#23324)
* Build(deps-dev): Bump terser in /app/assets/javascripts (#23319)
* FEATURE: support to initial values for form templates through /new-topic (#23313)
* DEV: remove broken margin removal (#23318)
* FIX: no form template logic when editing posts (#23317)
* DEV: Convert `move-to-topic` modal to component-based API (#23293)
* FIX: Remove border radius on more topics container buttons: (#23314)
* DEV: Add `after-composer-title-input` outlet (#23303)
* DEV: Convert `post-enqueued` modal to component-based API (#23295)
* DEV: Add rake command to help detect dead settings (#23300)
* Update translations (#23310)
* Update translations (#23309)
* Revert \"A11Y: Improve setting focus to post\" (#23311)
* UX: settings are misaligned when translations are too long (#23308)
* FIX: correct link to meta.discourse.org
* UX: Fix github onebox on mobile (#23306)
* FIX: Include \'notify staff\' separator in chat message flag modal (#23301)
* DEV: Remove reviewable action custom_modal and use new action-based modal API (#23258)
* Build(deps-dev): Bump AATTbabel/standalone from 7.22.12 to 7.22.13 in /app/assets/javascripts (#23299)
* DEV: Convert `flag` modal to component-based API (#23279)
* FIX: Typo in summary URL (#23298)
* FIX: Display summaries for anonymous users. (#23294)
* FIX: Update search-menu.scss (#23292)
* DEV: Convert `feature-topic` modal to component-based API (#23277)
* UX: Prevent initial jump when dragging topic timeline scroller (#23291)
* DEV: Make index.html a valid html (#23289)
* FIX: Avoid scroll jumping for topics on slow connections (#23290)
* FEATURE: display count of topics being dismissed in dialog (#23288)
* DOCS: Update wrong link address (#23285)
* DEV: Fix flaky network-based upload spec (#23286)
* DEV: Fix `redis.sadd` warnings (#23244)
* Build(deps-dev): Bump eslint from 8.47.0 to 8.48.0 in /app/assets/javascripts (#23281)
* Build(deps-dev): Bump webmock from 3.18.1 to 3.19.0 (#23282)
* Build(deps): Bump google-protobuf from 3.24.1 to 3.24.2 (#23283)
* FIX: Improve admin plugin list and modernize code (#23256)
* DEV: Move option to delete user under reviewable reject menu (#23257)
* DEV: Convert `feature-topic-on-profile` modal to component-based API (#23275)
* FIX: Adjust border-radius in multiple locations (#23278)
* DEV: Auto `yarn install` root package in development (#23276)
* Revert \"UX: chat composer (#23267)\" (#23273)
* A11Y: Improve setting focus to post (#23243)
* DEV: Convert explain-reviewable modal to component-based API (#23274)
* FIX: ensures we update cached model last message bus id (#23271)
* DEV: Convert `edit-topic-timer` modal to component-based API (#23252)
* FIX: Respect default category sort order when navigating within app (#23270)
* DEV: Convert `uploaded-image-list` modal to component-based API (#23245)
* FIX: Badge preview not displaying grant count (#23269)
* DEV: Convert `auth-token` modal to component-based API (#23251)
* FIX: incorrect chat message reaction text (#23260)
* DEV: Convert `edit-user-directory-columns` modal to component-based API (#23250)
* DEV: Convert `reseed` modal to component-based API (#23232)
* DEV: Convert `form-template-validation-options` modal to component-based API (#23236)
* DEV: Add color to testem output (#23266)
* DEV: Convert `staff-action-log-details` modal to component-based API (#23240)
* DEV: Convert `color-scheme-select-base` modal to component-based API (#23234)
* UX: chat composer (#23267)
* DEV: Update user-topics-list to native class syntax (#23263)
* DEV: Add missing `pluginId` to a `modifyClass` test (#23265)
* DEV: Add a spec for `assets:precompile:js_processor` (#23220)
* FIX: Create a reviewable when flagging a chat message for \'something else\' (#23264)
* UX: minor tweaks to thread list item (#23259)
* Build(deps): Bump actionview_precompiler from 0.2.3 to 0.3.0 (#23249)
* Build(deps-dev): Bump AATTbabel/standalone in /app/assets/javascripts (#23262)
* Build(deps): Bump sshkey from 2.0.0 to 3.0.0 (#23248)
* Build(deps-dev): Bump AATTbabel/core in /app/assets/javascripts (#23224)
* DEV: Introduce ember-router-service-refresh-polyfill (#23261)
* DEV: add geoblocking and tag-by-group plugins (#23255)
* DEV: Add basic bin/dev script for launching in development (#23254)
* DEV: Move option to delete user under reviewable agree menu (#23199)
* DEV: Display fuzzy site setting search results below direct matches (#23197)
* Build(deps): Bump colored2 from 3.1.2 to 4.0.0 (#23247)
* DEV: Allow `ForgotPassword` `emailOrUsername` arg to be null (#23246)
* UX: update styling for related/suggested (#23242)
* DEV: Avoid constant redefinition warnings in specs (#23241)
* UX: update styling for related/suggested (#23231)
* DEV: Remove updated modals from KNOWN_LEGACY_MODALS (#23239)
* FEATURE: Onebox and Download for WEBP and AVIF (#23235)
* DEV: Remove unused `admin-theme-item` modal (#23233)
* DEV: Don\'t print warning about attempt to track status of a user without id in tests (#23228)
* FIX: Compile js-processor before db:migrate (#23229)
* UI: refines thread list item (#23207)
* FIX: prevents setPanel to also set separated mode (#23227)
* DEV: Use esbuild to make DiscourseJsProcessor (#23223)
* DEV: Use ellipsis instead of three dots (#23193)
* UX: fix form template error label position (#23208)
* FIX: Add site name to sitelinks structured data (#23151)
* Revert \"DEV: Use esbuild to make DiscourseJsProcessor (#23187)\" (#23221)
* FIX: `assets:precompile:js_processor` task issue (#23219)
* DEV: Use esbuild to make DiscourseJsProcessor (#23187)
* DEV: Add method for page object (#23218)
* FIX: correctly resets editing state when done (#23209)
* UX: update styling for related/suggested (#23217)
* FIX: Video thumbnail uploads interfering with subsequent uploads (#23216)
* DEV: Fix chromedriver binary errors when running system tests in parallel (#23122)
* DEV: Bump selenium-webdriver version to fix system spec running (#23117)
* Build(deps): Bump excon from 0.100.0 to 0.102.0 (#23210)
* FIX: Infinite loading broken on group members list (#23214)
* UX: update styling for related/suggested (#23213)
* FIX: sidebar URL full reload when anchor (#23121)
* DEV: Create wrapper API for `getCaretPosition()` jQuery (#23194)
* Update compose.scss (#23198)
* FIX: Ensure service-worker cache is cleaned correctly (stable) (#23205)
* Fix image links in readme file (#23206)
* FIX: Topic timeline/progress switching edge-cases (#23202)
* FIX: Ensure service-worker cache is cleaned correctly (#23204)
* FIX: hide tooltips when scrolling on mobile (#23098)
* FIX: correctly check chat tab is present (#23200)
* FIX: correctly closes panel when exiting chat (#23201)
* DEV: update readme.md for Discourse 3.1 (#23024)
* Build(deps): Bump json_schemer from 1.0.3 to 2.0.0 (#23161)
* Update translations (#23182)
* Update translations (#23181)
* DEV: Add S3 upload system specs using minio (#22975)
* FIX: `next` vs `return` in maxmind task (#23196)
* FEATURE: Chat global mention warnings (pre-send & post-send) (#22764)
* DEV: Extract maxmind refresh logic to its own task (#23195)
* FIX: Keep track of suggestion updates during scrolling and navigation. (#23190)
* UX: update outdated description of chat messages export (#23191)
* FIX: revert previously removed mentions transformation on the client (#23084)
* UX: do not show user tab preference when disabled (#23188)
* UX: Fix positioning of mobile show-more following 71ff3417 (#23189)
* DEV: Remove unused files (#23185)
* DEV: Remove dedicated mobile template for discovery/topics (#23179)
* DEV: Clean up extraneous helper parens (#23186)
* DEV: removes deprecated code (#23183)
* FIX: displays popup error for any error (#23184)
* FIX: do not delete empty message with uploads (#23177)
* FIX: correctly display max users message error (#23178)
* Build(deps-dev): Bump rubocop from 1.56.0 to 1.56.1 (#23175)
* DEV: Tighten up fuzzy search site setting results (#23176)
* DEV: Finalize glimmer search menu (#23174)
* DEV: Update `replaceWith` on Route (#23153)
* FIX: correctly recognizes URL with subfolder (#23173)
* DEV: Add CSP to setting descriptions (#23172)
* DEV: Remove unused code (#23171)
* DEV: Ensure plugin raw connectors are transpiled to `/raw-templates` (#23170)
* DEV: Add plugin modifier locations for user search locations (#23169)
* DEV: makes every spec use new messages helper (#23163)
* DEV: converts user-status modal to component (#23168)
* PERF: Improve rendering performance of empty PluginOutlets (#23165)
* DEV: Use object spread instead of `Object.assign({}, …)` (#23167)
* FIX: Resize-modifier event listener cleanup (#23166)
* DEV: Add composer close method to composer (#23164)
* FIX: Delete fast typer reviewable when deleting user (#23162)
* Build(deps): Bump ember-cli-babel in /app/assets/javascripts (#23157)
* Build(deps): Bump puma from 6.3.0 to 6.3.1 (#23155)
* Build(deps-dev): Bump shoulda-matchers from `783a905` to `68f76ce` (#23160)
* Build(deps): Bump sass-embedded from 1.66.0 to 1.66.1 (#23159)
* Build(deps): Bump google-protobuf from 3.24.0 to 3.24.1 (#23158)
* Build(deps-dev): Bump sass in /app/assets/javascripts (#23156)
* UX: update `/new` toggle styles, class names (#23154)
* FIX: correctly handles mobile and default (#23152)
* FEATURE: Digest suppression by tags (#23089)
* FIX: sets sidebar state on load (#23150)
* FEATURE: implements user based sidebar mode (#23078)
* DEV: Do not manipulate theme module paths at build-time (#23148)
* DEV: Move PluginOutlet at bottom of TopicNavigation (#23149)
* FIX: correct bulk invite expire time for DST (#23073)
* DEV: Make every DistributedCache lazily instantiated (#23147)
* FIX: Pending post deletion by creator (#23130)
* FIX: Compact tag picker input not focused in iOS (#22922) (#23090)
* FIX: correctly makes `this` accessible in the scope (#23146)
* UX: update admin popular theme list (#23134)
* WIP: Rename Webauthn to DiscourseWebauthn (#23077)
* DEV: Allow plugin outlets to be defined using gjs (#23142)
* FIX: Don\'t fail when exporting chat messages from deleted channels (#23131)
* UX: improved animation (#23145)
* DEV: update docs for cloud installation with note for DKIM record creation (#23140)
* FIX: Allow mouse to resize chat drawer on touch devices (#23061)
* DEV: Fix group of tests that is leaking state (#23141)
* Build(deps): Bump sass-embedded from 1.64.2 to 1.66.0 (#23136)
* Build(deps-dev): Bump sass from 1.65.1 to 1.66.0 in /app/assets/javascripts (#23138)
* Build(deps): Bump oj from 3.15.1 to 3.16.0 (#23137)
* FEATURE: New topics vs replies toggle for the new new view (#22920)
* FIX: Don\'t run post validations when hiding post (#23139)
* UX: remove border radius on tippy (#23133)
* UX: remove boostrap mode rounded corners (#23132)
* FIX: Inject currentUser service for related-messages (#23128)
* FIX: Ensure javascript caches are unique per theme/theme_field (#23126)
* DEV: there is no need anymore to wrap export methods into enumerators (#22567)
* UX: Use pill design on both mobile and desktop (#23124)
* FIX: do not mutate `this.attrs` and `this.actions` (#23125)
* DEV: Convert discovery-sortable and tag-show to native class syntax (#23123)
* DEV: we don\'t need a collection of entities (#22745)
* DEV: Introduce declarative hide-application-footer helper (#23088)
* DEV: Fix chromedriver binary errors when running system tests in parallel (#23122)
* FIX: increase sidebar URL limit to 1000 (#23120)
* DEV: find_each in CSV exports (#22573)
* FIX: `/filter` route input field not updating on route change (#23119)
* Build(deps): Bump mini_sql from 1.4.0 to 1.5.0 (#23118)
* FIX: reference to non-existent `groups#remove_members` in API key scope (#23042)
* DEV: Bump selenium-webdriver version to fix system spec running (#23117)
* UX: support links in tag descriptions (#22994)
* FIX: use the latest version of `puppeteer-core` package to fix `page.click` issue (#22989)
* FEATURE: do not bump topics when retroactively closing (#23115)
* FIX: Avoid double-counting pageviews when navigating with loading spinner (#23107)
* FIX: Display \'shown on X\' user field flags (#23109)
* DEV: allow to skip the configured form template via the composer service (#23108)
* Update translations (#23100)
* Update translations (#23099)
* DEV: Remove need for reloading cached summary thanks to Range#max (#23106)
* FIX: TopicSummarization workaround for Postgres\' discrete range types (#23105)
* DEV: move xss dependency into core (#23094)
* DEV: Make sure max_username_length is within MAX_USERNAME_LENGTH_RANGE (#23104)
* DEV: Rewrite username validator specs without hardcoded length limits (#23102)
* FIX: correctly deletes webhook_events with webhook (#23097)
* FIX: Correct select-kit positioning strategy in modals (#23096)
* DEV: Methods in PageObjects::Pages::User to check nav items (#23095)
* Build(deps-dev): Bump message-bus-client from 4.3.7 to 4.3.8 in /app/assets/javascripts (#23091)
* Build(deps): Bump message_bus from 4.3.7 to 4.3.8 (#23092)
* DEV: Add AATTmodel/AATTmodels support in d-navigation-item (#23074)
* DEV: Convert `penalize-user` modal to component-based API (#22960)
* DEV: Convert `badge-preview` modal to component-based API (#22969)
* DEV: Skip flakey network disconnected spec (#23087)
* UX: Add show more button to long post queued reviewables (#23075)
* DEV: Convert `edit-badge-groupings` modal to component-based API (#22984)
* FIX: Adjust badge overflow ellipsis (#23086)
* FIX: Topic summary UI fixes. (#23085)
* UX: ensures user-status-picker’s input is autofocused (#23083)
* DEV: Added the category chooser into the composer page object (#23076)
* DEV: Resolve user_option deprecation (#23082)
* Build(deps-dev): Bump eslint from 8.46.0 to 8.47.0 in /app/assets/javascripts (#23081)
* Build(deps): Bump rss from 0.2.9 to 0.3.0 (#23079)
* Build(deps): Bump nokogiri from 1.15.3 to 1.15.4 (#23080)
* DEV: Add some description to help with understanding flakey test failures (#23053)
* FEATURE: Stream topic summaries. (#23065)
* FEATURE: add topic voting webhook event type (#23072)
* DEV: Remove OpenComposer mixin and refactor related logic (#23015)
* FIX: prevents user-tips to interfere with widget (#23066)
* DEV: Add a HasDeprecatedColumns concern for better deprecation messages (#22930)
* FEATURE: add a param to exclude users by groups on the users directory page (#23067)
* DEV: Move calendar date + time picker from local dates into core component (#23023)
* DEV: Upgrade Rails to 7.0.7 (#23069)
* Build(deps-dev): Bump sass from 1.65.0 to 1.65.1 in /app/assets/javascripts (#23068)
* DEV: Convert user-tips functions into a service (#23032)
* DEV: Migrate jump-to-post to the new modal api (#23058)
* FIX: chat styleguide modal import (#23062)
* DEV: Format .thor files (#23059)
* DEV: Add jira plugin to official list of plugins (#22997)
* DEV: Migrate insert-hyperlink to the new modal api (#23051)
* DEV: Convert `site-setting-default-categories` modal to component-based API (#22968)
* Upgrade ember-on-resize-modifier (#23045)
* UX: add transition (#23034)
* UX: align tags to top in modal (#23055)
* UX: prevent overscroll behaviour in composer (#23056)
* DEV: Remove unnecessary chat hashtag/mention transform JS (#23054)
* Build(deps-dev): Bump rubocop-rspec from 2.23.1 to 2.23.2 (#23050)
* Build(deps-dev): Bump rubocop from 1.55.1 to 1.56.0 (#23049)
* DEV: Correct `Style/RedundantReturn` rubocop issues (#23052)
* DEV: Clean up more state in between system tests (#23009)
* DEV: Fix user update api docs (#23047)
* DEV: Remove unused user update params (#23046)
* DEV: Migrate forgot-password to the new modal api (#23041)
* DEV: API to show and hide switch panel buttons (#23022)
* Build(deps-dev): Bump sass in /app/assets/javascripts (#23048)
* DEV: fixes flakey spec from auto-join-channel-batch (#23044)
* REFACTOR: Glimmerify topic summarization widgets. (#23043)
* DEV: Add experimental generic bulk import script
* DEV: Create missing user profiles in \"import:ensure_consistency\" rake task
* DEV: Add rake task for generating avatars from SSO
* FIX: ensures generic onebox has width/height for thumbnail (#23040)
* DEV: Enhance post action handler events (#23027)
* DEV: Don\'t stub `logout` function (#23039)
* DEV: Add plugin outlet after TopicNavigation (#23038)
* Fixed group_email_credentials_warning description (#23037)
* Improve \'no_log_search_queries\' description (#23036)
* Improve \'hidden_bidi_character\' description (#23035)
* Better site setting description (#23033)
* DEV: add loader.js shims for packages used across bundles (#22703)
* UX: micro animations chat input (#23030)
* DEV: Only reveal capybara finder timeouts if the spec otherwise passes (#23026)
* FIX: correctly applies aria-expanded/aria-controls (#23029)
* Build(deps): Bump a11y-dialog in /app/assets/javascripts (#23028)
* Build(deps-dev): Bump AATTbabel/core in /app/assets/javascripts (#23004)
* Build(deps): Bump ember-cli-htmlbars in /app/assets/javascripts (#23021)
* UX: Add bookmark-delete icon (#23025)
* Build(deps): Bump google-protobuf from 3.23.4 to 3.24.0 (#23019)
* Build(deps): Bump mini_mime from 1.1.2 to 1.1.5 (#23020)
* DEV: Added visible/hidden methods on the SelectKit page component (#23018)
* DEV: Added page object for the login modal (#23017)
* FIX: removes useless model reload (#23016)
* FIX: Search by tag context was broken (#23006)
* DEV: Plugin API method to replace post-menu buttons (#22995)
* Update translations (#23014)
* Update translations (#23013)
* Revert \"UX: Simplify and redesign summary skeleton (#22965)\" (#23012)
* DEV: Convert discovery routes to native class syntax (#23010)
* FIX: avoid eager rewrite of /my
* routes (#23011)
* FIX: Don\'t create a reviewable when sending PM to user in chat (#22914)
* DEV: Raise exception when capybara finder times out (#22686)
* FEATURE: Add audio.com onebox provider (#22936)
* FIX: Cook hashtags in small action posts (#23008)
* FIX: disable switch sidebar panel button after click (#23007)
* FIX: allow lightbox cleanup on navigation changes (#22954)
* DEV: Remove enable_experimental_hashtag_autocomplete logic (#22820)
* Build(deps): Bump rack-protection from 3.0.6 to 3.1.0 (#23002)
* Build(deps-dev): Bump AATTbabel/standalone from 7.22.9 to 7.22.10 in /app/assets/javascripts (#23003)
* Build(deps-dev): Bump rubocop-rspec from 2.23.0 to 2.23.1 (#23001)
* A11Y: Fix selecting topic when navigation via keyboard (#22996)
* DEV: Add class when replies above exists (#23000)
* UX: Differentiate focus state from hover state (#22985)
* FIX: Don\'t cut browse more message on the mobile app. (#22998)
* DEV: Avoid site-header error when rendering fails (#22993)
* FIX: prevents readonly mode to crash channel_messages#index (#22987)
* DEV: Make `navigateToTopic` more robust for themes/plugins (#22992)
* DEV: Replace filter-mode mixin with lib functions (#22986)
* DEV: Introduce dynamic wrapper attributes in RenderGlimmer (#22991)
* DEV: Unskip chat delete message spec (#22951)
* UX: Add disabled styling to `` (#22988)
* DEV: Pluralize support for form template error strings (#22983)
* DEV: Modernise navigation controllers (#22982)
* DEV: Convert AbstractTopicRoute to native class syntax
* DEV: Refactor build-topic-route to define abstract controller
* FIX: Attempt to connect with navigator.onLine is initially false (#22981)
* FIX: Use only first character when looking up emoji (#22977)
* FIX: Account for empty string setting values when migrating category settings (#22979)
* DEV: Introduce decorator-position lint rule (#22937)
* DEV: In development, refresh client when theme changes are made (#22978)
* FIX: Quoting text selection across elements (#22974)
* PERF: Avoid calling the same translation twice when rendering lists view (#22976)
* DEV: Switch over category settings to new table - Part 2 (#20580)
* UX: Temporarily add twitter-x Font Awesome icon (#22946)
* FIX: keep first post edit history when moving/merging (#22966)
* Build(deps): Bump addressable from 2.8.4 to 2.8.5 (#22971)
* Build(deps-dev): Bump ember-functions-as-helper-polyfill (#22972)
* Build(deps-dev): Bump rails-dom-testing from 2.1.1 to 2.2.0 (#22970)
* UX: Simplify and redesign summary skeleton (#22965)
* FIX: Display browse more message as long as there are suggested topics (#22967)
* DEV: Convert `theme-change` modal to component-based API (#22964)
* FIX: A select-kit+modal regression (#22961)
* UX: Fix hover color for header icons in WCAG (#22959)
* DEV: Convert `install-theme` modal to component-based API (#22939)
* FIX: Poll breakdown regressions (#22957)
* DEV: Fix theme error message (#22956) (#22958)
* FIX: Poll breakdown regressions (#22955)
* DEV: Fix theme error message (#22956)
* UX: Introduce toggle-switch UI for plugins (#22910)
* FIX: Make poll breakdown modal closable again (#22953)
* FIX: Make poll breakdown modal closable again (#22952)
* DEV: Convert AbstractCategoryRoute to native class syntax
* DEV: Refactor build-category-route to define abstract controller
* DEV: Run implicit-injections shim earlier in boot
* PERF: Improve performance of queries when loading a topic list (#22949) (#22950)
* FIX: display customised community section button when no secondary links (#22948)
* PERF: Improve performance of queries when loading a topic list (#22949)
* Build(deps): Bump zeitwerk from 2.6.10 to 2.6.11 (#22945)
* DEV: experimental outlet for navigation filter (#22897)
* DEV: Add :push_notification event and deprecate :post_notification_alert (#22917)
* DEV: Use async/await in checklist (#22943)
* DEV: Remove checklist syntax migrator (#22942)
* FIX: `created:AATT` search keyword for uppercase usernames (#22878)
* DEV: added a plugin outlet to reviewable-item (#22934)
* DEV: Fix array-related linting issues in templates (#22935)
* DEV: Document additional parameters for admin users list API (#22940)
* DEV: Convert discovery controllers to native class syntax (#22938)
* FIX: Compact tag picker input not focused in iOS (#22922)
* DEV: Reduce the number of IntersectionObservers (#22933)
* Remove discourse-canned-replies from official list (#22932)
* DEV: Update composer service to inherit from Service, not Controller (#22929)
* FIX: Add \'Ignored\' flags to Moderator Activity report (#22041)
* FIX: Poll builder UI issues (#22931)
* FEATURE: Bundle discourse-checklist plugin into core (#22927)
* FIX: prevent event bubbling when closing modals with escape key (#22928)
* DEV: De-jQ `selectedText()` (#22802)
* UX: Add tooltip about multiple emails to admin.groups.incoming_email field (#22926)
* DEV: Remove unused chat translations (#22925)
* FIX: prevent event propagation when pressing escape key on lightbox (#22924)
* FIX: intercept escape in lightbox and prevent default (#22923)
* DEV: Seperate concerns of tracking GC stat from `MethodProfiler` (#22921)
* DEV: Add site setting to allow collection of GC stats during requests (#22898)
* Build(deps): Bump handlebars in /app/assets/javascripts (#22919)
* Build(deps-dev): Bump sass in /app/assets/javascripts (#22918)
* DEV: Convert `watched-word-test` modal to component-based API (#22911)
* DEV: Convert `delete-user-posts-progress` modal to component-based API (#22916)
* FIX: Default to the first list if the preferred one is empty (#22915)
* DEV: Convert `api-key-urls` modal to component-based API (#22913)
* DEV: Remove db_timeout setting (#22912)
* UX: Do not scroll-top for aborted transitions (#22744)
* DEV: Fix ember-cli proxy assets (#22674)
* FIX: Display similar topics for anons on mobile. (#22907)
* DEV: Convert `merge-users` modals to component-based API (#22727)
* REVERT: suggested topic list tweaks stable (#22909)
* UX: Fixes for new related topic styles (#22906)
* Update translations (#22905)
* Update translations (#22904)
* DEV: Convert `change-timestamp` modal to component-based API (#22832)
* DEV: Convert `download-calendar` modal to component-based API (#22837)
* DEV: Convert `start-backup` modal to component-based API (#22812)
* DEV: Convert `convert-to-public-topic` modal to component-based API (#22835)
* DEV: Convert `edit-slow-mode` modal to component-based API (#22840)
* Build(deps): Bump rack-mini-profiler from 3.1.0 to 3.1.1 (#22903)
* Build(deps): Bump sass-embedded from 1.64.1 to 1.64.2 (#22902)
* FIX: Use category hashtag instead of link in `discourse_welcome_topic.body` (#22875)
* Bump version to v3.1.0
* Bump version to v3.2.0.beta1-dev
* Bump version to v3.1.0.beta8
* FIX: Ensure PresenceChannel does not raise error during readonly (#22899)
* DEV: Remove unread_private_messages and deprecation (#22893)
* UX: Use full width when displaying a single recommendations list. (#22896)
* Build(deps-dev): Bump webdrivers from 5.2.0 to 5.3.1 (#22886)
* Build(deps-dev): Bump rubocop-rspec from 2.22.0 to 2.23.0 (#22867)
* Build(deps): Bump rexml from 3.2.5 to 3.2.6 (#22843)
* DEV: Assert that user has been signed in successfully in system tests (#22892)
* DEV: Fix a flaky quote post spec (#22891)
* UX: fix long image titles in experimental lightbox (#22883)
* Build(deps): Bump rack from 2.2.7 to 2.2.8 (#22888)
* Build(deps-dev): Bump rouge from 4.1.2 to 4.1.3 (#22889)
* Build(deps): Bump oj from 3.15.0 to 3.15.1 (#22885)
* UX: Topic recommendations tweaks. (#22880)
* DEV: Cleanup onebox spec discourse topic fixtures (#22881)
* DEV: Remove redundant case in import script (#22882)
* DEV: Correctly strip sourcemap URL from splash-screen js (#22879)
* DEV: Introduce version_bump rake tasks (#22817)
* UX: Move Admin Guide link to URL (#22789)
* FIX: Validate page/limit params for directory, user-badges and groups (#22877)
* Revert \"UX: fix alignment extra buttons in post controls\" (#22876)
* UX: Clarify \'disable tag/category edit notifications\' site settings (#22874)
* Fix typo in `not_enough_dice`
* REFACTOR: Use pluralized string for `js.badges.awarded`
* UX: fix alignment extra buttons in post controls (#22872)
* FIX: ensure presence channels \'leave\' correctly when the tab is backgrounded
* FEATURE: Count only approved flagged posts in user pages (#22799)
* PERF: Optimise `TopicTrackingState.report` query to speed up query (#22871)
* FIX: Can\'t dismiss unread posts in topics of a sub-subcategory (#22870)
* DEV: Delete upload references upon deleting draft (#22851)
* FIX: Chat translation minor issues (#22869)
* Build(deps): Bump zeitwerk from 2.6.9 to 2.6.10 (#22866)
* Build(deps-dev): Bump eslint from 8.45.0 to 8.46.0 in /app/assets/javascripts (#22868)
* UX: increase experimental lightbox z-index (#22865)
* PERF: Add exponential backoff for `/presence/update` errors (#22864)
* UX: Refactor AI summarizing animation (#22839)
* UX: allow composer title to shrink when needed (#22863)
* DEV: skip flakey spec in deleted messages (#22862)
* DEV: Update code comment wording (#22861)
* FIX: when using arrow to bottom fetch from newest (#22860)
* FIX: Breaking typo, missing closing parenthesis in topic-post.scss (#22852)
* DEV: a better way of picking of the earliest date (#22858)
* FIX: Missing pending queued posts from topic view (#22838)
* UX: More tweaks to compact tag picker (#22859)
* FIX: Hydration of embedded records (#22809)
* FIX: Internal oneboxes with github links (#22829)
* FIX: Tweak right arrow position; set other arrow placements to default (#22848)
* FIX: Member Highlights on Group Cards (#22828)
* FEATURE: Remove restrictions from the chat messages export (#22854)
* Bump version to v3.0.6
* Bump version to v3.1.0.beta7
* SECURITY: Don\'t allow a particular site to monopolize the defer queue
* SECURITY: Hide restricted tags in noscript view
* SECURITY: Limit length of edit reason column
* SECURITY: Handle concurrent invite accepts
* SECURITY: Impose a upper bound on limit params in various controllers
* SECURITY: Don\'t allow a particular site to monopolize the defer queue
* SECURITY: Hide restricted tags in noscript view
* SECURITY: Limit length of edit reason column
* SECURITY: Handle concurrent invite accepts
* SECURITY: Impose a upper bound on limit params in various controllers
* SECURITY: Don\'t reuse CSP nonce between anonymous requests
* Revert \"DEV: Skip flaky QUnit tests (#22847)\" (#22850)
* FIX: reset scrollbar position for mobile on lightbox images (#22822)
* FIX: Can\'t dismiss new topics that belong to a sub-sub category (#22849)
* DEV: Skip flaky QUnit tests (#22847)
* DEV: Remove chat TODO (#22846)
* Build(deps-dev): Bump patch-package in /app/assets/javascripts (#22844)
* Build(deps-dev): Bump mocha from 2.0.4 to 2.1.0 (#22841)
* Build(deps): Bump lograge from 0.12.0 to 0.13.0 (#22842)
* FIX: fix flaky test from settings editor PR (discouse:main:80f5018) (#22834)
* DEV: Convert `delete-topic-disallowed` modal to component-based API (#22830)
* DEV: Add logging and rescue when user already exists and connecting via DiscourseConnect (#22833)
* DEV: Do one query per month when exporting chat messages (#22746)
* FEATURE: JSON editor for theme settings (#21647)
* FIX: Toggling overridden settings broke in #21572 (#22831)
* DEV: Convert `delete-topic-confirm` modal to component-based API (#22813)
* Update ADMIN-QUICK-START-GUIDE.md (#22788)
* DEV: removes unused group_manager model (#22827)
* FIX: Share topic shortcut (shift+s) (#22826)
* UX: different way of centering chat notice to accommodate longer texts (#22779)
* DEV: Remove experimental setting row for chat threads (#22730)
* DEV: skip flaky spec (#22825)
* UX: responsive oneboxing with images in chat (#22824)
* DEV: Update minitest to 5.19.0 (#22821)
* DEV: Refactor chat channel fetching
* DEV: moves logic from job to a service (#22691)
* FEATURE: thread pagination (#22624)
* FIX: move main sidebar panel name to constant (#22819)
* DEV: Enable some of the skipped Firefox tests (#22800)
* Build(deps-dev): Bump ember-cached-decorator-polyfill from 1.0.1 to 1.0.2 in /app/assets/javascripts (#22816)
* Build(deps): Bump net-imap from 0.3.6 to 0.3.7 (#22814)
* PERF: Add index on topic_id and created_at to posts table (#22818)
* FIX: Seed all categories and tags configured as defaults for nav menu (#22793)
* UX: Minor alignment fix for compact tag selector (#22810)
* DEV: Fix no-negated-condition linting issues (#22808)
* DEV: Convert `theme-upload` modal to component-based API (#22699)
* FIX: Flashing history modal when changing versions (#22785)
* UX: Minor change to compact tag chooser (#22796)
* DEV: Refactor `Discourse::VERSION` and add `-dev` support (#22807)
* FIX: Remove unnecessary ellipsis (#22806)
* DEV: Don\'t stub an imported module (#22805)
* DEV: Use `waitFor` instead of `waitUntil` (#22803)
* DEV: Remove experimental site setting for chat threads (#22720)
* DEV: Fix random typos (#22804)
* FIX: Chat emoji picker focus offset (#22795)
* FIX: attempt to fix multi sessions reaction spec (#22797)
* DEV: Convert quote-button to a glimmer component (#22787)
* DEV: Promote historic post_deploy migrations
* FIX: distinguish between scroll and drag for sidebar (#22794)
* FIX: Update \"Embed Motoko\" Onebox URLs (#22198)
* Build(deps-dev): Bump node-fetch from 3.3.1 to 3.3.2 in /app/assets/javascripts (#22792)
* Build(deps-dev): Bump rubocop from 1.54.2 to 1.55.0 (#22790)
* Build(deps): Bump zeitwerk from 2.6.8 to 2.6.9 (#22791)
* FEATURE: API to set combined/separated sidebar mode. (#22753)
* prettier (#22786)
* DEV: Convert `delete-posts-confirmation` modal to component-based API (#22700)
* UX: Remove ring from avatar for a new user (#22780)
* FIX: Looping attempt to reconnect in network connectivity service (#22783)
* FIX: Disable the previous revision button if it is the last revision (#22784)
* Update translations (#22665)
* Update translations (#22664)
* UX: Compact option for multi-selects (#22239)
* FIX: Handle empty directory columns in /u route (#22747)
* DEV: Support version operators in .discourse-compatibility (stable) (#22763)
* DEV: Support version operators in .discourse-compatibility (#22714)
* UX: Hide header in dismiss modal (#22777)
* FIX: Fast-edit shortcuts got lost in bdd97ff (#22762)
* FIX: Prevent lightbox from loading onebox embed icons in chat uploads (#22776)
* FIX: make document overflow hidden on both axis when lightbox is open (#22775)
* DEV: Add some description to help with understanding flakey test failures (#22772)
* DEV: Ensure don\'t feed the trolls feature considers active flags only (#22774)
* DEV: Handle SSL errors in push notification pusher (#22771)
* FIX: Managing sidebar custom sections not working on subfolder (#22773)
* FIX: Loading more tags in edit nav menu tags modal not working (#22770)
* Build(deps): Bump optimist from 3.0.1 to 3.1.0 (#22769)
* DEV: Consolidate ignore user modals (#22754)
* Build(deps): Bump a11y-dialog from 7.5.2 to 8.0.0 in /app/assets/javascripts (#22751)
* UX: fix bookmark modal footer layout (#22766)
* DEV: add activate/deactivate user endpoints to API docs (#22716)
* FIX: Use base 10 when gettings allowed group IDs from settings. (#22761)
* DEV: Convert d-tooltip to gjs (#22760)
* FIX: Restore the unconditional yield in d-button (#22759)
* UX: category hashtag colors order fix (#22758)
* DEV: Migrate Discard Draft to new Modal API (#22755)
* FIX: Correct router service call from some admin controllers (#22757)
* DEV: Correct typo in d-modal-body (#22756)
* DEV: Refactor a little chat uploads
* DEV: Remove deprecated ascending param from AdminUserIndexQuery (#22741)
* UX: Display tag\'s description as title in navigation menu (#22710)
* Build(deps-dev): Bump terser in /app/assets/javascripts (#22752)
* Build(deps-dev): Bump sass in /app/assets/javascripts (#22750)
* Build(deps): Bump sass-embedded from 1.64.0 to 1.64.1 (#22749)
* Update INSTALL-cloud.md (#22739)
* FEATURE: Implement SiteSetting to Allow Anonymous Likes (#22131)
* DEV: Remove bulk-actions-buttons template (#22742)
* FIX: Render user profile trust level name for TL0 (#22740)
* DEV: Remove webrick dependency which we no longer need (#22738)
* FIX: capture click target in lightbox click handler (#22732)
* DEV: Remove deprecated arguments to Plugin::Instande#add_api_parameter_route (#22736)
* DEV: Remove warning for discontinued site_setting_saved event (#22735)
* FIX: Inline deprecated settings in migration file (#22737)
* DEV: Remove redundant line of code (#22734)
* DEV: Remove duplicated line of code (#22733)
* DEV: Remove deprecated whitelist methods (#22731)
* FIX: wrong collapsible parameter in sidebar API (#22729)
* DEV: Fix flakyness of keyboard navigation (#22721)
* Build(deps): Bump sass-embedded from 1.63.6 to 1.64.0 (#22725)
* DEV: Enable broccoli memoization for faster incremental rebuilds (#22726)
* DEV: Convert `admin-incoming-email` modal to component-based API (#22701)
* Build(deps-dev): Bump sass in /app/assets/javascripts (#22723)
* DEV: introduce Ember `` tag support (.gjs) (#22719)
* DEV: Convert helpers into plain functions (#22385)
* FEATURE: Regenerate outdated summaries. (#22718)
* DEV: extract channel. joined_by method (#21752)
* DEV: Allow chat services to have optional models
* FIX: `user_id` arg override in Slack import (#22713)
* DEV: Consistently use html5 loofah (#22711)
* DEV: skip flaky lightbox loading state test (#22709)
* FEATURE: ability to position switch panel buttons (#22707)
* DEV: migrate ignore duration to Glimmer and DModal (#22687)
* FEATURE: allow sidebar section api to create external links (#22609)
* DEV: Remove the last/only use of inline-date helper (#22692)
* DEV: Add Custom emoji sanitization (#22697)
* DEV: disambiguate system spec find to prevent flakyness (#22698)
* DEV: Skip srcset for onebox thumbnails (#22621)
* DEV: check if user can_chat inside the can_join_chat_channel guardian (#21812)
* DEV: refactor ember-cli-build (#22694)
* UX: Show the info icon outside the tooltip (#22696)
* DEV: update index.html files (#22695)
* DEV: Revert \"DEV: Update `replaceWith` on Route (#22645)\" (#22693)
* DEV: Add endpoint for dismissing outdated translations (#22509)
* UX: Disclose AI model used and add animation to placeholder (#22670)
* DEV: Migrate topic-bulk-actions to the new modal API (#22690)
* FIX: Ensure \'modern\' modal is closed when opening legacy modal (#22689)
* FIX: banners not removing when unset (#22678)
* FIX: Staff action log could not be accessed via link (#22688)
* DEV: Convert fast-edit on mobile to a modal (#22570)
* DEV: Skip hidden elements in J / K navigation (#22671)
* FIX: specify chrome version (#22681) (#22685)
* FIX: Show mention count for channel list on mobile (#22682)
* DEV: Avoid waiting full Capbyara default wait timeout in system tests (#22684)
* FIX: specify chrome version (#22681)
* DEV: Migrate publish page modal to Glimmer and DModal (#22663)
* FEATURE: new API to add panels to sidebar (#22534)
* DEV: spec hanging in CI (#22679)
* FIX: Hashtag error in PrettyText when processing email (#22680)
* DEV: Use the main default session for main test assertions (#22677)
* FIX: Termless hashtag search when a type is disabled (#22660)
* DEV: Add more chrome options for system specs (#22659)
* FIX: Doubled up or not tracked threads in thread list (#22631)
* Build(deps): Bump msgpack from 1.7.1 to 1.7.2 (#22676)
* Build(deps): Bump mini_portile2 from 2.8.2 to 2.8.4 (#22675)
* DEV: Remove `transition-methods` deprecation (#22673)
* DEV: Upgrade `replaceRoute` on Controller (#22648)
* DEV: Update `replaceWith` on Route (#22645)
* FIX: Embedding checkbox bug (#22672)
* DEV: upgrade `transitionToRoute` on Controller (#22647)
* DEV: Update `transitionTo` on Route (#22644)
* UX: Fix focus state style for date button in composer (#22669)
* FEATURE: Add limit and group exclusion to the directory items endpoint (#22667)
* DEV: Modernize topic-bulk-actions (#22186)
* DEV: move deprecation silencer to a shared package (#22668)
* DEV: Convert create-invite-bulk modal to component-based API (#22549)
* DEV: Add loading spinner to history modal (#22666)
* FIX: Update `last_read_message_id` when moving chat messages (#22643)
* FIX: Keep ReviewableQueuedPosts even with user delete reviewable actions (#22501)
* Build(deps-dev): Bump webpack in /app/assets/javascripts (#22662)
* DEV: Set ember edition to Octane (#22623)
* DEV: Unsilence legacy modal deprecation (#22634)
* FIX: Do not track first AJAX request as a pageview (#22661)
* DEV: Fix and re-enable chat flakys (#22653)
* FIX: check if dominant color is set before updating site theme color (#22658)
* DEV: Add missing report filter type in bookmarks report (#22616)
* FIX: Chat errors for thread subscriptions (#22657)
* DEV: Replace raw comments with deprecation warnings (#22617)
* DEV: Update copy for legacy navigation menu warning (#22656)
* FIX: sometimes stuck of sidebar reorder (#22654)
* FEATURE: Add admin dashboard warning for `legacy` navigation menu (#22655)
* DEV: Introduce enabled? API to hashtag data sources (#22632)
* DEV: Fix flaky system test in `system/category_topics_spec.rb` (#22652)
* DEV: Bump plugin-api.js to 1.7.0 (#22629)
* DEV: Skip two flaky system tests (#22651)
* DEV: Fix flaky core backend spec (#22650)
* Build(deps-dev): Bump terser from 5.19.0 to 5.19.1 in /app/assets/javascripts (#22649)
* UX: Point that topic summaries are generated by an AI (#22646)
* DEV: Convert group-default-notifications modal to component-based API (#22521)
* DEV: Convert history modal to component-based API (#22522)
* FIX: in modal should check for body (#22642)
* FEATURE: Allow custom summaries for TL3 by default (#22641)
* FIX: allows to resize panels on tablets (#22640)
* FIX: allows to focus thread\'s composer on ipad (#22639)
* FIX: bind selector to event listener callback for lightbox (#22637)
* UX: firefox fix for shorthand modal width (#22638)
* UX: size down unread indicators fror drawer/mobile (#22636)
* DEV: adds `touchMove` support for widgets (#22635)
* DEV: fix flaky spec temporarily (#22633)
* DEV: Fix bookmark system spec flaky (#22630)
* FIX: Editing tags in sidebar should show all tags visible to user (#22628)
* FEATURE: Show unread in sidebar for unread channel threads (#22342)
* Build(deps-dev): Bump babel-import-util from 1.3.0 to 1.4.1 in /app/assets/javascripts (#22626)
* Build(deps-dev): Bump eslint from 8.44.0 to 8.45.0 in /app/assets/javascripts (#22625)
* DEV: Use the main default session for main test assertion (#22627)
* DEV: Move Bookmark modal/component to use d-modal (#22532)
* DEV: Use thumbnail url for wikimedia onebox image (#22620)
* Add discourse-ai plugin (#22619)
* UX: Disable summarize button while generating summary (#22618)
* redirect to /login after account delete to prevent recreation of sso account (#22575)
* Build(deps): Bump rubocop from 1.54.1 to 1.54.2 (#22608)
* Build(deps-dev): Bump rswag-specs from 2.9.0 to 2.10.1 (#22607)
* FIX: Close modal after moving message to channel (#22601)
* FIX: incorrect selector in system specs (#22615)
* FIX: Don\'t show admin warnings about deleted translation overrides (#22614)
* DEV: Include details for Mailjet SMTP configs (#22613)
* FIX: redirects to browse after removing last followed (#22563)
* DEV: Further improve thread list query and add spec (#22610)
* FIX: created_at datetime format inconsistencies in chat (#22611)
* FIX: lightbox setup blocked due to waiting for first image load (#22612)
* FIX: add the required widget for admin-problems notification item (#22602)
* FEATURE: Let users collapse the topic inline summary (#22604)
* DEV: Update /locales/server.en.yml text for max_consecutive_replies. (#22603)
* DEV: move raw handlebars to /raw-templates/ (#22574)
* DEV: Add a test for api scope routes (#22597)
* FIX: ensures lightbox sends valid color to react-native (#22598)
* FEATURE: Extend the topics:read API scope to allow read by external_id (#22536)
* FIX: simplify channel threads lookup for pagination (#22596)
* DEV: Remove deprecated Reviewable#post_options method (#22595)
* FIX: Only use lastViewedTopic when going \'back\' to a topic list (#22594)
* DEV: Simplify qunit target selection (#22591)
* DEV: Move all scroll position reset/remember logic to a shared service (#22552)
* FIX: add tracked property for items in lightbox carousel (#22592)
* FIX: show only context menu on img long press (#22589)
* DEV: Improve ember-cli \'LOAD_PLUGINS\' behavior (#22590)
* Build(deps-dev): Bump AATTbabel/core in /app/assets/javascripts (#22578)
* FIX: Dismissing unread posts did not publish changes to other clients (#22584)
* FIX: prevent default event on touchend reaction (#22588)
* Build(deps-dev): Bump patch-package in /app/assets/javascripts (#22577)
* Build(deps-dev): Bump AATTbabel/standalone in /app/assets/javascripts (#22579)
* FIX: s/--border-radius-large)/--d-border-radius-large (#22587)
* FIX: prevents user to restore message deleted by staff (#22571)
* FEATURE: enable_public_channels site setting (#22565)
* FIX: Order tags shown in email subject by topics count and name (#22586)
* FEATURE: New Discourse Lightbox using Glimmer (#19798)
* DEV: Rename method PageObjects::Pages::Chat (#22583)
* DEV: Remove deprecated Category#url_with_id method (#22582)
* DEV: Fix reply to spec (#22581)
* DEV: Attempt to fix flaky chat system test (#22580)
* DEV: Add last_message_id to channel and thread (#22488)
* FIX: Render excerpt HTML for chat replies and edit (#22559)
* FIX: more performance improvement for PostAlert job (#22487)
* UX: Move group mentions notifications into the reply tab (#22562)
* Build(deps): Bump rspec-mocks from 3.12.5 to 3.12.6 (#22576)
* UX: fix icon warning position in sidebar modal (#22572)
* FIX: Display the whole summary when it consists of multiple tags. (#22568)
* Revert \"FIX: correctly respects full name settings in channel title (#22566)\" (#22569)
* FIX: correctly respects full name settings in channel title (#22566)
* DEV: make sure we don\'t load all data into memory when exporting chat messages (#22276)
* FIX: Always clear caches after committing the current transaction (#22550)
* FEATURE: Inline topic summary. Cached version accessible to everyone. (#22551)
* DEV: Update chat avatarUrl import to resolve deprecation (#22564)
* UX: more border-radius removal from chat (#22542)
* UX: z-index for for tippy box in chat (#22541)
* DEV: Automatically re-render widget when arguments change (#22548)
* DEV: Make capabilities available outside of application instance (#22516)
* DEV: Move avatar-utils into dedicated discourse-common module (#22517)
* WIP: threads list pagination (#22502)
* DEV: allow using CDN URL for all s3 uploads (#20755)
* DEV: Remove deprecated target_usernames param from PostsController#create (#22561)
* DEV: Fix flaky chat navigation specs on CI (#22560)
* Build(deps-dev): Bump patch-package from 7.0.0 to 7.0.1 in /app/assets/javascripts (#22557)
* Build(deps-dev): Bump terser from 5.18.2 to 5.19.0 in /app/assets/javascripts (#22558)
* Build(deps): Bump public_suffix from 5.0.1 to 5.0.3 (#22554)
* FIX: Chat thread race condition issues (#22533)
* Version bump to v3.0.5 (#22556)
* Version bump to v3.1.0.beta6 (#22555)
* SECURITY: limit amount of links in custom sidebar section (#22543)
* SECURITY: Don\'t reuse CSP nonce between requests (#22544)
* SECURITY: ensure topic is valid before updating category (#22545)
* SECURITY: ensure topic is valid before updating category (#22547)
* SECURITY: Don\'t reuse CSP nonce between requests (#22553)
* DEV: Refactor deprecation silencer (#22526)
* UX: Improve user tips (#22518)
* DEV: Add backwards-compatibility following i18n export change (#22540)
* CSS: Add background color to signin header (#22539)
* UX: double scroll fix for keyboard shortcuts modal (#22535)
* Update translations (#22538)
* Update translations (#22537)
* FIX: Conditionally hide `Add Alternate Email` button based on site setting (#22525)
* Build(deps): Bump semver from 5.7.1 to 5.7.2 in /app/assets/javascripts (#22530)
* DEV: Improve composer-messages implementation for PMs (#22529)
* DEV: Use documentation format for core specs on CI (#22531)
* UX: Remove section heading for community section (#22405)
* Build(deps): Bump semver from 6.3.0 to 6.3.1 (#22527)
* DEV: Fix flaky QUnit tests (#22528)
* DEV: invert pretty-text build logic (#22524)
* DEV: Remove header floats and clearfixes (#22523)
* FIX: Default parameter recipients to create new message via params must be a string (#22455)
* DEV: invert admin/wizard build logic (#22520)
* DEV: use explicit default export in I18n shim (#22519)
* FIX: Update remaining backup code count after creation (#22475)
* FEATURE: Show tooltip for bootstrap mode (#22257)
* UX: lower border radius for channel cards (#22513)
* UX: Fix margin for group label (#22510)
* UX: indicate main sidebar section is always public (#22492)
* DEV: fixes flakey due to unordered array (#22515)
* Remove border radius from chat (#22437)
* DEV: makes user-card-chat-button uses glimmer (#22496)
* DEV: makes chat modals use the new component (#22495)
* FIX: Ensure dialogs are still rendered if triggered during boot (#22511)
* UX: change z-index of thread resizer to be below emoji popup (#22505)
* UX: message creator spacing and sizing on mobile + fix text wrapping (#22508)
* DEV: Support rendering `` as a `